Wherefore Art Thou, HyperCard? 64
gwernol writes "Macintouch is running an interesting section on the end of HyperCard at Apple. The original discussion was on alternatives to HyperCard but several ex-HyperCard engineers have come forward to describe the 'Steve-ing' of the project. It's an interesting insight into the workings of this company and the fate of Bill Atkinson's revolutionary piece of software." And lamz writes, "Thousands of people still use HyperCard but it has stagnated under Apple's stewardship. Is it time for an Open Source HyperCard? Great article at Wired." My first Mac programming was in HyperCard. Those were the days ...
Hypercard changed my life! (Score:5, Interesting)
My first computer was a Macintosh LC, and it wasn't actually mine. It was, of course, my father's (purchased at a steep discount, as he is a teacher, and the post-Boxing-Day sales crush was on) and was the first modern computing device our family could afford. We even bought the deluxe version of the '_L_ow _C_ost' Macintosh, whose extra ram bay had been stuffed and whose second floppy drive was now, at 40 mb, a veritable ocean of space. With the extra RAM and hard drive, it was capable of running -- if only just -- the shiny-new System 7.0, which came with a 'HyperCard Player'.
I quickly mastered the ins and outs of every aspect of the UI. I knew how to set the colours of the window borders, the desktop background; I knew what to do when the sad Mac appeared; I was even friends with the mysterious and labyrinthine ResEdit, by whose agency one might transfigure the very type of a file.
But I did not know code.
Then, one autumn night, at around ten thirty --- I remember this clearly --- I was thumbing my way through an early edition of famously lighthearted tome called the 'Macintosh Bible',
which casually (or in this case, perhaps 'causally') mentioned, somewhere in the back pages, that although System 7 ostensibly differed from earlier versions of the OS, which had come with 'complete' copies of HyperCard, Apple engineers had in fact been too lazy to write a 'read-only' Hypercard interpreter. The 'Hypercard Player' of System Seven was simply their most recent Hypercard development environment, saddled with an initialisation routine (a 'stack', in HC parlance) that perversely greyed out most of the interesting menu items. But even this paltry scaffolding of occlusion could be removed by clicking on the appropriate panel in the appropriate corner, and typing the following words in the resultant dialog box:
'go magic'.
System 7.1 came out a few months later, with a fully lobotomized 'Hypercard Player'. Had my parents held off just a few more weeks to buy that computer, I doubt that I would ever have taken up programming, and would neither know nor care about Slashdot or its comment forums.
Re:People really use HyperCard these days? (Score:4, Interesting)
Director is incredibly powerful and versatile, but it is not simple. indeed, there have been many tools built into its interface in an attempt to make it immediately useable. however, there still exist countless anomolies in the interface logic, in Lingo (Director's scripting language), and in general workflow that cripple Director significantly.
i am a Director developer, but more importantly, i teach an intro level Director class at the Art Institute of California. trying to communicate to undergrad art students what Director is and how it is used has shed much light on these problems for me.
from what i understand (in terms of capabilities), Hypercard falls somewhere inbetween Director and powerpoint. i've heard accounts from other Director developers praising how intuitive they found Hypercard to be. i suspect that its gentle learning curve would make it an attractive alternative to someone unskilled in the field of multimedia.
but i wonder how many folks who don't possess multimedia development skills would be required to develop something more complex than a powerpoint presentation.
for those of us who develop complex multimedia apps, rapid dev software (prototype, etc.), and games, there is no viable option to Director. the steep learning curve is just a fact of life.
Jobs probably asked the same question (Score:5, Interesting)
Therefore, this article title is inadvertently asking "Why Hypercard? What is the purpose of Hypercard?" Clearly Steve Jobs asked the same thing (likely with more expletives and in an upraised voice).
Thus today, some people are left asking the question, "Where is Hypercard?"
Re:Learn the language (Score:3, Interesting)
Actually, wherefore is a more specific word than our modern "why". My source for this is the book "Brush up your Shakespeare". Why can be used in two situations: to ask "For what purpose" or to "From what cause". The term "Wherefore" only means the former.
I'm not sure about the entymology, but I belive it comes from Where = "At what location/time" and Fore = "In the future". So it would literally be asking for what time in the future was it necessary to name him Romeo. Doesn't quite have the same ring to it, does it?
I'm surprised . . . (Score:2, Interesting)
Too much of the rest of the computer revolution has not followed that promise.
Wherefore Art Thou (Score:4, Interesting)
People frequently use the word "wherefore" in an attempt to be poetic, inquiring where something is. Wherefore, however, does not mean "where", it means "why". When Juliet was lamenting "Wherefore art thou Romeo", she wasn't asking "Where are you, romeo?", she was asking "Why are you Romeo?", as in, "Why did you have to be a Montague, my family's sworn enemy?"
This is an error I see all the time, and it's understandable. I'm no Shakespearean scholar by any means, but it still irks me.
Re:What hypercard is.... (Score:5, Interesting)
Well, it could be used like that, for sure. Every great programming idea out there seems to have at least one controlling metaphor that is so striking that you have to pay attention to it. Now, most people *think* the controlling metaphor of Hypercard is simply "life is a stack of cards!", but that is actually more of an implementational detail. In one of the Wired articles referred to in this thread, Bill Atkinson mentions explicitly what I always thought was true and obvious in retrospect: Hypercard "stacks" could have been spread over the network, and something eerily like the World Wide Web could have come on the scene at least 5 years earlier.
Now what I think was the most important advance made by Hypercard was the idea that "Everything is an object or a message, and the way to handle messages in a GUI is via delegation, and you really don't need inheritance at all." Seriously, I think it is still hard to see how forward thinking Hypercard really was in this respect, until you browse some W3C documentation struggling to define how to handle user events in and around the DOM. In Hypercard, any object could handle any appropriate message itself and/or pass it up the chain to it's "enclosing" object, or pass it to any object of its choosing. (You couldn't always choose the first target of an event like "mouseup", but you could always delegate to the right object in the long run, which is key.) When given this much power, you could do almost any fool thing and that's what people actually did. So I remember when I first implemented EMACS-style editing commands for the message box in Hypercard (including a rudimentary kill-ring!); nobody had ever dreamed of doing anything so nutso, but there it was! I also remember starting on a chess tutor-like interface that would allow a novice to see all of the possible next moves for a piece; that never went anywhere under my power, but the proof of concept did impress a few people who had no idea you could do anything like this with software that came for free with your Mac.
On the other hand, I can't write a complete love letter to Hypercard in this post since the memory of the thing immediately brings to mind the most hideous misfeatures of Hyper*Talk*, the language. Like the no real variables part, or the fact that you could not escape to a less verbose syntax, or the fact that since it lacked explicit "anchors" like HTML that some kinds of links were truly painful to construct... But HyperCard was there, and it was great, and now it's gone. And the real shame is that nobody in the Apple chain of command really knows why it was great: it was an astonishingly powerful programming environment that made some people absurdly happy and led to at least as many Apple hardware purchases in the late 80s as anything else. (Once somebody had a stack that did X, you were better off buying more Macs than trying to re-do X some other way...) That is just my opinion, of course, but any geek who delights in the fact that Mac OS X is basically just BSD under the Aqua seas might understand the glee of users who suddenly found out that they could do powerful object-oriented programming with a piece of "address book" software added to the system almost as an afterthought.
Re:A usefull link (Score:4, Interesting)
I wrote an email system and a LOGO emulator (remember turtle graphics?) in hypercard, back before the internet was called the web
Heh, had to learn trig to do that
Re:such nostalgia (Score:2, Interesting)
My First HyperCard Experience(s) (Score:3, Interesting)
Programming couldn't have been easier. I used ResEdit to pull the laserdisc commands from a HC stack which came with the player. To drive the disc we just called up the routine with timecodes in the argument to play the appropriate sessions on the TV. Plate tectonic theory diagrams were created in SuperPaint and pasted in. Adding a quiz was very simple, with the addition of a few randomised cards and a scoring routine.
Considering that the school lab was otherwise full of 386s, it's hard to imagine how any of this would have been achievable given our timeframe and programming experience. It was a perfect example of how a quick&dirty interface tool can produce impressive, economical results.
In another project, I used HyperCard to create a limited-access computer interface (a la Minifinder). I created a standalone HC stack, called it Finder and threw the real Finder out. This forced the stack to launch at startup. It then loaded a Mac/GUI tutorial and a card with buttons that launched the various applications on the computer. Quitting apps returned you to the stack. Quitting the stack restarted the computer. You could, of course, override it with a boot floppy but the tool was actually used by the school to help lock down the computer.
These two uses show just how versatile the deceptively simple application was (is). Unfortunately that's also its big weakness, since Apple has always had such a hard time explaining just what the program does.