Why Hypercard Had to Die

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

Hypercard (version 2.4.1.) Home card.

Hypercard (version 2.4.1.) "Home" card.

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:

  1. Basilisk
  2. A copy of HyperCard
  3. (Optional) A HyperTalk manual. I fished mine out of a dumpster when I was an undergraduate student.
  4. 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.


Corrections and Edits:

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
This entry was written by Stanislav , posted on Tuesday November 29 2011 , filed under Distractions, Hot Air, NonLoper, Philosophy, Photo, ShouldersGiants, SoftwareArchaeology, SoftwareSucks . Bookmark the permalink . Post a comment below or leave a trackback: Trackback URL.

242 Responses to “Why Hypercard Had to Die”

  • [...] year, and it prompted our own Steve Sande to reminisce about his experience with HyperCard as well. Speculation about why HyperCard was left to wither and die is also out there, as is a brief chat with creator Bill Atkinson about his feelings towards his [...]

  • [...] year, and it prompted our own Steve Sande to reminisce about his experience with HyperCard as well. Speculation about why HyperCard was left to wither and die is also out there, as is a brief chat with creator Bill Atkinson about his feelings towards his [...]

  • [...] year, and it prompted our own Steve Sande to reminisce about his experience with HyperCard as well. Speculation about why HyperCard was left to wither and die is also out there, as is a brief chat with creator Bill Atkinson about his feelings towards his [...]

  • [...] year, and it prompted our own Steve Sande to reminisce about his experience with HyperCard as well. Speculation about why HyperCard was left to wither and die is also out there, as is a brief chat with creator Bill Atkinson about his feelings towards his [...]

  • [...] year, and it prompted our own Steve Sande to reminisce about his experience with HyperCard as well. Speculation about why HyperCard was left to wither and die is also out there, as is a brief chat with creator Bill Atkinson about his feelings towards his [...]

  • [...] year, and it prompted our own Steve Sande to reminisce about his experience with HyperCard as well. Speculation about why HyperCard was left to wither and die is also out there, as is a brief chat with creator Bill Atkinson about his feelings towards his [...]

  • [...] The Apple of Steve Jobs needed HyperCard-like products like the Monsanto Company needs a $100 home g… [...]

  • James Deering says:

    You may be interested in my Google+ community “SVG Web Design – Beyond HTML”
    I am releasing a step by step tutorial in using the “shit soup of HTML/Javascript/CSS” to emulate the core concepts of HyperCard.

    I think you will find it interesting.

  • Alexander The 1st says:

    Ah, Hypercard. I remember those days. On PC, IIRC.

    I’m reminded of how Flash (Pre-Actionscript 3) got me into my degree. The fact that I can make quick graphic objects with very light scripting was awesome…

    But I see your point about kitchen-sink-y alternatives to Hypercard.

    Though I have to ask, do you have a particular ordered list of how close they are to the ideal Hypercard solution? Perhaps along with criticisms?

  • General Vagueness says:

    When I 13 or 14 I learned BASIC, specifically QBASIC, and that was plenty graspable, in fact I wrote a calculator program a lot like this one when I was in junior high. Looking at the code you posted above, it looks straightforward, but it’s also not that clear what it does. The verbosity, at least for me, hurts the readability, and the use of “it” is, well, really vague. I thought the code for the = button was actually pretty funny– you’re taking something out and then putting it back in, what’s the point of that? Of course you explained that “the value of” evaluates an expression, and I probably could’ve figured it out, but a kid wouldn’t know that and probably wouldn’t have a basis for getting to the conclusion that’s what that does. I have no idea how someone who’s never programmed is supposed to come up with any of this besides the buttons. I also see a lot of buttons and controls and menus in the pictures above that you didn’t talk about– I’ve heard of HyperCard before and I’ve read up on it a little, but that’s it, so these are “mystery buttons” to me. In fact I still have no idea why all of this is called a card or it’s in a stack or what exactly that means or why it’s helpful or necessary (it was some time ago when I read up on it). The point is that even with this setup there’s a lot you’ll have to explain to someone not familiar with programming. Aside from the click-and-drag placement and sizing of things, and picking things from a list, it really doesn’t seem easier than other ways of doing this, and add-ons, extensions, IDEs, front-ends, and even whole dedicated programming languages are out there that make that possible now. I think either you picked a bad example or this was ahead of its time but not as revolutionary as you think.

  • Loved your article – as I was building the Austrian HyperCard Community 25 years ago. And I love your conclusion.

  • Infwiss says:

    After HyperCard came SuperCard and MetaCard. MetaCard became LiveCode and runs on OS X, Win, Linux, iOS and Anroid. Now, LiveCode should become OpenSource, but to start, some help is nedded. See here:
    http://www.kickstarter.com/projects/1755283828/open-source-edition-of-livecode

    By the way: old HyperCard Stacks can be converted to LiveCode and an old adventure could go on…

  • Alex says:

    LiveCode IS the new HyperCard

  • They want to completely rewrite the code so it can be taken care of by a community. This is really a dream come true – I hope it gets some of the old elegant simplicity mentioned in teh article.

  • [...] wirklich in die Lage versetzt hätte den Computer selbst als ihr Werkzeug in die Hand zu nehmen, zu verhindern. Was die Mac-Community in den ersten Jahren von HyperCard erlebt hatte, war ein unglaublicher [...]

  • Annetta Gaiman says:

    This was a really great article, other than the toxic bit calling people “autistic” near the end. :/ No ableism please.

    • Stanislav says:

      Dear Annetta Gaiman,

      Ephialtes says hello.

      I believe that sight is better than blindness, hearing is better than deafness, and intelligence is better than stupidity. And that better is better than worse. And, should you care to ask, I voted against Mr. Obama, and enjoyed every second of it.

      Now you are invited to go cry somewhere.

      Yours,
      -Stanislav

      • Khan says:

        You are right , intelligence is better than stupidity, and intelligence is what you seem to be totally lacking if you believe that autists are autists because they want to. Or maybe the blind are blind because they don’t want to see. Hopefully for you, stupidity is not fatal, and you may recover one day.

        Yours truly.
        Gengis Khan ( who says sissy white boy Ephialtes can go fuck himself )

  • Morgan says:

    Regarding releasing Hypercard’s source code you have to remember that many programs from that time were written in 68k assembly and sometimes the compilers had bugs to where they would run on OS versions up to a certain point and then wouldn’t compile on anything past that point.

    For example, Appleton (the author of World Builder) had to use a ResEdit hack to get his program to run on 32-bit clean systems in 32-bit mode as the version of the compiler he used had a bug and a later versions of the same compiler wouldn’t compile the code for some reason.

    Similarly, Bill Atkinson said that Hypercard had more assembly language than QuickDraw and that quickly became an update nightmare as shown by the how you wound up using XMCDs to get around many of the limitations of hypercard.

    Back when Copeland was still being planned an Apple representative explained to our local Mac Users Group that part of the problems was the System OS was filled with “black box” code that was the result of compiled code being patched after the fact–sometimes by code compiled in another language or worse via ResEdit.

    So in the old days you wound up with code that no one really knew what it did thanks to patches via long defunct compilers or undocumented tweeks with ResEdit. It is possible hypercard was in this state and required a full rewrite to go into the future (as Duke Nukeum Forever showed demos don’t mean anything).

    By the time Jobs came back no one wrote in 68K assembly anymore and if it like Wotld Builder was dependent on bugs in a particular compiler that no longer existed then releasing the code couldn’t have done anyone any good.

    • Stanislav says:

      Dear Morgan,

      These are good points, and they apply to a great many artifacts of that era. But the fact remains: Apple could have released whatever information might be helpful to those who wished to create a HyperCard-compatible system – format documentation, preserved code, etc. At the very least, they could have given legal blessing to the idea, instead of playing the “dog in the manger.”

      Yours,
      -Stanislav

      • Morgan says:

        Regarding Apple providing whatever information might be helpful to those who wished to create a HyperCard-compatible system that is historical revisionism.

        Supercard (1987) and MetaCard (1992) could both import Hypercard stacks so the format documentation, preserved code, etc were reasonably well known enough that a HyperCard-compatible system was able to be made BEFORE Jobs returned.

        Moreover the problems those programs had with XCMDs and XFNDs in stacks showed where the REAL issue with Hypercard was…it required ANOTHER programing language to really use (Pascal or C). Nevermind, Hypercard AppleGS and Mac stacks were totally incomparable with each other showing that they weren’t documents in the standard sense of the word.

        So you had a program that was badly spaghetti coded running stacks that more often then not were equally spaghetti coded. No, this was no “dog in the manger” but rather “Rube Goldberg doing programing while buzzed out of his mind on a LSD-Jolt Cola-beer cocktail.”

        The fact that Apple itself was effectively doing Hypercard 3.0 as little more then yet another extension of Quicktime shows that they basically considered the original code a lost cause

  • Vineel Shah says:

    I started using Hypercard in high school, when it was released, and throughout all 4 years of college studying computer science at NYU. It was beautiful, and powerful, and elegant, and was the fastest way to create desktop software. I still miss it — the tools of today are amazing for professional programmers, but really don’t address that middle ground.

    I think Steve killed it because it just didn’t fit in with his worldview. Apple didn’t really make money off of hypercard — Bill Atkinson actually made Sculley promise to not charge for it. (Apple eventually did at the ened of its lifecycle, but irrelevant..)

    Hypercard was a hobbyist tool for a hobbyist software community. Jobs needed the mac to have professional tools for hobbyist media communities — which was a good move for Apple’s business. More people are into video and websites than stacks.

    Releasing the code wouldn’t have been that useful either, though I wish he had. The code was super-optimized for ancient macs in 2-bit color, crazy old processors, and thimbelfuls of memory. Trying to make it run on modern hardware would have required a total rewrite. It makes me sad that none of the rewrites have done well, though.

    Thanks for this walk down memory lane. HC was an oldy but goody.

    • Morgan says:

      IMHO by the time Steve came back Hypercard had become so badly spaghetti coded that he was basically performing a mercy killing; technically version 2.0 (1990) was even LESS of a upgrade then System 8.0 was over 7.x. In fact the debugger as well as stack dependent XCMDs and XFCNs kludges to allow color and video to work had to wait until version 2.2

      I should point out Hypercard was only free with a new Mac, otherwise you payed $50.00 for it. The problem is that it was the stacks that really separated the free and commercial versions so it was insanely easy to access Hypercard’s full power without paying or messing around with the application itself.

      If you look at what Jobs also got rid of (Newton, Cyberdog, and OpenDoc) it seems that he was focused on putting wasteful and ultimately dead end project out of their and everybody’s else’s misery.

  • [...] a recent episode of my favorite podcast–Hypercritical–John Siracusa talks about the death of HyperCard. HyperCard was an application on early MacOS that let you make your own programs, or stacks, via [...]

  • [...] years of HyperCard ► Why HyperCard had to die ► Like this:Like [...]

  • Paul Flockhart says:

    Excellent article. This expresses my own feelings about HyperCard and the wilful neglect from Jobs. Simply releasing what code there was and giving his blessing to open source development would have been a magnanimous act.

    It seems to me that as apple have grown so their relationship to their user base has changed from the status of valued and enthusiastic partners to straight out the box consumers.

    I cannot think of a single comparable piece of software that was so loved and supported for so many years and embraced so enthusiastically for its simplicity, accessibility and usability – that was allowed to die. Make no bones about it – Jobs killed HyperCard as blatantly as putting kittens in a bag and throwing them into a canal and then denying culpability.

    Whatever HyperCard’s imagined limitations its ability to open up programming to novices and enthusiasts remains unsurpassed its potential for creativity was unfulfilled .

    Interestingly it was an article about another accessible rout to programming that led me to this page. A big move in education as of today …….

    “Lorna and her classmates, who range in age from 4 to 7, are taking part in a pilot study here at Tufts University in Medford, Massachusetts, to see how young ScratchJr, a spin-off of the Scratch programming language. Scratch was invented to teach students as young as 8 how to program using graphical blocks instead of text. Now even children who haven’t yet learned to read or write are getting in on the act.”

    “Tools like Scratch aim to address what their developers see as a lack of computer programming instruction in schools today.”

    HyperCard was the answer to that problem .

    Apple continue to produce excellent product but they are evolving into another Microsoft. Steve Jobs saved “his” company but Apple should remember that it’s fan base kept it breathing until jobs performed CPR

    I remember the sheer fun of having the opportunity to actually put together working program’s in HC.
    From stacks to automate school reporting to an Alphabet Stack for my daughter incorporating a full colour paint program and spelling and number games. Great Fun.

    Your article is spot on, as is your conclusion.

    Paul Flockhart

  • Steve Jobs had been clear that he took decisions considering if the present day were the last to be lived fully then what must be achieved for fulfillment. Unfortunately during his exile from Apple the Web had already happened, so after returning he had to let go of Apple’s side of hyperstuff for the Webkits for keeping integral vision ahead for Apple’s developers.
    He just declared, & had he been around the HyperCard certainly would have given tough time to HTML. HTML5 has audio & video objects & browsers have pdf flash plug-ins, all ripped-off from the basic notion of hypercards..

  • What a great article! It captures exactly the feeling I had with HyperCard. Oh how could HyperCard be the iPad killer app! Thanks for this article.

  • [...] shows the slightest bit of wear after which it will immediately look tacky and dated.2 Apple, since Steve Jobs killed hypercard, has been on a long path towards moving computers from useful tools into consumption devices not [...]

  • Erik says:

    I think there may be a present-day tool vaguely like HyperCard in a completely different domain: RPG Maker.

    RPG Maker has some of that magical feeling where a beginner can grab it and start whacking out a game using a hundred premade high-level objects and functions that allow for low-level tinkering, while never requiring it, as I understand to be some of the problem with the shit soup.

    If I’m mostly focused on the story, I can toss in the generic Fighter and Mage characters, and RPG Maker will supply default names, portraits, and skills for these characters. If I want to edit any of these, or create my own characters from scratch, I can. If I want to make them change during the course of the game, I can do that too.

    If I want to place a treasure chest (one of the most common events in your typical RPG), I can. But the “treasure chest” in RPG Maker is a composite of icons, script, and numbers that can be edited so that the treasure chest might contain more or less gold, refill itself over time, disappear on being opened, or use slightly different graphics, and each of these can be modified separately by me without my having to concern myself with the others – or I can concern myself with exactly none of them, and place a treasure chest containing a healing potion in mere seconds.

    Perhaps I’m on a tangent now, but I find it very good that the Easy-Bake Treasure Chest isn’t a hard-coded, special doodad for use by idiots, but is a normal doodad of the sort one might make if creating a treasure chest out of regular code events, and when analyzed, breaks down into the usual modular components.

  • [...] The Apple of Steve Jobs needed HyperCard-like products like the Monsanto Company needs a $100 home g… [...]

  • Faraday says:

    I use and program HyperCard on a daily basis on my Macintosh with native Mac OS 9.2. There is no replacement. I have tried them all. In an effort to move past hypercard, I taught myself JavaScript, HTML, CSS and RE. I even made a stack that converts a card into an HTML page. The beauty of HyperCard is that it can be programmed to convert itself. My converter even translate HyperTalk into JavaScript. The calculator example you made is an easy translation that works out of the box. HyperCard would have been dead if it continued to evolve. HyperCard is still alive on my Machines!

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">