This doesn't seem to be anything special about Hypercard.<p>Hypercard was the BASIC of the Macintosh in that it served the same niche. It certainly was not BASIC, but the idea was the same, a little language and environment that fit into the machine's environment that allowed novices (and then highly practiced novices :-)) to create stuff on the machine for other people to use.<p>It was killed for the same reason BASIC, in the sense of built-in 8bit micro BASIC, kind of fell to the wayside except as a way to stitch existing apps together. No one is really impressed by a calculator program anymore. Matching the capabilities of modern software is hard nowadays. It's demotivating to create a calculator program... that's it? Hypercard really can't match even JS, et al. in functionality.<p>I remember when it started to happen in the 16bit era. Software was already starting to get too good and too complex for a simple tool. I got an Amiga. The Amiga had a built-in BASIC -- but no one used it. Why? Because there was no fucking way you were going to recreate even the bouncing ball demo in BASIC. It wasn't going to happen. Essentially, anything you created was going to be a huge disappointment with that tool. This was not necessarily true in the 8bit days -- but from 16bit on, you either learned assembly/C or gave up. People can learn in that environment (and did), but the barrier was much higher.<p>Lowering that barrier while coming close to the capability of "real" software is a hard problem. Fortunately, it's coming full circle. Now that machines are powerful enough that "real" software is being written in interpreters, JS seems like it actually <i>is</i> the new BASIC.<p>I'm not totally sold on that -- because the stack is too too baroque (although, again, people do learn in that environment). Processing is perilously close but not quite there because it's so domain specific. Python comes with a lot, but doesn't fit into native environments very well. If I had to chose, I'd say it's going to be something else over the JS/CSS/HTML stack in the same way 8bit BASIC sat over the primitive OS at the time.
Sigh. Maybe instead of ranting at your "typical software engineer", the author should spend a moment to consider that maybe it "could be built again" - but it never has.<p>So the question then turns to, why has it never been built? Is it maybe because Hypercard (and other visual systems) become entirely unmaintainable once we get to large-scale systems? And maybe it is because most people don't <i>want</i> a trivialized programming environment? They either want a full system, or just a product?
I recently discovered Quartz Composer, which is included on any Mac w/ Xcode, and I was pretty impressed by its capability. IMHO it is one of the best kept secrets of the apple-verse.<p>While it is very different from Hypercard, it certainly provides a level of artistic expression and creative freedom that the article alludes is present in Hypercard.<p>When I booted up QC for the first time a few months ago, I was blown away by its awesomeness.<p>And then when I further explored the vibrant community out there AND the fact that it can be readily integrated into objective-c / cocoa, it's clear that Apple is very much in tune with what normal people and creative people need to express themselves on a computer. To get started, here are some links:
<a href="http://en.wikipedia.org/wiki/Quartz_Composer" rel="nofollow">http://en.wikipedia.org/wiki/Quartz_Composer</a> and
<a href="http://developer.apple.com/technologies/mac/graphics-and-animation.html" rel="nofollow">http://developer.apple.com/technologies/mac/graphics-and-ani...</a>
Hint: If you have Xcode installed, simply type "quartz composer" into spotlight and begin your journey.<p>A final note: I seem to recall but not certain that a) QC was an acquisition by Apple of a french company; and b) the original developer has moved on from Apple
I was sad to see Hypercard abandoned - I learned how to program with it myself (along with Perl & CGI apps - syntax didn't matter so much as what you could accomplish with it). But part of the reason I think is that Steve Jobs abandoned going primarily after the education market when he returned to Apple - he had already been burned by it (or become disillusioned by it) at Next, but also really Apple had already saturated the education market. He and Apple focused on the consumer market (imacs, ipods, etc.) - the business market had already been won by Microsoft. Microsoft also already had a more successful end-user friendly programming/scripting environment: Visual Basic and VBA. In case some don't know, Visual Basic was the most popular programming language in the world until overtaken by Java. VB didn't really start to significantly decline until more people developing business apps switched to C# and other languages.<p>Microsoft also won with a more popular tool for creating visual 'stacks' or presentations: Powerpoint. Most educators were basically using hypercard/supercard/hyperstudio to create presentations - and Powerpoint made it easier to do so.<p>Hypercard (and hypertalk) isn't dead though. Applescript is still around (despite Apple also trying to kill it). LiveCode and other options are still around and being updated for HTML5 & mobile platforms, as is Visual Basic, too (nsbasic). A java port of the hypertalk language is here: <a href="http://code.google.com/p/openxion/" rel="nofollow">http://code.google.com/p/openxion/</a><p>Natural language-like interfaces aren't dead, either. Look at testing tools like Cucumber, the google search engine, Siri, and so forth. Look at all the DSLs out there that try to make Ruby/Javascript/etc. more like natural languages, at least in certain contexts.
HyperCard is very near and dear to my heart. When I was a kid I taught myself how to program with Hypercard. I'm a software developer today, and despite the crazy verbose syntax of HyperTalk, I still acquired an intuition for programming that remains helpful, 15 years later.<p>I actually approached Steve Jobs about the demise of Hypercard in 1998, when I was 15, at the Seybold SF conference. IIRC he gave a pretty dismissive response about it, basically saying that there wouldn't be a market for it anymore. It was pretty obvious that he didn't care about HyperCard or HyperCard-like products anymore. That, or he didn't want punk teenagers questioning his business strategy.<p>As a side note, I got my photo taken with him. When the photo was developed I saw that I was wearing a megawatt smile (shit, I met with Steve Jobs!), and Steve was looking distractedly at something in the corner.
I think much more likely explanations than the nefarious anti-creative one given for HyperCard's death are that, to varying degrees: Steve found all HyperCard stacks he saw to be messy and confusing, not at all the functional simplicity he was looking for; HyperCard was taking engineering resources and/or money that could be better spent saving the Mac, and therefore Apple.<p>Apple has not, in recent years, on the Mac, been against trying to provide simpler programming environments - look at Automator, (the now also defunct?) AppleScript Studio, or Dashcode.
Umm, SuperCard still exists and is under active development. Even back in the day it was superior to HyperCard in every way.<p>My guess was that HyperCard was killed because the WWW was coming. I used SuperCard pretty heavily back in '92ish at the second college in Minnesota to get the internet (MCAD - U of M was first). I remember the rows of NeXT boxes they had, the only machines connected and I remember fumbling around with building Gopher sites as well as some basic HTML hacking, as basic as it was back then. I lost interest in HyperCard/SuperCard shortly thereafter.<p>But it's spirit certainly lived on in Visual Basic, Borland Delphi, Macromedia Director and a bunch of other things. I don't know that this guy had exposure to any of this hence the short sightedness and, in my opinion, miscalculation of Job's motives.
HyperCard like systems are not dead. I make my living from LiveCode ( <a href="http://www.runrev.com" rel="nofollow">http://www.runrev.com</a> ) which is a xTalk system that is able to build applications for Mac OS X, Windows, Linux, iOS and Android. From a single HyperCard-like environment, I can build apps for all these platforms and reuse the code.<p>LiveCode is very verbose and it may take a while for those that are already familiar with C-like languages but it is worth it. Software is easy to maintain and there is little space for confusion, even with few comments.<p>RunRev company also release a PHP-like engine, so I can create web applications that communicate with native clients on mobile and desktop all from a single language and environment, this is very powerful.<p>You should always use the best tool for your job. For my job, LiveCode fits perfectly. I also think that xTalk languages are a wonderful introduction to programming and people from non-technical backgrounds can learn it easily and start creating little tools to help their specific domains. Yes, anyone can learn programming in any language, it is just a matter of effort, I believe LiveCode makes this effort fun and productive.<p>You may read this as advertisement but this is my personal opinion. I am 31 and have been using LiveCode since I was 25 or something like that. In the meantime I got married, got my own place and am living a good life. All my work is LiveCode related. Just telling you that so you guys don't take me for "someone that toys with this cute language every once in a while but is not serious".<p>Even if you already have your favorite language, it is worth to check out LiveCode, just to learn what else is out there. There are beginner webinars starting next month I think...
A bit of trivia: MYST, the CD-ROM game, was first shipped for the Mac and written entirely in HyperCard (with a few custom extensions to load the color graphics as quickly as possible).
I think what killed Hypercard, in some sense, was what it made popular: like the Amiga, it was too closely tied to its hardware.<p>HyperCard ran black and white windows of 512*342 pixels because that is what the original Mac had (there was a version that did some color things, but that was and felt like a serious bolt-on job). Moreover, all graphics where bitmaps.<p>Bringing that into the 'real world' as it existed at the end of the eighties would have taken a lot of resources, and it was not guaranteed that the end result would still be HyperCard. For example, if one allowed resizable windows, laymen would have to learn about layout algorithms ('is this button 50 pixels wide, or a quarter screen wide? Is it 20 pixels from the bottom, 10% of screen height, or should its bottom border match that of that text field over there?').<p>Also, at the time, there were attempts to include some Hypercard/Director-like features to QuickTime. HyperCard was considered for that functionality, but did not make the cut.
FTA: "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."<p>I always hope in the back of my mind that someday there will be a way to create a web interface as easily as you could in Hypercard.<p>I miss it so much.
Actually has a really good example (a calculator) to show how HyperCard could be used.<p>HyperCard was a big part of my junior high years. It could even be extended, e.g. there was one add-on that allowed color graphics to be displayed and I learned to make some simple games that way.
I had a sudden hypothesis after reading this thread last night. (No proof, mind you, just an idea.) I wonder if HyperCard's success was for the same reason as UNIX's success: a well-chosen, small set of interoperable tools that allowed the user to do far more than the sum of their parts. And, as computing and interfaces have become more complex, we've just tacked on complexity to them rather than reinventing them to adapt.<p>For instance, UNIX's treatment of everything as a file is a great tool, but I think there was a time where that simplified a much greater percentage of computing than it would today. Similarly, I suspect HyperCard died because the abstractions it was using had to be reimagined to stay competitive.<p>Spreadsheets (as mentioned elsewhere) are an example of a product that has managed to stay focused on the simple set of tools, and, when features were tacked on, they often stay out of the way instead of adding complexity to day-to-day operations. However, I'm not sure they've aged well, but I guess they are the best we have at the moment.
I loved Hypercard and BASIC too, but this post strikes me as being a little affected by nostalgia.<p>With Hypercard you could make something for someone who 1) has an Apple, 2) Has Hypercard installed, and 3) Has the right version of Hypercard installed.<p>With HTML/CSS/Javascript you can make something to run almost anywhere. It's not 'easy' but it is useful.
Don't forget, there's Hackety Hack <a href="http://hackety-hack.com/" rel="nofollow">http://hackety-hack.com/</a> and Scratch <a href="http://scratch.mit.edu/" rel="nofollow">http://scratch.mit.edu/</a>, two great tools for new programmers to get their feet wet and make something fun in the process!
There's no mystery, here. No great conspiracy -- the article has a screenshot of the smoking gun.<p><a href="http://www.loper-os.org/wp-content/hypercard-calc/hc12.jpg" rel="nofollow">http://www.loper-os.org/wp-content/hypercard-calc/hc12.jpg</a><p>The scripting language had a verbosity and ambiguity that only a lawyer could love. The documentation for that language was similarly impenetrable to anyone with a background in CS, requiring a serious commitment to trial and error to perform operations that were trivial in BASIC.
Visual Basic played a similar role for me many years ago. I've moved on since, but at the time it was exactly what I needed. The value of a WYSIWYG GUI editor and a simple event system to a budding developer can't be overstated.
I think it'd be interesting to re-write HyperCard in javascript and HTML5, as a way to get kids interested in coding (and maybe use javascript instead of apple script as the card language?). Not sure how difficult this would be as I've never actually used it, only heard of it's majesty and wonder. Cool that you can still run it on an emulator. I'll have to try it out.
If the author loves HyperCard so much why doesn't he re-create it? Honestly, it would not take that long.<p>The answer is because he'd rather write some link bait trashing Apple and Steve Jobs.<p>And because he knows perfectly well that making HyperCard is not worth his time.<p>IMHO his calculator example makes it perfectly obvious why HyperCard not only was killed but deserved to die. Like all of Apple's languages of the time, HyperTalk is awful. Additionally HyperCard is not particularly flexible or elegant, nor does it produce particularly fantastic end results. It's crap.<p>And in a day like today where we have the web enabling people who have never even heard of a pointer (let alone had to deal with pointer math) to write full fledged, performant, distributed, multi-user applications, why does anyone in their right mind spend 5 minute bemoaning the loss of HyperCard? It's absurdity.
The code for this could have simpler/less verbose. It's been a while, but I believe in the number buttons this would have worked:<p><pre><code> put the short name of me after fld "lcd"
</code></pre>
and in the equals sign button:<p><pre><code> put the value of fld "lcd" into fld "lcd"
</code></pre>
(edited to fix a missing quote)
I remember making a game with hyper card when I was at school and loved that I could visually script the buttons.<p>We hand drew pictures of 3D rooms and then scanned them in and put big invisible buttons over the doors etc.<p>I personally think the www killed hyper card, suddenly you could do very similar things but have them instantly shared globally.<p>In my mind hypercards real innovation was creating your own links which would take you to any other card you desired, I think plain old simple HTML came along and killed the poor thing. HyperCard lived in a time of share it on a disc and I imagine Jobs seeing it's days as numbered.
Hypercard was very interesting to me, enough so that I bought my first programming book, Danny Goodman's The Complete Hypercard Handbook. I loved tinkering about with Hypercard on my very first computer, a Powerbook 100 that I bought new in 1992.<p>I was sad when Apple decided to only include Hypercard Player with new Macs, which I also think ultimately helped contribute to its death. People liked Hypercard but not enough to pay money for it. By the time Steve killed it, it was a lumbering zombie of its former self.
The thing I've always felt held back these paradigms is something that is inherent in them, they are too visual.<p>That sounds crazy, but just look at this article and how he described what he did. He had to take a million screenshots to show it. The same is true for say, the Android app builder, or the Lego logic thing.. the way you sure code is via a screenshot.<p>And that just doesn't scale very well I don't think. It makes copy/pasting, the most basic way that people learn, really difficult.<p>HTML5 is pretty awesome, or rather WOULD be pretty awesome if we could erase the last 15 years and all start with CSS3 compliant browsers. But it is such a mess now that I feel bad for anybody starting from scratch.<p>But the combination of HTML for layout and Javascript for layout is pretty darn powerful, and I think pretty accessible as well. You could certainly build something on the order of the simplicity of Hypercard on that stack.<p>But I do like the author's comments about the shame that there are far fewer 'programmers' than back in the old days. BASIC on the AppleII is of course the other example (among others).. where it was just so easy and almost natural for ANY user to start getting a feel for things and hacking around. Losing that really IS a shame.
I remember using hyper studio (later version) in 5th grade in ~96. That was one of my earlier "programming" experiences and I spent a lot of time making a shooter called teddy bear doom for our class. However, the next year I found vb and found it a lot more flexible (I also decided I was a pc about that time)<p>The author makes an interesting point re: computers as bicycle vs train, that nothing like HyperCard exists today and apple now has a clear and hard separation between laying track and riding on it. I agree, but I wonder if HyperCard (or a modern version) makes the same mistake many wysiwyg solutions make: if you do something enough, you'll want more capable tools, and if you're a casual hobbyist, the wysiwyg solution will be too complicated anyway, with a disjointed interaction metaphor to boot. If I were a 5th grader today, I think I'd be better served by starting with python than something like hypercard.
The author makes a very valid point: the modern Way of personal computing is about the controlled user experience; allowing people to get their mess all over with their own work would disrupt that Way.<p>Don't appreciate the crack about the 'aspie software engineer' though. Definitely not needed.
Has this guy played with Interfave Builder lately? I fail to see his point. Apple has poured tons of resources into making development for its devices simpler, and that's part of the reason you have so many amateur apps on the App Store.<p>Jobs understood the division of responsibility between Apple, with its extremely limited resources, and its developer community. What wasn't core to selling computers was cut. We are talking about a company that was 90 days from bankruptcy when he took over. I think he made a good decision.<p>If somebody has wanted to do a proper visual programming environment in the vein of HyperCard for the Mac, what in the last 13 years has stopped them? It wasn't Jobs.
Alan Kay's STEPS project drew some inspiration from Hypercard. I haven't gotten to try it, alas. <a href="http://www.vpri.org/pdf/tr2011004_steps11.pdf" rel="nofollow">http://www.vpri.org/pdf/tr2011004_steps11.pdf</a>
Who remembers the HyperCard Smut Stack? <a href="http://finance.groups.yahoo.com/group/HyperCard/message/28096" rel="nofollow">http://finance.groups.yahoo.com/group/HyperCard/message/2809...</a>
Hypercard was a wonder. I used to teach street people how to make simple, useful applications that they thought of themselves.<p>Sure it was limited in what it did, and that was part of its beauty. It was a tool for quickly hacking together a simple application. A tool that nearly anyone could learn to use quickly. And it was fun and spontaneous.<p>And the Hypertalk language was very interesting to work in. It was like a limited dialect of a spoken language; a pidgin for computers.
Still surprised that nobody's made the connection to FileMaker.<p>FileMaker actually <i>predates</i> Hypercard (depending how you define it), and is similar to the point where you can still find Hypercard->FileMaker conversion tools.<p>Filemaker is also screens + controls + simple scripting language (albeit not quite as easy to grasp as HyperTalk/Applescript), and is wildly popular for an audience similar to that of Hypercard users.
Does anyone remember publishing HyperCard stacks on the web with the WebStar mac web server? That was pretty cool! It even translated the controls and fields on the stack to html forms that worked in the web browser. <a href="http://143.50.28.215/HyperCGI.html" rel="nofollow">http://143.50.28.215/HyperCGI.html</a>
I think HyperCard was special in that other people's stacks were easy to come by, and easy to disassemble. There was no compiled distributable form, all stacks could be cracked open if you wanted to see how they ticked, and just modified just as easily if you wanted to see how the program's behavior would change.
Wow, that brings back some happy memories. Writing Eliza style chat bots on my Mac SE in Hypercard was a lot of fun :)<p>Fun fact: the best selling game Myst was developed in Hypercard!