Hypercard What has thou wrought?

This series of posts is planned to document of some my adventures trying to leverage an abandoned Hypercard opus I did a long time ago. It’s more of a narrative than a how to. A lot of different realms come into play here. So if you aren’t up for reading a long multi-part techno-novela, scamper along now and go look for clips of Megan Fox or something.

HyperCardTop

The Back Story

In the 90’s I did a lot of work with Hypercard.  For those too young to remember, Hypercard (released 1987) predated the web but had a lot of webbish elements, notably hyperlinks to objects within the confines of a classic Macintosh file system and scriptable buttons that controlled navigation and other actions when clicked.     Hypercard was the easiest tool in existence at that time to build  simple  GUI’s with no fuss.    The developer community got it, but unfortunately Apple didn’t realize what they had.   Almost the minute it came out Hypercard began to languish due to neglect, both technically and in terms of marketing and promotion.   The developer community thought they could keep Hypercard afloat by extending the crap out of it and developing outstanding applications against it, and I believe that if the web had been then what it is today we might have pulled it off.   But by the early 90’s,  Hypercard was all but forgotten, and (unbelievable as it may seem now) there was a some speculation that Apple Computer itself might even wind up as a footnote.  That’s when I decided not to throw good money after bad, and I bailed.

What I built in Hypercard

Since I had small children in the early 90’s I was into building intuitive graphical interfaces for the pre-literate.  (This experience has served me well ever since, given that  people who can read usually don’t!)  Remember, this was at a time when Windows was barely a twinkle in Bill Gates’ eye.     One of the many things I built in Hypercard was a Drag and Drop Puzzle engine with plug-in modules.    The most successful modules were the map modules where you drag regions to their appropriate places on a background map.  When you  drop a piece close enough to its target location it plays a little audio,  runs a little animation, pops a flag, and locks the piece in place.  Are you starting to get any ideas?   I sure did. The following video is a screen capture of my antique Africa puzzle running on Hypercard 2.3 inside the SheepShaver Mac Classic emulator.

Fast Forward to now…

I had always fantasized about leveraging the functionality of my old Hypercard stuff for the web, but my early experiments in 1996 with the first JavaScript proved klunky, and it looked like JavaScript was a bit of a joke.   Having just been  left high and dry  by the Hypercard fiasco, I wasn’t eager to hitch my wagon to another loser.  I failed to invest heavily in JavaScript in the ensuing years, preferring server side code.  Operations like http://www.dynamicdrive.com/ attempted to encapsulate some of the browser incompatibility issues that plagued JavaScript client apps.  However,  I always found their scripts too “Cut ‘n’ paste” -ey.  It wasn’t until jQuery came along that I thought, ah finally a   usable, popular, and well-supported full-fledged API that I can use to do GUI type things in a web client without bothering my pretty little head about all the ugly warty browser incompatibilities, bugs,  and other quirks that drove me insane when I attempted to “cook from scratch.”  

The plot thickens…

jQuery has Drag ‘n’ Drop; my map puzzles were based on Drag ‘n’ Drop.  Obvious port. I’ve got all the pesky artwork assets already done (well sort of, as we’ll see) and I have done all the logic before. This should be a snap barring a few bumps in the road.    In my next post I’ll talk about the first obstacle on my path to jQuery bliss.

10 comments to Hypercard What has thou wrought?

A sample text widget

Etiam pulvinar consectetur dolor sed malesuada. Ut convallis euismod dolor nec pretium. Nunc ut tristique massa.

Nam sodales mi vitae dolor ullamcorper et vulputate enim accumsan. Morbi orci magna, tincidunt vitae molestie nec, molestie at mi. Nulla nulla lorem, suscipit in posuere in, interdum non magna.