Update: Click here if you would like to try HyperCard yourself.

I was a Hypercard child - though our friendship was brief.

Our seventh-grade class was led into a room full of brand-new Macintosh Performas. The day's lesson was a crash course in the use of an uncomplicated yet marvelous program. With it, one might persuade a computer to do anything and everything - or so it seemed to a child with the attention span to appreciate the wonder. Half a dozen of us were invited back a week later; and then again, and again, for several delicious months.

Among these pupils, I was the only one who had already dabbled in programming. Compared to the familiar ROM BASIC of my family's second-hand Commodore 64, the HyperTalk language seemed clunky and comically verbose. And yet there was something magical, something oddly enthralling about Hypercard as a whole. The ease with which a mostly-blank screen could be turned into an interactive, living, breathing graphical toy of my own creation was astounding, exhilarating, and addictive.

After the final week, I and one other schoolboy were driven to a distant office building, where we were asked to present our unremarkable creations in front of a darkened lecture hall. The latter was full of somber-faced, suit-wearing adults idly tapping away on costly Apple portables. With their lukewarm applause, the adventure came to its rather boring end. Lacking true English fluency at the time, I never learned exactly who was behind this brief departure from the braindead routine of my early schooling. And without regular access to a Mac (given its expense, it may as well have been a Cray as far as my family was concerned) I could not return to this fascinating plaything. My development as a programmer continued as it had begun, almost entirely Mac-less and Hypercard-less.

Though almost unknown to the sniveling digital trendoids of today, HyperCard was and is one of the most loved software products ever created. It was quite possibly an inspiration for the World Wide Web. Among its satisfied users one could even find the rich and famous.

When Steve Jobs returned from exile to rule Apple again, he let HyperCard wither away and die. Why?

In order to answer this question, it is necessary to actually power up an old Mac (or an emulator) and try HyperCard on your own skin.

Even today, there is still a wealth of HyperCard-related material on the Net, but I was unable to find a compact "Hello World"-style walkthrough example. So I created one: a very basic "four function" calculator. The materials needed for this recipe were:

Basilisk A copy of HyperCard (Optional) A HyperTalk manual. I fished mine out of a dumpster when I was an undergraduate student. Around half an hour of time. Most of it was spent arranging the screenshots and writing their captions.

Without further delay:

Create a new HyperCard stack:

Now give it a name and save it:

Now you have a fresh stack, with a blank card:

Create a field:

Double-click on it and give it the title "lcd":

Re-size the field to reasonable dimensions:

Create a button:

Double-click on it and then click on the Script button in the properties dialog:

Below is the HyperTalk script that we will attach to the numeric and operator keys of our calculator. It does only one thing: append the text of the button's name - be it a number or an operator - to the calculator's "screen." The name is going to be something like card button "5". So if we want to append the number five when the "5" key is pressed, we will need to take last whitespace-delimited word of the button name -- "5" -- and perform an "eval" on it, yielding the number 5. The "value of" operator is simply the HyperTalk equivalent of Eval.

Save the button's script:

We will give each button the appropriate name:

Copy the button as many times as needed to create the calculator's numeric keys. There is no need to change the buttons' scripts, only their names.

Create the operator keys in the same way:

Now, we will need an Equals key. Create a new button:

Give it the name "=":

Now, let's give it its script. We will need to use HyperTalk's Eval again:

Now let's actually try using the calculator. Switch to HyperCard's "finger" operation:

Now enter an arithmetic expression which makes use of all four arithmetic functions, and click the "equals" key:

The result will appear:

This is a quite useless calculator without a "Clear" key. Let's add one:

The script for the "Clear" key:

There is nothing surprising about what the "Clear" key does:

We now have a very simple four-function calculator.

Having seen what you just saw, do you now know why Steve Jobs killed HyperCard?

Well, you probably don't. And I don't either. Obviously the man is dead and will tell no tales. But perhaps we can figure out the "why."

There are several known unofficial explanations, ranging from the entirely innocuous to the downright diabolical.

Does anyone really believe that Mr. Jobs genuinely “thought you could do everything in Cocoa and ProjectBuilder that you could do with HyperCard” ? He was far too intelligent a man to believe any such thing. One may as well say that you could do everything with a magnetized needle and a steady hand that you could do with a text editor. Or that you could do anything with Roman numerals that you could do with Arabic numerals. Or that you could do anything in INTERCAL that you could do in Common Lisp. And so forth. Jobs was almost certainly familiar with HyperCard and its capabilities. And he killed it anyway. Wouldn't you love to know why?

Here's a clue: Apple never again brought to market anything resembling HyperCard.

Despite frequent calls to do so. Despite a more-or-less guaranteed and lively market.

And I will cautiously predict that it never will again.

The reason for this is that HyperCard is an echo of a different world. One where the distinction between the "use" and "programming" of a computer has been weakened and awaits near-total erasure. A world where the personal computer is a mind-amplifier, and not merely an expensive video telephone. A world in which Apple's walled garden aesthetic has no place.

What you may not know is that Steve Jobs killed far greater things than HyperCard. He was almost certainly behind the death of SK8. And the Lisp Machine version of the Newton. And we may never learn what else. And Mr. Jobs had a perfectly logical reason to prune the Apple tree thus. He returned the company to its original vision: the personal computer as a consumer appliance, a black box enforcing a very traditional relationship between the vendor and the purchaser.

Jobs supposedly claimed that he intended his personal computer to be a "bicycle for the mind." But what he really sold us was a (fairly comfortable) train for the mind. A train which goes only where rails have been laid down, like any train, and can travel elsewhere only after rivers of sweat pour forth from armies of laborers. (Preferably in Cupertino.)

The Apple of Steve Jobs needed HyperCard-like products like the Monsanto Company needs a $100 home genetic-engineering set.

The Apple of today, lacking Steve Jobs -- probably needs a stake through the heart.

Either way, expect no HyperCard (or work-alikes) from Apple. But how about other vendors? What about open-source projects? Nothing there, either. Oh, there is no shortage of attempts. And all of them are failures for the same reason: they insist on being more capable, more complexity-laden than HyperCard. And thus, none of them can readily substitute for it.

And if you think that XCode, Python, Processing, or the shit soup of HTML/Javascript/CSS are any kind of substitute for HyperCard, then read this post again. And if you continue to think so, then you might be an autistic typical software "engineer," and please don't waste your time commenting here. Sink back into the cube farm hellpit from whence you came.

Otherwise, sit down and contemplate the fact that what has been built once could probably be built again.

1. Steve Jobs did not kill the Lisp Machine version of the Newton, but did kill the entire Newton project.

2. All of the comments pointing out that HyperCard was already obsolete when Steve Jobs killed it are missing the point. Jobs deliberately killed its community by refusing to maintain the product or even release the source. He could have released the source to the welcoming hands of tens of thousands of enthusiasts. All of the modern HyperCard clones (all of them substantially more complex and therefore inferior to the original) do not add up to a HyperCard community. It is an elementary "tower of Babel" situation. "Critical mass" in user communities is a well-known phenomenon. I am sure that it was not unknown to Jobs. What he truly succeeded in killing was not so much the basic concept of HyperCard but the community.

3. The various HyperCard clones and HyperCard-influenced software lack HyperCard's radical simplicity and the resulting explorability. Explorability of the "master of all you survey" variety matters. All of the extra features in a more feature-rich system like SuperCard (or even VB) are not harmless. There is a fundamental difference, especially for a child, between a system which you can fully wrap your mind around and one with countless mystery knobs.

4. Everybody pushing Javascript, Python, Wx/Qt, Cocoa, and other abominations as "HyperCard replacements" simply does not remember being a child. And/or lacks a creative bone in his body. And/or is a malicious idiot.

http://www.loper-os.org/?p=568&cpage=2#comment-1947