Why Hypercard Had to Die
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."
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.
May 2020 Update: Seems like many readers continue to miss the essential point, just as they did in 2011. Hypercard wasn't a gem of graphic design (1-bit colour, plain line graphics) or of programming language design (one of the many laughable attempts at "natural language programming") or of high-performance number crunching... but it was simple. I.e., the entire system was fully covered by ~100 pages of printed manual. It fit in one's head. (And did not take 20 years to fit-in-head, either, an intelligent child could become "master of all he surveys" in a week or two.) Where is the printed manual for the current MS VB, or the WWW's HTML/JS/CSS/etc stack (yes including all browser warts), or for any of the other proposed "replacements" ? How many trees would have to be killed to print such a manual, and would it fit in your house? Could you read it cover to cover, or would you die of old age first?
Indeed! I was an AVID hypercard prgrammer, making interactive exhibits with a large pile of Mac ]['s; thanks very much to a grant from Apple.
Before there was a web, I wrote my own hypertext systems on top of HC. I rolled my own PIMs and project mgmt tools, and made endless "one card idea" like your very nice calculator demo.
To this day, the simple object oriented programming model and natural language behind the common graphical UI components remains unbeaten. Everything else just solves part of the problem, leaving you with more to learn before anything can really be called done and usuable.
It was killed because Hypercard on an iPod is all you would ever need to buy.
How do you spell APP Store killer? HYPERCARD.
While I'm not a Hypercard fan, I have to agree with you on the point of "train" vs "bicycle". Jobs made it clear that there was to be total control over the Apple experience and to hell with creativity that didn't conform with Jobs' vision. Something as simple as Hypercard, especially on an iOS device, would give users too much control over their computers.
You are forgetting Apple Script Studio
http://oreilly.com/pub/a/mac/2002/02/01/applescript_macosx.html
I was one of the biggest HyperCard fans in existence, and I own a copy of LiveCode as well. I can tell you it's a lot of fun to "program" in LiveCode, kinda reminds me of the good old HyperCard days, wooooooo!
With that Said, when it comes to programming for iOS, LiveCode doesn't cut the mustard, interface elements just don't work right, and you are pretty much forced to use 3rd party plugIns adding complexity and pop-ups to any final application. For me, Corona is the way to program on iOS. It's not HyperCard, but it's easy to understand like HyperTalk was. Now I have discovered Corona, there is no going back to LiveCode. Corona Rocks!
I also was introduced to hypercard at about the same age, on Mac Performas in our new computer lab at school. All of us in 8th(?) grade had a year long class lead by a pretty good instructor.
As the ending assignment of this class, each and every one of the kids had to create their own application. There were the typical recipe collections and static storyboard type things, but there were also some really interesting programs created. A friend and I collaborated to create an instant messaging like system that used the LAN. Someone else made a music player that let you draw the notes on the screen, there were several games of varying quality, that I'm sure I am forgetting plenty of great stuff.
This was a random selection of average kids, and we were *all* making the computer do things it couldn't do before we sat down. We were learning how to define the rules of what a computer could do for ourselves.
If had you told any of us kids about a system where all the software came prepackaged and was regulated by some corporate app store approval process, we all would have all thought you were talking about some old ancient mainframe system. that type of thing was in the past, we could clearly see that in the future anybody could just easily make some software anytime they needed it.
WTF happened? Why has the most powerful tool man ever created become something that is spoon fed to the ignorant masses by a massively profitable corporation? And what the hell is going through the minds of those who celebrate and practically worship Steve Jobs, a man who single handedly created a corporate empire that may ensure the days of freedom I glimpsed as a kid will never come to pass? This man took a small company creating amazing products empowered humans in exciting new ways and turned it into a corporate monstrosity supporting an entire ecosystem of products and marketing that encourages and profits from the ignorance of it's users.
This is one thing that bugs me about most of the mainstream new Linux desktop environments (e.g. Unity, but GNOME and KDE do this, too). They take the best command-line interface in the world, and hide it in an obscure menu, rather than showcasing it. All because professional programmers think users are dumber than they actually are.
I pine for a serious computers-as-an-extension-of-the-mind revival.
No, People are that dumb.... ever watch judge judy?
Computers will always be an extension of the mind for those that want them to be. For most people, however, they are a utility or "train ride". Programmers never underestimate the intelligence of their user base. They constantly work to accommodate the dumbest of the dumb. It's no coincidence that these "dumb" environments have mass appeal and success. Hypercard has it's niche, curious children, hobbyists, prototyping perhaps, but most people don't want to program. It's great to encourage creativity with tools like this, but let's be real. For most it would be like buying an iPad for a dog.
Yeah, try yakuake or guake for gnome/kde and you'll never have to worry about where the terminal is in the menu, sessions are awesome and they hide easily. Anyone with a clue would know that the cli isn't hidden and that the cli is not for everyone, where they put it is natural. Though gnome does need more of a clue and put it back on the desktop context menu.
If there is enough reward in it, some programmer will replicate and refine what Hypercard was into a potentially slicker and more aware product.
A lot of connectivity and resources have appeared since I first used HyperCard (How about SuperCard, too).
> If there is enough reward in it, some programmer will replicate and refine
> what Hypercard was into a potentially slicker and more aware product.
Ha ha, calling Dan Gelder...
It's remarkable at how close using SVG+CSS+Javascript is to your example.
Doing a four-function calculator in it would be very close to what you showed above in terms of the amount of code and its structure.
I have done this professionally to create interactive mock-ups of aircraft instruments, and military displays quite effectively.
Dear Paul Wujek,
So close, and yet so far. Lines of code are irrelevant. What is relevant here is whether a child could stumble upon a working solution through the kind of exploration intelligent children are fond of. And not whether or how efficiently a professional programmer could do it.
Have you ever heard of the concept of "explorability"? A system like Hypercard shows you the "knobs" - just about all of them are in plain view and can be tinkered with. The HyperTalk manual is ~100 pages long. How much paper would you need to describe the SVG+CSS+Javascript shit soup (even for just one browser) in its entirety? This actually matters.
Yours,
-Stanislav
The point is not that it's the same thing. You'd still need to write Hypercard, of course. It would simply use HTML as the drawing engine instead of the Mac toolkit, which would make it about 100 times easier for someone to write.
In the 1970's, Hypercard was inconceivable: even if you knew exactly what it was, it would take far, far too much effort to build on the computers of the day. In the 1980's, Hypercard was a brilliant idea, and within the realm of possibility for a small team of great programmers to build in a couple years. In the 2010's, all the pieces of Hypercard are sitting on everybody's computer, heck, on everybody's telephone, so the technical problems are all virtually solved, and somebody just has to glue them all together and add the human touch.
Actually, what's surprisingly close is something completely different: unity.
Dear Alex,
All the pieces of the world's greatest statue are sitting inside a granite mountain. Somebody just has to come and chip away all the extra granite, adding the human touch. The technical problems are all virtually solved!
Yours,
-Stanislav
I worked for MicroAPL on the port to PowerPC of Hypercard for Apple, and I'm still amazed at how capable that product was. They built a test suite as a hypercard stack so that it was self testing. The original 680x0 version generated assembler on the fly and executed it to speed up stack execution.
It really is a shame that some equivalent isn't available as a tool for both educators and education.
Great article. Easy-to-use programming is what drove me into computers in high school. Apple has built a consumer platform, but it has not encouraged the democratization of application creation. Ironically, this is what is driving SharePoint in the enterprise with its "no-code" programming. The sad thing is, Apple could blow Microsoft out of the water in this respect if it created an easy to use consumer version of XCode. It's odd to me, because in other areas, like video editing, Apple has made powerful creation tools easy to use.
I agree the landscape is bleak here. I don't see the juggernaut of Javascript junkies at Adobe doing anything but their complex Flash replacements.
Thus from someone who thinks that ROM BASIC and HyperTalk were the highest evolution of programming languages. Someone with his head so far up the pipechase of 1970s information theory and its bloated, Engelbartian sense that software ought to be commanded rather than described that he somehow believes that _Hypertalk_, rather than Python or Ruby or any of the several other open-source, human-oriented languages that Apple actively supports, somehow represented the apex of computer science.
In short, sir, you sound like a rube. And as much as you may protest that there was something inimitable or excellent about HyperTalk worth preserving, nothing's stopping you from creating a HyperTalk-like programming environment for some other platform.
But probably you're just another 21st century Luddite, cursing the lamp instead of the dark.
Dear HGS,
Actually, I hate Hypertalk. "Natural" language programming is a dead end. You have misunderstood the point of this piece entirely.
I invite you to read some of my other articles and re-think some of the foolish things you have said.
Yours,
-Stanislav
In short, sir, you sound like a genius operating under a flashlight held by cavemen.
We're all crew. Let's find a way to get the hell out of here and follow the sunbeam that hit us from 1987-1998.
Perhaps you may know-- LiveCode (RunRev.com) is an alaborate extension of xTalk, and can build executables for all modern platforms including iOS and Android. It has a great interactive GUI IDE, and is pretty easy for old HC'ers to pick up and tart using right away.
And in case readers don't realize... Bill Atkinson can be found here:
http://www.billatkinson.com/
He is doing something called "photocard", enjoy!'
Long live HyperCard!
I think your suspicions about why HyperCard was killed are probably on the mark. That being said, I have to disagree with your overall assessment of HyperCard vs traditional, general-purpose programming languages. I haven't used HyperCard, so I can't judge it too properly, but your example above strongly resembles many other tools, such as Visual Basic, which I have had the "opportunity" to use in the past.
My assessment of these tools is that they are terrific for a particular audience. They do indeed open up the computer for exploration in ways not readily available to the average user. They do a wonderful job of putting 80% of the programmability of the system easily within reach of most users. However, that last 20% can often provide as much frustration as the first 80% did joy once the user decides to embark on a non-trivial application.
I think these types of tools have a place, but in my opinion they are no replacement for a text editor and a few years of study in a general purpose PL if you plan on building a large-scale or highly sophisticated application.
I think it's both sad and revealing that several HyperCard-inspired projects have come to life and been widely ignored by the world at large. The people who could benefit from them aren't capable of contributing to them, and the people who could contribute find them too restrictive or uninteresting. The people I've seen who are most attracted to these systems seem to be educator types who see them as a stepping stone to understanding general programming concepts. I think that's probably a reasonable assessment.
I'm sure one can accomplish wonderful things with HyperCard (or one of its clones). I'm far less convinced that they will ever be a replacement for the traditional programming environment. They will continue to languish with other technologies that get you "most of the way" there, like voice-recognition, OCR, AI, etc. It turns out that the last 20% is often the most important.
You just described Lingo, the (earlier) scripting language in macromedia (adobe) director.
A major benefit of HyperCard was that anyone with expertise in some field could write their own software to assist them in that specific field, rather than having to hire a programmer. Performance, efficiency, interface, blah blah blah were basically irrelevant to the project, since only one person would be using it for one particular set of activities.
Dear egr,
>...anyone with expertise in some field could write their own software to assist them... rather than having to hire a programmer.
Exactly.
So few people understand that the logic of the cube farm is simply not relevant to a person creating software for his own needs.
Yours,
-Stanislav
Wasn't Myst (you know, the 3d point and click adventure that became the "killer app" for CD-ROM drives) just a Hypercard stack?
Don't forget the 'computer user' context of the time Hypercard came out: the computer-computer user relationship was still under development then. Steve Jobs had convinced Wolzniak to forget the idea of having multiple expansion slots in a computer (so that geeks could 'add things') only a few years before, for sure a defining moment in the creation of the 'user playpen' that is the norm today, but the door was not yet closed to leaving the OS itself open to 'tinkering'. Hypercard was basically the Mac's Visual Basic until Jobs' return and his (NeXTish) OS X became the norm. I'm sure that the 'user playpen' idea was born (and concretized) during Jobs' NeXT years, and for sure I can imagine Jobs' 'closed user experience' idea being a strong argument to Apple boardmembers and investors alike as a reason for his return.
I like this article because it points out quite clearly the (ever-increasing) gap between 'user methods' and 'geek methods'. If we want to make a handy widget for mac OS X today, we have almost no choice but to 'go hardcore' and download the Developer SDK, or even worse, re-invent the wheel and write/compile the software ourselves, but only after learning a 'real' programming language.
I can only refer everyone to smalltalk which inspired HyperCard and in turn was inspired by it in its latest incarnation: squeak.
http://www.squeak.org
and a nice (to toot my own horn) set of youtube tutorials introducing it:
http://www.youtube.com/playlist?list=PL6601A198DF14788D&feature=view_all
see also: scratch and etoys.
I miss Hypercard terribly. Since I didn't have a Mac I could only use it at Uni and then once I finally could afford a Mac, Hypercard was no longer available. It's almost worth finding a Mac OS 7 computer just to use it.
Seriously, Hypercard was a programming environment that non-programmers could use. It turned every day users into programmers without them knowing it. It really could have bridged the gap between users and programmers. Looks like it's just a pipe dream now.
I used Hypercard extensively and like everyone else, I was disappointed when it was ditched. But I found a tool that (to me) is a great replacement: RealStudio. Sure, it's bigger, not free, and it's more complicated, but it DOES allow you to build simple apps without too much programming knowledge. And contrary to Hypercard, it has the depth to bring you farther should you need to make more complex applications.
I use RealBasic in my business and we have several custom made applications. Without them, I don't know what we would do.
So for all the Hypercard lovers, I think it's worth a look! http://www.realstudio.com
(I have no affiliation with RealSoftware)
I did my final year degree project in Hypercard back in 1992.
At the time it was a fantastic tool for creating a database with a user friendly front-end.
The project was a Database of Literary Criticism.
So I cut my developer teeth on this product.
You're right on the reasons Apple didn't need Hypercard.
But now there is one thing similar to Hypercard, it's Google App Inventor. Google pulled off the project but MIT will back it and it has about 100.000 users.
looks like visual basic. lots of real vb apps in use and development out there. score one for windows!
I loved hypercard too. I made a lot of stacks, had several books on the subject, etc… It was great for those of us who are into it. But the quality of the software that resulted was low, the environment was extremely limited, it was kind of like other easy to use languages, such as BASIC. (Please, I mean no offense I liked BASIC too, I really did.) I am a geeky type 'computer guy'. Sounds like we have that in common. Apple is more about reaching everyone than appealing only to the geeky ones.
But I think Jobs saw that it was a dead end. And it's absolutely 100% correct that there is NOTHING stopping you from rewriting HyperCard. Just because many have tried. If you are sure it should be continued, then do it. It's beyond pathetic to think that Apple should have to continue doing it just because a few die-hard users would like it. That is more the mindset of the Apple of the 90's.
Personally, I am glad we are beyond that. And, please stop with the utter lunacy of thinking that the Apple store is some Orwellian structure that is preventing anyone from publishing fine quality iOS software. So long as you are not subverting the iPhone in some way, I seriously doubt they would have any problem hosting your software or selling it for you for a small cut. Anyone can make the big time with this model, I find it quite the opposite of what you are describing. They have already paid out billions to developers for (practically) every imaginable type of software. They have some policies of not supporting adult oriented software, etc… that a lot of people disagree with. But, if you are really into that and can't get enough, there is always Android.
The answer is on the very first printscreen (C) 1987-1998. By 1998 HyperCard was redundant.. but the idea lived on in WebObjects
But there is a commercial replacement for HyperCard called SuperCard that supports a *bunch* of things HyperCard never handled. In fact, I'm in the process of updating my SuperCard to the latest version so that it can run on Lion.
Hypercard was awesome. I loved it. Comparing Hypercard to Visual Basic is like comparing a box of legos to a .... I dunno, something hard and creativity stifling.
Hypercard in not a development environment that will only get you "most of the way." I used Hypercard at Grumman Aircraft to write a complete financial matrix management information system circa 1990. One of the really nice features of Hypercard was that the programmer could write self-writing code. The departmental hierarchy at Grumman was so fast that it was guaranteed to change on a weekly basis, and I wrote the MIS to rebuild itself, including creating itself from scratch, with the click of a button. But I cannot believe that I have just scanned this entire dialog and not see the word "Toolbook" even once. Toolbook is the PC clone for Hypercard, is basically identical, and is still around.
Thanks for the post. I also enjoyed BASIC on Atari 800, HyperCard and then Authorware, Director and HyperWire (briefly). I was encouraged by Google's re-packaging of MIT's visual icon programming tool last year, but now it seems that project will be shut down too.
(I'd be re-posting this around my work via Yammer, if the end of the post wasn't quite so harsh.)
Looking at Hypercard now it resembles Filemaker, did anyone see that similarity. The look and feel and even creating the stack.
This brings back lots of memories...
Its ashame Hypercard got lost in the sauce but maybe it will make a comeback in another form
Steve Jobs didn't kill the "Lisp Machine version of the Newton." That happened before the MessagePad 110 even shipped, years before Steve Jobs' return. I worked on the final incarnation, along with mikel evans and Matthew Maclaurin, a last-ditch effort to prove the concept while the rest of the team was building NewtonScript and everything else in languages other than Dylan. My understanding though (and I had left Apple by the time this happened) was that Steve did kill the Newton itself.
[...] Loper OS » Why Hypercard Had to Die [...]
NeXTsTeP (or however the capitalization is supposed to work 😉 did very much what Hypercard did, letting you build objects and interfaces and drag and drop them into the cool stuff you were building. I don't know how much of that carried over into current Mac tools, and maybe it's enough heavier than Hypercard that you don't think of it as the same thing, but Steve certainly didn't hate having people build things.
That's funny. I also got started on a Commodore 64. When they closed my elementary when I would have gone to 4th grade, I picked the school I'd go to because they had a computer! (...That they scrapped before I got there.) When I got to Jr. High, they had these Apple computers, that kids from wealthier elementaries got to use - and they played games on. I vaguely remember hypercard from seeing one of those kids using it.
Now I'm the software developer and all of those other kids are car salesmen or something. And I've never really liked Apple stuff, though I totally forgot why until you brought it up. Cause, you know, Apple stuff is for playing games on (or music, or video). And that's kind of the way Jobs wanted it.
Stating that the HTML/Browser tree is inferior to Hypercard is like stating that an old Bentley that doesn't work and for which you can't get parts without a custom engine shop is "effective transportation". Hypercard WAS engineered better.
But I have also done "hypercard-like programming" for years with toolsets such as tk/tcl and wxwidgets, etc. Or *gulp* even with lowly old css and an HTML form-- shaped to look like the calculator or whatever. With moderate javascript in the background to make it all work purty.
Enter jquery, mootools, prototype, and their associated libraries. Controlled by no one corporate entity, used by everyone on all platforms. Making anything remotely "hypercard like--> one company, proprietary coolness--< more likely dead dead dead.
Apps created in HyperCard were always second class citizens; Even the relatively few that were expertly scripted still didn't quite feel right.
And the large number of really crappy stacks, created by people who barely knew what they were doing, reflected poorly on the Macintosh.
Nevertheless, Hypercard was a marvelous thing, and I mourn its loss. It was a wonderful way to introduce people to programming, and I found it to be incredibly useful for creating personalized utilities.
Greetings,
I'm the founder of iHUG, the *FIRST* occurrence of all things starting with the small letter "i" from Apple. Yes, Steve Jobs did *not* come up with the idea of putting an "i" before a word to come up with a product or service. I did. However, he's a richer dude in the grave than I'll ever be . . .
The first HyperCard User Group,(HUG) was founded by Apple employees. As one such uesr group member and Apple employee, I soon took the rains of HUG.
HyperCard's popularity grew internationally and I was invited to other nations to talk all things HyperCard.
So, I founded iHUG, the International HyperCard User Group, and it was sponsored by Apple, unofficially.
I (well, Apple) had the most extensive collection of HyperCard stacks on the planet.
Thing is, though, the Internet didn't exist then. Neither did easy burning of CDs. We (Apple) had a $30k CD burner. I could burn a few CDs from time to time & send them overseas to other Apple sites for use in local User Groups.
Yes, I know why HyperCard was allowed to "die". With all respect to Mr. Jobs, HyperCard was considered a cancer and was put through executive nuclear-chemo therapy.
Yes, we still need a tool as easy to use as HyperCard.
It's that simple. Really.
I don't know if it was actually the case, but I agree that the reason you present could be the reason hypercard was killed. It should be noted that one of the original programmers for the Mac came from a Smalltalk background and tried to incorporate Smalltalk like ideas into the finder. I don't recall the reason he said they moved away from but it could be the same as what you say here. Smalltalk really embodied the notion of removing the barrier between user and machine.
Hypercard was actually a good representation of the ideals of the early Apple. It made programming so simple that anyone could do it. The two Steves both wanted to make computing accessible to everyone.
When I was a kid only the geeks took computer class at school. In order to draw little shapes on the screen you had to learn assembler.
Hypercard changed that. Even the kids who struggled in school were were making stacks and they were doing it in biology class, geography class and english class. You didn't have to take "computer science" anymore to learn how to use a computer to create.
But all that changed. A society filled with empowered individuals using low cost tools doesn't feed the establishment.
Apple kept their focus on the end user at a time when computer owners were few and far between. The establishment knew better. They went to the top of the hierarchy. They sold solutions that allowed managers to maintain control over users. They convinced school superintendents with similar arguments and told parents that their kids needed to be learning "business tools".
Recently the App Store has enabled individuals to market their wares, but the sheer number of apps has led the general public to seek familiar, aka corporate, names.
----
OpenDoc could never have worked out. Before everyone had access to the internet a document centric OS wouldn't have been practical. The only way to sell software in the 20th century was to bundle dozens of features into a single package that was complete enough and expensive enough to justify shipping to retail stores. A document centric model where each tool is purchased separately just wouldn't have succeeded. Today the distribution system exists and people have shown willingness to buy hundreds of little apps, many of them with very limited features. However, I don't think a document centric operating system would be accepted even if a big name like Apple brought one out. The app centric one has been around too long.
I used to have so much fun with HyperCard. Almost inspired me to pursue programming as a career but ended up in art school.
have you tried labview?
http://www.ni.com/labview/
Dear devin,
Yes. It was a misery.
And I’m not particularly attached to the ideas of “visual programming” or “natural” language. HyperCard is interesting because of simplicity and explorability.
Like Lego.
Yours,
-Stanislav
I have been programming since 1970, and I recall hypercard quite well. A likely reason for it's death is simple that most people do not want to program, and have no desire for programming. While I enjoy programming, and have been at it for quite some time, most people are looking for something they can use, not something they can use to make something they can use. Mr. Jobs, trying to build a business probably saw little potential of a mass market for it, and chose to put his efforts into something that could be sold in large quantities.
Or, another way of looking at it, most people get on a train to go somewhere, not because they really want to lay track, which explains the shortage of track laying machines in yard sales, and the demise of HyperCard.
Dear David Stevens,
To build on your analogy, I would say that HyperCard was not an amateur track laying machine. It was a teleporter. A small and finicky one which ought not to be trusted with anything bigger than a loaf of bread, but one which nevertheless threatened to displace railroads one day.
It is not enough to point out that Jobs knew that he could not build a gigantic mass market for HyperCard. It is necessary to explain why he decided to spit in the face of tens of thousands of fanatical users by failing to release the source and strangling it permanently.
Yours,
-Stanislav
This is not so much Steve Job's personal decision but Apple's long standing corporate policy. Despite having a number of open source contributions, and even the basis of OS X, they don't release the source for anything they consider 'valuable'.
I seem to recall long ago similar frustrations from ResEdit users who were suffering the same fate as Hypercard. ResEdit 2 had been around for years with no real update until it died with system 9.
When at the 2006 WWDC an attendee actually put the question of open sourcing axed software to one of the apple engineers at a session. To very very loosely reconstruct his reply: 'Apple is not in the business of automatically releasing the source code to applications it discontinues. Just because it's no longer sold or maintained does not mean Apple does not value the intellectual property of the internals of the software.'
My translation of this was:
1) 'These apps may hold code and concepts in them that we may one day wish to port to future unrelated projects'.
2) 'We don't want to potentially share how we make stuff with our competitors'.
Whether they are valid in in their point of view or not is another debate. But in terms of understanding how they think, or at least how part of the company thinks, I thought it was worth relating here.
Check Rebol, not same as Hypercard or even close but you might like it. Too bad it's not opensource 🙁
Dear Anon,
I have looked at Rebol and found it interesting.
But it is doomed to obscurity, mainly for the reason you mentioned.
It is not necessary for a programming system to be open source in order to amass a cult following among thinking people. But it does need to be extensively and pleasantly programmable. Consider, for instance, Mathematica.
Yours,
-Stanislav
Still have my User's Guide and Scripting beginner's manual from which I taught myself the first and only programming language I know.
Went on to teach class after class of 6th and 7th graders how to make stacks with buttons and animations and transitions and clicks and beeps and all kinds of wonderful stuff long before Powerpoint polluted the classrooms. Once the kids got down how to make a button.... the rest was addictive.
God I miss it.
We just downsized our household of 21 years - but I couldn't toss those spiral bound manuals with the rainbow apples in the corner.
thanx for the memory refresh!
I also was an early Hypercard enthusiast — I made loads of stacks for my own use, and collaborated with Glen Bledsoe on his Gutenberg Reader stack, which had fairly wide freeware distribution. I continued to use HC for all kinds of things, but primarily for my psychiatric practice, and developed a stack that allowed me to enter and print clinical notes, keep track of medications, write prescriptions, etc. I migrated to LiveCode (used to be Runtime Revolution), which is the most robust commercial descendant of HC, and continue to use it daily. My stack system now is a complete practice management tool, without which I could not function efficiently in my practice, with 45 substacks and over 30,000 lines of scripting developed over 20 years.
Say what you will about the verbosity of the scripting language, it is intuitive and very easy to use, with a manageable learning curve. As others have pointed out, its value is in allowing non-IT people to craft their own "applications," based on the actual needs of the user. I literally can debug, tweak, and add features in between patients, which has let me customize things so they work the way I need them to. An IT developer who knows nothing about the day-to-day needs of managing a practice would never come up with anything remotely as useful — I know, I have seen what's out there commercially. They're designed the way IT people think, not the way I think. No reflection on the expertise of the programmers, they know lots more than I do about getting computers to jump through hoops, but no programmer can possibly know all the ins and outs of what I need to do at the necessary level of detail.
It's the do-it-yourself aspect of HC that made it uniquely useful as a tool for real people doing myriads of (non-IT) jobs. Its descendants, LiveCode, Supercard, Metacard, etc., carry on the tradition.
When Hypercard came out I was all in. I learned how to take advantage of all of its features and I could write some impressive scripts. I mostly used it for rapid prototyping of interfaces and to assist in presentations. I was disappointed when it was killed off. My take on its demise was that Steve Jobs was trimming Apple to its core business and Hypercard wasn't part of the new vision. The web browsers were born from it and had taken on a life of its own; there was no where for Hypercard to go. However, I still see a need for its capabilities and that is in e-books, which the iPad has opened as a possibility. Current publishing standards for e-books doesn't permit the full possibilities -- the integration of animation, movies, sound, and so forth -- in an easy to use and easy to develop way,.
Great article! Also fun to see all the old Hypercard geezers (like me) join in with stories of the good ole days.
I actually still use Hypercard every now and then - I keep an old Mac laptop around for the sole purpose of running it. I've yet to find any tool that can match it for almost instantly prototyping complex ideas.
I once made a very sophisticated "build a calculator" tutorial. See one very tall strip of screenshots here:
http://www.cartania.com/archipelago/images/wizcalculator.gif
It was a 9-step tutorial that actually built a working calculator. Every time you hit the next button an animated cursor would swoop around pulling down Hypercard menus, dragging buttons, and typing script snippets (with typewriter sound effects).
On one level the tutorial showed the basics of Hypertalk as you do here. It demonstrated power tips like making a button to help make other buttons. Finally it showed that not only could you make a working calculator in a few minutes, you could also make a stack that made other stacks and let you watch while it did it.
Hypercard was one-of-a-kind. Its imitators failed to capture its simplicity. HyperCard would be *amazing* for the iPad, but I fear you are right - we probably won't see its like again.
Perhaps the best application of a friendly computer system will be to revolutionise education. Modern students are being bombarded with media and advertisements from all of the outlets of modern technology, which distracts them from developing any talent.
This is a delightful thread and having read the 132 comments that proceed mine I'd say the biggest takeaway is that the world could use some more open ended building blocks for exploration and expression. Programming through play ( http://www.loper-os.org/?p=16 ) sums it up pretty well - we grew up with simple Lego block sets - but if you go to stores now all you'll see are movie themed Lego kits that dictate where each block goes like putting together IKEA furniture.
This is really really bad - or so I learned after ditching the tech world to go back to school to get a degree in early childhood education. These themed Lego kits are didactic - they prescribe one way the bricks can be used, to the extreme that there are bricks that can only be used for that kit. Basic wooden blocks, or Lego blocks, or a cardboard box and some scissors are open ended tools - and there's a limit to what you can do with them that's within grasp after working with them for a while - which puts mastery within reach. What ends up happening is that you construct your own knowledge by learning through play - watching your blocks tumble without a steady base, knowing you need to bridge many Legos together so they don't explode apart when you flex some other part, or figuring out that your cardboard house will last longer if you reinforce your cuts with tape so they dont fringe as easy. We learn best from our mistakes and simple systems with limited features allow someone to fail fast and quickly become expert in combining these building blocks to create more sophisticed functionality.
The web is a wonderful medium to play with simple systems. I learned this by customizing a version of phpwiki back in 2003 for a private wiki that was for my friends and I to keep in touch with each other and basically - F*%# around with for kicks. There was about 50 of us who logged in every month and a core group of 12 who used it every day. The thing was almost all of these people were artists, musicians, educators, writers, and/or absolute Luddites. The way I customized phpwiki - which by default had interactions and markup that resemble the mediawiki install that runs Wikipedia today - was by ripping out absolutely every feature save for 3:
* You could view a page
* You could edit the page by double clicking it
* and you could make new pages or link existing ones together by editing a page and putting brackets around [the words that name the page you want to link]
I erased every default navigation and all the default text that showed people how to write crappy mediawiki like markup. Instead all people had to go on were the pages that were simply made when they logged in the first time and showed this relationship. If you wanted to see how something worked, or you wanted to change it, you just double clicked to look at the source - which was for the most indistinguishable from the view mode except for the presence of brackets. This "there's nothing more to this" aspect let all of these creative and "non programmer" people thrive --- after 5 years people had poured their entire lives over into the system because it was so "powerfully simple" --- I wrote all my school assignment in it, teachers were using it to run their classrooms, and our university newspaper used it as the CMS to put the paper online when NUKE, a "does every feature you want" CMS system of the day was too complicated to train people how to use as turnover was high as people graduated.
I'm a bit tired but there's a lesson in here somewhere. I for one would enjoy being a part of an effort to make a simple and explorable tool accessible to the general public once again. There is a whole programmable web out there and I for one am quite eager to see what "normal" people will do with it after we give them a tool as gratifyingly limited and delightfully open-ended as HyperCard.
Hi,
I wanted to leave a comment here, but realized that it would be too long, so I wrote a blog post here: http://orangejuiceliberationfront.com/creativity-finds-a-way/
Cheers,
-- Uli
There hasn't been a viable market for easy-to-learn development tools for creating personal programs for quite some time. Why? Because not only are these tools a dead end that make it virtually impossible to develop programs that others can use, but also because they tend to permanently retard the skills of programmers by wiring their brains incorrectly for the programming challenges that lie ahead. It may be OK to indulge if your only goal is simple recreational or academic programming, but if you want to make a living with computer programming then there's no sense in cluttering your brain with something that has no commercial value and will only end in damaging your ability to function in the real world of programming.
I have no first hand experience with Hypercard (a name that makes it sound like it was a hardware product), so unlike other responders, I am unable to properly eulogize it and lament its passing, but I do have my own personal list of languages and tools I've learned over the years that I mastered and grew fond of that have gone away and were often replaced by something I found to be inferior. Usually, the replacement technology felt inadequate, foreign and overly complicated. Our brains tend to cling to what we know, like our first spoken language.
The example you use, a calculator, is something you could have done with similar ease with Asymetrix Toolbook or VB in its early days, but these products are gone, and replaced with complex beasts like Visual Studio/VB.NET in the case of VB. In that sense, the word 'Basic' is bait-and-switch terminology intended to make you think the language and its IDE is easy to learn. If you're going to have to learn Visual Studio, you might as well learn C# as well. At least that way you'll know your code blocks belong between braces and all statements end with a semicolon :-). And your brain won't need so much rewiring if you ever write code for a living where most languages use that paradigm.
So, is there any hope for the self-learner who wants to write pretty GUI-based programs for his own use with very little learning effort? The first question I'd ask is whether he's doing it with the hope of building commercially viable programming skills for the future because if so, then he might as well learn useful technologies that will be around for a while like C/C++, JavaScript, HTML and CSS (yes, the objects of your scorn) because to do otherwise would be to retard his progress and make him think that programming is easy and anyone should be able to do it with a few hours of learning effort. It doesn't work that way in the real world, so why give a budding programmer the impression with a limited drag-and-drop GUI-based IDE that it does?
My opinion is that programming should be taught with building blocks that create a strong foundation so as to encourage good programming skills with languages that are based on industry-standard programming languages that are here to stay. Proprietary and quirky academic languages are not building blocks, they are like banana peels that will hamper your ability to progress in the field because everything that comes later will feel too it's too hard or 'not quite correct'.
If you grow too fond of these languages/tools, you may turn into a curmudgeon, crying out about how everything new sucks and the unfairness of it all and blaming it on some dead guy who didn't even know how to program. 😉
Dear Lee Devlin,
> My opinion is that programming should be taught with ... languages that are based on industry-standard programming languages that are here to stay.
Do you believe that industry standards come from God?
Why should we not question the cancerous complexity?
I say we declare war on the sea of crap.
Yours,
-Stanislav