HyperCard had a fixed object hierarchy with fixed inheritance. It was all based on
message passing, thusly:
You have a stack of cards, on every cards there are text fields and buttons. A message (could be, for example MouseDown) is sent to an entity, for example a button: if the entity can handle it, the message is consumed. If the entity ignores the MouseDown, the message drills down to the card behind the button, the background of the card, the whole stack, a special "Home" stack, and eventually disappears into the bit bucket.
This idea nicely tied in the graphical representation of things with what really happens in the bowels of the system.
In HyperCard you can not create your object classes, so shared code usually ended up in the object "behind": so, if you had a set of your own special variation of radio buttons, the MouseDown, MouseUp and sundry methods for them would be hiding at the background or maybe the stack level.
HyperTalk, the HyperCard programming language, is recognizably the daddy of JavaScript. For those things
that you cannot do in HyperTalk (such as driving a serial port), there used to be a vast amount of object modules that you could add to your stack, thus practically extending the
language. If this sounds suspiciously similar to the current browser+Plug in WWW concept, it is because it is.
Reflection: why ain't nobody using HyperCard anymore ? And also, why didn't it explode on PCs the way it did on the Mac ?
Well, one reason was that at the beginning HyperCard did not do color, and kept not doing it for many many years. Integration with the rest of the system was bad, both on the UI level and on the API. Matter of fact, in the beginning HyperCard could do essentially everything inside itself and nothing at all on the outside, for example it could not spawn another program. Things changed later with AppleScript.
Also, a PC version was very very long in coming out.
Being interpreted, the system was not particurly fast, even though a lot of the time-consuming stuff was canned behaviour (like Visual Basic opening a dialog with one system call).
Why no HyperCard now ? It's the net, baby. The WWW ate HyperCard, and besides it was not an open standard.
Let me wrap this up with a Bill Atkinson quote: "Hypercard: it is a floor wax, it is a dessert topping, it came from hell and it is going back there as soon as I can make it."