HyperCard was a piece of software bundled for free with original Macs in the late 80s and into the 90s. It’s probably my favourite piece of software, but very hard to define. It was all of: a database, a rapid application development framework, and a hypertext system — you know, like the web. It was probably the first widely available hypertext system, in fact.

There are lots of good articles about HyperCard. If you poke around enough, and have a Mac, you can probably even find a way to run it again. About a 1,000 times faster than I was able to run it on an SE/30.

But why do I still love it so much, what’s still worth replicating, 28 years later?

  • It didn’t worry about what kind of software it was, or which segment it filled. It didn’t constrain itself by what a database was supposed to be, or how application development was supposed to work.

  • There was only one HyperCard application, and with that application you only worked on stacks. A stack was both a HyperCard app you built, and an app you ran. There was no real difference, for your own stacks, between creating the stack and using it.

  • The concept was really straightforward. There was a stack of cards. For convenience, a card could be part of a background and share a bunch of elements, including code. Buttons and code could create new cards, and navigate between cards, just like screens or pages in another kind of app. Cards could also contain fields with data and you could refer to that data from code, just like records in a database. But you never had to worry about what it was similar to, you just worked with cards, backgrounds and stacks.

  • When you started using HyperCard you could start using stacks, without bothering with how to create them. You could then start editing stacks, and before you know it you’re creating your own stacks.

  • HyperTalk. A simple, easy to understand language. Little punctuation, mostly English words. Event based. Welcoming.

But where did HyperCard go wrong? Because it did. Badly.

  • You couldn’t make Mac apps in HyperCard, only stacks. There were certain things you just couldn’t do. You could write XCMDs or XFCNs, but these were written in C or Pascal, and completely outside of HyperCard. Even when doing this, your stack could not become an equal peer to the other apps on your Mac.

  • Apple couldn’t make money off it. If you can’t make money off something it’s impossible to keep it alive. Revenue is energy.

  • It didn’t understand networks. This is a bit unfair, as you could argue that until the discovery of the web no one really understood networks, properly. HyperCard pre-dated the web by about four years. But it should have evolved into the web. It should have been a part of the web, but it was already abandonware by then, tragically.