Monday, October 15, 2012

Hypercard - 26 years later


A successor to Apple’s Hypercard? In 1986 Apple released a small program, that for some time was bundled with each Mac sold. It was called Hypercard. It was based on the concept that you can organize data and functions into stacks of ‘cards’. It was an excellent tool for simple organizational functions like address books, teaching lessons, flashcards, etc. It allowed for further expandability with subsequent versions with external command support, a better version of HyperTalk, Apple’s own scripting language for HyperCard, and support for color and Quicktime 3.0 video. HyperCard was left to languish at version 2.1.4 and was not ever updated beyond that release. Although this product did revolutionize ‘programming for the masses’ its appeal was mostly in education sectors for self created lessons, mini-tutorials on kiosks Macs, and as a front end for CD Rom systems. Because it was Macintosh (later Apple IIGS as well) only, it was not an ideal solution for CD Rom, or kiosk displays.
HyperCard was based upon concept of HyperText developed by Ted Nelson. An Apple programmer named Bill Atkinson, expanded on this concept to create a tool that linked information in a collection of cards called stacks that could be linked to one another in a variety of ways. This concept and technology later helped lay the foundations for what we know at HTML and the web of today.
Why do we care about HyperCard? Because it would be great if Apple released another application as revolutionary and easy to use as HyperCard with a mission to bring programming for the masses. Although OS X does come with excellent developers tools, I daresay, that a very small fraction of users have the slightest clue about GCC, Objective C, or Interface Builder. The means to accomplish the creation of a simple application or interactive is beyond the reach of most everyone. Of course, some excellent tools like Real Software’s Real Basic allow for some robust programs to be developed with the tools to design a Mac like interface around them. Using Macromedia’s Director and Flash products one can design semi-interactive web systems or a stand alone application. But these are tools with a significant learning curve and none offer a complete solution.  If Apple were to develop a wholly new tool, based upon the great technologies of OS X and take advantage of  new standards like XML, they could indeed have another tool as revolutionary as HyperCard.
Does the Mac need a beginners programming tool? Very early in the history of the Macintosh, Apple had a very nice object oriented BASIC that was based on Pascal. To make a long story short, due to ruffled feathers and egos between Bill Gates’ fledgling company Microsoft and Apple, the MacBasic app was canned and MS released MS-Basic for Mac. Sadly, the Microsoft product proved to be inferior and lacking and single-handedly killed the beginners programming market for the Mac (and PC). Later Apple released HyperCard, which was only half-heartedly supported by Apple and given marginal resources for development. Again, Microsoft saw a superior product, if in its infancy, and revamped their BASIC product and created Visual Basic, which has gone to to provide a vast number of customized business solutions, and home solutions to the PC market. Although hindsight is always 20/20 if Apple had pushed with this technology in the 1980’s they could have had the potential to be the dominant player in the custom business solutions market, which eventually led to Microsoft’s fortunes.
The Mac is often marketed as a computer for ‘your grandmother’. Although I agree that a Mac is a computer even a grandmother could learn to love, it’s also a computer many others can love. With OS X and its UNIX underpinnings, a GUI simple programming system for Mac OS X would allow for growth and development in unexpected directions. The real merit of such a tool comes into play with business solutions. A small to medium size company has a need for a tool to do X, where is something like manage data, handle customer support, etc. With a GUI coding tool, that harnessed Quartz, OS X networking, XML, AppleScript, HTML, etc. they could quickly develop a tool to meet their needs. This is a market where the Mac is very weak. Most small to medium size business cannot afford to use something non-standard and its far too easy to go the way of Windows. But when the ease of programming and integration of the applications of the Mac system compares to the cost of a Windows system, with Visual Basic, and learning time, then the justification is easier. With a core of UNIX, this new application could allow for someone already working with code on a UNIX box and easily convert it into something with a GUI. Although X windowing systems exist, they still have to be coded for. A simple GUI builder that allowed for objects of code to be dropped in would make conversions far easier. If this further allowed for use of code relevant to the web like PERL, then many web masters would be able to easily create custom applications to serve information better. We all know few people are masters of all aspects of computer use. Programmers know code, but may not know the business of those they create code for, while web designers know the looks and HTML but not the underlying concepts for SQL database administration. A tool that allowed for anyone to use the strengths they already have with tools to compensate for their weaknesses would allow for novel solutions to be created.
Is the technology for this available? Yes. If we look to open standards for document types, we have variants of XML as the king. SQL database systems are also a known standard. As are many graphic formats, etc. Using technology seen in applications like QuickTime, and KeyNote, and others like iMovie and iDVD Apple is part way towards an integrated solution to provide programming for the masses.
Is Apple developing such a program. There is no way to know for sure. We can certainly hope they are. If you have an open mind it’s a missing part of Apple’s core strategy of fulfilling the needs of the average computer user, so there may be hope.

No comments:

Post a Comment