Nov 7, 2023 | gga


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.

As a budding programmer, I was annoyed that 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. This was a pretty technical limitation: it probably prevented the community from meaningfully keeping it alive after Apple abandoned it. But it wasn’t the death of HyperCard.

HyperCard (and Apple of the time) are often criticised for not understanding 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. It should have evolved into the web; it should have been a part of the web. But it was already largely abandoned and dead by then.

What do I think really did it? Apple didn’t figure out how to make money off it. The company was months from bankruptcy. Cancelling HyperCard didn’t save the company, but it’s hard to argue with the logic. If you can’t make money off something it’s hard to keep it alive. Revenue is energy. Energy is sustaining.

In the decades since, open source and free software have shown there are other routes. Those other routes have challenges, too. But HyperCard had no routes.

This piece originally appeared on Giles Edwards-Alexander's personal blog, as HyperCard


Gain early access

Complete our brief survey to gain access to our beta launch and secure a discounted "Founder" price for life. Your feedback will help shape the future of Pandita and influence future product features.

Gain access