HyperCard, What Could Have Been
bobwrit sends us to Wired for a look back by the author of HyperCard, Bill Atkinson. Quoting: "HyperCard is a programming environment that can create applications as diverse as utilities and games by linking 'cards' arranged into 'stacks.' Commands are executed through a natural-language scripting language called HyperTalk... The software has been phenomenally successful and highly influential. But Atkinson feels that if only he'd realized separate cards and stacks could be linked on different people's machines through the Net — instead of cards and stacks on a particular machine — he would have created the first Internet browser."
In your preferences, under "Authors", you can uncheck his name, and his stories should disappear for you.
.... he missed the mark.
This is not even a hindsight article as the hindsight is still based on speculation.
Of course as things at Apple have evolved in this vain, We have Automator and its phenomenally (cough) successful.....
Of course Hypercard and Automator are platform specific (mac only) but as a comparison to platform agnostic and network-able relatively easy scripting, there is REBOL and specifically REBOL VIEW (if you want to discuss web browsers). But how successful has REBOL become?
What Automator generates under the hood in teh way of files, when a person creates an automation, is incredibly massive. Especially in comparison to the incredibility small scripts of REBOL.
I'm not promoting either here, just presenting a comparison that is relevant to the speculated hindsight of the WIRED article.
No such thing existed at that time. In 1985, the networks were fragmented into dozens of incompatible protocols, the environment which could have made Hypercard into the first web browser simply didn't exist and therefore there was no opportunity to make it into such.
Deleted
That is nothing compared to what happenned with Mac Basic. This is an early case of Bill Gates bullying another company with gross tactics.
In 1989, Arthur van Hoff developed a HyperCard-inspired system called GoodNeWS, written in PostScript, for James Gosling's NeWS window system. Arthur later went on to work at Sun on Java, wrote the Java compiler in Java, the AWT gui toolkit, and the HotJava web browser.
GoodNeWS was later renamed HyperNeWS, then later HyperLook. I went to Glasgow to work with Arthur at the Turing Institute, to develop HyperLook into a product, and I used it to develop the first Unix version of SimCity.
HyperLook was really wonderful, because it combined the strengths of HyperCard with the superior graphics and programmability of PostScript, and the network communication model currently known as AJAX.
I've written down some Ideas for Sugar development environment from HyperLook SimCity, with lots of links and illustrations, relating it with many different programming languages, user interface systems and applications that have inspired me.
Here is just the stuff about HyperLook -- the article goes on further to discuss and compare other technologies I think are interesting and applicable to the OLPC's constructionist education project.
Ideas for Sugar development environment from HyperLook SimCity
I love the ideas behind Smalltalk, EToys and HyperCard, and would like to combine them with ideas from visual programming languages like Robot Odyssey, KidSim, Klik-and-Play, SimAntics, Body Electric/Bounce, Max/MSP/Jitter, etc.
Here are some ideas about HyperLook and other systems, that could be applied to Sugar:
HyperLook was a PostScript-based user interface development environment for the NeWS window system, which Arthur van Hoff created at the Turing Institute in Glasgow. http://www.donhopkins.com/home/catalog/hyperlook/
I helped develop HyperLook into a commercial product, with a editable user interface development environment, as well as a redistributable non-editable runtime, and I used it to port SimCity to Unix, and develop other components and applications . http://www.donhopkins.com/home/catalog/hyperlook/ http://www.donhopkins.com/home/catalog/hyperlook/HyperLook-SimCity.gif
HyperLook was inspired by HyperCard, but it additionally provided a client/server programming model, and more powerful graphics and scripting based on NeWS's object oriented dialect of PostScript. http://www.donhopkins.com/home/catalog/hyperlook/TalkInterfacing.gif
The NeWS window system was like AJAX, but with:
1) PostScript code instead of JavaScript code
2) PostScript graphics instead of DHTML graphics, and
3) PostScript data instead of XML data.
It had a unified programming/graphics/data/networking model based on NeWS's extended multi-threaded object-oriented dialect of PostScript, instead of a hodge-podge of accidental technologies. (Although I will be the first to admit the X11/NeWS merge was quite a hodge-podge and huge-kludge!) NeWS had an object system based on the simple dynamic ideas of Smalltalk, implemented with the PostScript dictionary stack, supporting multiple inheritance and runtime modification of objects and classes. http://www.donhopkins.com/home/catalog/hyperlook/HyperLookInfo10.g
Take a look and feel free: http://www.PieMenu.com
hypercard did connect to networks by way of developer written "xcmds". There were usenet, gopher, rpc, ftp, telnet, wais xcmds. There was a project called "spider" from ATG that did link hypercard across a network. However, the ecosystem of network computers was so small in the mid 80's it did not flourish.
There's still no one tool that replaces everything that HyperCard did. The genius of HyperCard was that it brought application development to the masses.
I was back in college in the early 90's, and taking a couple of language courses (not computer language). I would download stacks that would quiz me on my vocabulary. When I needed something more specific, in one evening I sat down and put together my own drill stack and, as a bonus, inserted the MacinTalk speech synthesizer to correctly pronounce the words.
HyperCard filled in the software gap for what you couldn't purchase off-the-shelf. When my PC friends used to point out how many thousands more titles were available for the PC, I used to point out that HyperCard filled the gap; if you couldn't find the HyperCard stack you were looking for on a Mac-friendly BBS (and there were tons of stacks out there), then it was a simple matter to author a stack.
Apple never understood HyperCard. At first they gave it away, and then they tried to sell it, which was a mistake. The beauty of it was that everyone had it on their Mac, and everyone eventually opened it up and said, "What the hell is this?" and started poking around with it. Once Apple/Claris shrinkwrapped it, you had to already be sold on the concept of what it was in order to purchase it.
HyperCard encapsulated a lot of pieces that are separate today. It could have been the first web browser because of the hypertext links that allowed you to move between pages within the stack. It was a great animation program, as a precursor to Flash. It was a database. It was the first introduction to scripting that most Mac users had, and professional developers could write extension modules for their stacks to push them further.
It's interesting that SuperCard, the competitor to HyperCard which gained popularity when HyperCard development languished, is still available for the Mac and still being developed. However, at $179, it's not exactly "for the masses".
Although Apple abandoned HC a long time ago, it still lives on, today in a product called Revolution. Revolution is definitely a child or grandchild of HC. If you build applications in HC, you should have no trouble running with Rev. There's even a section on their website discussing that topic. It is definitely far from perfect, but it's better than FORTRAN.
Friends help you move. Real friends help you move bodies.
Never forget: 2 + 2 = 5 for extremely large values of 2.
He wrote an application to measure the volume of a Megapodes nest using it.
I found the source on the web a few years back, it's probably around for those of you who want to have a play.
A learning experience is one of those things that say, 'You know that thing you just did? Don't do that.' - D. Adams
Slashdot has for years allowed you to never see stories posted by any editor you wish. Its under your user preferences.
I think it was introduced because of John Katz -- at least, in that's why, in this post columbine, post September 11 world, I first figured that I needed to block a Slashdot editor.
Hypercard was slower than cold, frozen, Arctic molasses. We could demonstrate a peppy-seeming way to accomplish some serious text collecting, but by the time our client had entered so much data that re-entering it would be prohibitive under deadline constraints, the Fatal Flaw in this stupid equation had emerged: Getting data back OUT in a useful format, even merely the useful task of editing it, was hair-pullingly, exasperatingly, blue air and cusswords SLOW. Hypercard was, in short, a hot app, especially for our unfortunate sales team. The next year we completely rewrote our "prototype" Hypercard stack from scratch as a plain, ordinary Macintosh C program, discovering event loops and everything, and recovered some good will from Sales, but many of those first-year clients had been burned so badly they never came back, and since the community of users tended to talk to each other, we had about two years to get our new programming right before it had to to matter again; to this day, I still regard Caroline Rose and Inside Macintosh as my personal saviors.
``Tension, apprehension & dissension have begun!'' - Duffy Wyg&, in Alfred Bester's _The Demolished Man_
This is, arguably, one of the most idiotic posts I've ever seen modded up to +5. I can't believe you actually thought he meant that he believed that most programming languages have been refined through millions of years of evolution. I can't believe at least 3 dudes with mod-points came by and completely missed that, too. Wow. Just... wow. Basic reading comprehension FAIL.
"I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)
And of course there's always Xanadu....
Back in the late 1980s, when I was at Bell Labs (not Research), I was on a standards committee for Computer-Aided Logistics Support, trying to standardize computerized documentation formats. The primary directions the committee was working on were SGML for text and some vector graphics standard that I've forgotten for pictures.
SGML was a predecessor to XML, and was an abstract language describing document types that were typically like HTML with whatever markings and objects you needed to define, so we were essentially trying to define a DTD for our documentation.
There were people on the committee who got the "mark up the information content, let the reader's client format it" concept, where objects are things like "a 2nd-level paragraph", and people who didn't get it, and wanted to objects to be things like "a paragraph in 14-point bold-face" or "a page break" because they wanted to electronically represent the typical paper manuals and version control where you needed to replace pages to update the document, even though the manual might be an airplane-engine repair doc that some mechanic is trying to read on a wrist-mounted 24x80 screen while poking around in the engine. You may find this familiar, given the number of people over the past decade who've been trying to make web pages look exactly the way they want even when the user's browser or screen size may not be identical to theirs.
At one point my boss (who was a PhD type, not a Dilbert boss) asked if we needed to be concerned that our presence on the committee might tell competitors the kinds of things we were working on.
My reply was that "Well SGML is an obvious thing to write Hypertext in, so this is the kind of Research they'd expect us to be doing." Sigh - my mental model of hypertext was pretty much Hypercard and similar document packages, and I didn't get the linking-together-multiple-authors bit either
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks