HyperCard
From Free net encyclopedia
Image:HyperCard 2-icon.png Image:Hypercard.png
HyperCard is an application program and a simple programming environment produced by Apple Computer which runs natively only in Mac OS versions 9 or earlier (it can still be used in Mac OS X's Classic mode). It most closely resembles a database application in concept, in that it stores information, but unlike traditional database systems HyperCard is graphical, flexible and easy to modify. It also includes a powerful and easy to use programming language, HyperTalk, to manipulate data and the user interface. HyperCard users often used it as a programming system for Rapid Application Development as opposed to a database.
HyperCard was originally released with System Software 6 in 1987, and was finally withdrawn from sale in March 2004, although it had not been updated for many years at that time.
Contents |
History
HyperCard was created by Bill Atkinson and initially released in August 1987, with the understanding that Atkinson would give HyperCard to Apple only if they promised to release it for free on all Macs. Apple timed its release to coincide with the MacWorld Conference & Expo in Boston, Massachusetts to guarantee maximum publicity. HyperCard was a huge hit almost instantly. Many people who thought they would never be able to program a computer started using HyperCard for all sorts of automation and prototyping tasks, a surprise even to its creator.
Apple itself never seemed to understand what HyperCard was. Management saw that it was being used by a huge number of people, internally and externally, and bug reports and upgrade suggestions continued to flow in demonstrating it had a wide variety of users. However it was also free, which made it difficult to justify dedicating engineering resources to improving it. Unwilling, or unable, to see that HyperCard was making the Macintosh platform, as a whole, much more interesting to the market, management let it languish.
HyperCard 2.0
In late 1989, Kevin Calhoun, then a HyperCard engineer at Apple, led an effort to upgrade the program. This resulted in 1990's HyperCard 2.0. The new version included an on-the-fly compiler that greatly increased performance of computationally intensive code, a new debugger and a number of improvements to the underlying HyperTalk language.
At the same time HyperCard 2.0 was being developed, a separate group within Apple developed and in 1991 released "HyperCard IIGS", a version of HyperCard for the Apple IIGS system. Aimed mainly at the education market, HyperCard IIGS had roughly the same feature set as the 1.x versions of Macintosh HyperCard, while adding support for the color graphics capabilities of the IIGS. Although "stacks" (HyperCard program documents) were not binary-compatible, a translator program (itself a HyperCard stack) allowed stacks to be moved from one platform to the other.
Then, Apple decided that all software, including HyperCard and the Mac OS, would be the property of a wholly-owned subsidiary called Claris. Many of the HyperCard developers chose to stay at Apple rather than move to Claris, causing the development team to be split. Claris, in the business of selling software for a profit, attempted to create a business model where HyperCard could also generate revenues. They wrote a new "viewer only" version, the HyperCard Player which Apple distributed with the Macintosh operating system, while Claris sold the "full" version commercially. Many users were upset that they had to pay to use software that had traditionally been supplied free and which many considered a basic part of the Mac.
Despite the new revenue stream, Claris did little to market HyperCard. Development continued with minor upgrades, as well as the first failed attempt to create a third generation of HyperCard. During this period, HyperCard began losing market share. Without a number of important, basic features, HyperCard authors began moving to systems such as SuperCard and Macromedia's Authorware. Nevertheless HyperCard continued to be popular and used for a widening range of applications, from the game The Manhole, an earlier effort by the creators of Myst, to corporate information services and many thousands in between.
Apple eventually folded Claris back into the parent company, returning the Mac OS and HyperCard to Apple's core engineering group. In 1992, Apple released the eagerly anticipated upgrade of HyperCard 2.2 and made many HyperCard enthusiasts happy by including licensed versions of Color Tools and Addmotion II, adding support for color pictures and animations. However, these tools were limited and often cumbersome to use; HyperCard still continued to lack true, internal color support.
HyperCard 3.0
Several attempts were made to restart HyperCard development once it returned to Apple. Because of the product's widespread use as a multimedia authoring tool it was rolled into the QuickTime group. A new effort to allow HyperCard to create QuickTime interactive (QTi) movies started, once again under the direction of Kevin Calhoun. QTi extended QuickTime's core multimedia playback features to provide true interactive facilities and a low-level programming language based on 68000 assembly language. The resulting HyperCard 3.0 was first presented in 1996 when an alpha-quality version was shown to developers at Apple's annual Worldwide Developers Conference. Demos throughout the late 1990s showed many popular features such as color support, internet connectivity, and the ability to play HyperCard stacks (which were now special QuickTime movies) in a web browser. Development of HyperCard 3.0 stalled when the QuickTime team was focused away from development of QuickTime interactive to the streaming features of QuickTime 4.0. Finally in 2000 the HyperCard engineering team was reassigned to other tasks after Steve Jobs decided to abandon the product. Kevin Calhoun left Apple shortly after in 2001.
So after years of continued on-again, off-again upgrades and general mismanagement, HyperCard was finally discontinued. What started as a groundbreaking product that seemed to be changing the world died the death of a thousand cuts and slowly disappeared as users grew fed up with what was now a hopelessly outdated product. Apple finally ceased selling HyperCard in March 2004.
Description
HyperCard is based on the concept of a "stack" of virtual "cards". Cards hold data, just as they would in a rolodex. The layout engine was similar in concept to a "form" as used in most Rapid Application Development (RAD) environments (such as the Delphi programming language or Visual BASIC).
HyperCard was not only a database system — the layout of each card could be unique, just as you can write additional non-standard information on a rolodex card. The Background of a stack contained elements that appeared on all cards of that stack or on all cards based on a certain background. Backgrounds could include pictures (its original purpose, "background picture"), in addition to the objects also available for each card: picture fields, buttons, (static) text, (editable) text fields and other common GUI elements. Each card then could contain different data attached to the text or picture fields, thereby creating the database functionality.
For instance, an address book could be easily built by adding to the background a few text fields to hold the name and address. Once completed, the user simply adds a new card (by typing command-n) and types into the fields. The background could be modified at any time, allowing changes to be made easily. Basic operations such as search, add and delete were built into the HyperCard environment, allowing simple databases to be set up and used by anyone able to use the Apple Macintosh computer.
Scripting in the HyperTalk language allowed the system to be easily modified and extended. Unlike many scripting languages, HyperTalk proved to be usable by a wide range of users; allowable syntax included multiple versions of the same statement, all in more or less readable English.
For instance, put the first word of the third line of field "hello" into field "goodbye"
would do exactly what it seems to do. Achieving this sort of simplicity and readability required considerable work. For instance, it required allowing numbers to be specified either numerically (1, 2), as cardinals (one, two), or as ordinals (first, second), which improves the readability of the code.
Referring to objects and the items on cards or backgrounds was easy. The example above shows how to access data within a field on a particular card, but one could refer to any object in the same basic fashion — including the stack itself. All objects could be named, as in the example above. In addition, each object (including the stack itself) had unique numeric IDs.
HyperCard's find
command which would navigate to cards containing text. This could be made more selective with modifications such as find "Bob" in card field "hello"
. Similarly, it had a "sort" command that allowed evaluating entire expressions to classify sort order.
Adding scripts was also easy. The user simply "command-option-clicked" (or they could click the "Script" button in the item's property dialog) on any element in the stack, and an editor would pop up. The script could then be edited, saved, and used immediately. In addition, HyperCard contained the "Message Box", an interactive command-line in a floating window that could execute single lines of script. This also included the "find" command, so it doubled as a search dialog. HyperCard 2.0 added a debugger as well.
HyperTalk was so easy to use that one of the main uses of HyperCard was not as a database, but as a programming tool. Thousands of "stacks" were written and distributed under the moniker of StackWare in the few years when HyperCard was widely available.
Externals
The power of HyperCard could be increased significantly through the use of external command and external function modules, more commonly known as XCMDs and XFCNs. These were small code fragments packaged in a resource fork that seamlessly integrated into the system and/or the HyperTalk language — an early example of the plugin concept. Unlike conventional plugins, these did not require separate installation before they were available for use; they could be included in a stack, where they were directly available to scripts in that stack.
During HyperCard's peak popularity in the late 1980s, a whole ecology of vendors offered thousands of these externals for everything from HyperTalk compilers to graphing systems, database access, internet connectivity, animation, and practically everything else. Many of these vendors had their businesses destroyed when HyperCard was handed to Claris.
Applications
HyperCard has been used for all sorts of hypertext and artistic purposes. Before the advent of PowerPoint, HyperCard was often used as a general-purpose presentation program. Examples of HyperCard applications include simple databases, " choose your own adventure"—type games, educational teaching aids, and the first (off-line) wiki. The wiki idea originates from Macintosh HyperCard, via Ward Cunningham.
Due to its rapid application design facilities, HyperCard was also often used for prototyping of applications, and sometimes even for version 1.0 implementations. Inside Apple, the QuickTime team was one of HyperCard's biggest customers.
Image:Hyper beethoven.gif A number of commercial software products were created in HyperCard, most notably the original version of the interactive game narrative Myst, the Voyager Company's Expanded Books, and multimedia CD-ROMs of Beethoven's Ninth Symphony CD-ROM, the Beatles' A Hard Day's Night, and the Voyager MacBeth.
The prototype and demo of the popular game You Don't Know Jack was written in HyperCard.
Activision, until that time primarily a game company, saw HyperCard as an entry point into the business market. Changing their name to Mediagenic, they published several major HyperCard based applications, most notably Danny Goodman's Focal Point, a personal information manager, and Reports For HyperCard, a program by Nine To Five Software that allowed users to treat HyperCard as a full-fledged database system with robust information viewing and printing features.
The HyperCard-inspired SuperCard for a while included the "Roadster" plugin that allowed stacks to be placed inside Web pages and viewed by browsers with an appropriate browser plugin. There even was a Windows version of this plugin allowing computers other than Macintoshes to use the plugin.
Legacy
HyperCard is one of the first products that made use of and popularized the hypertext concept to a large popular base of users.
Jakob Nielsen has pointed out that HyperCard was really only a hypermedia program since its links started from regions on a card, not text objects; actual HTML-style text hyperlinks were possible in later versions, but were awkward to implement and seldom used.
HyperCard saw a loss in popularity with the growth of the World Wide Web, since the Web could handle and deliver data in much the same way as HyperCard without being limited to files on your hard disk. Interestingly, HyperCard had a significant impact on the web as it inspired the creation of both HTTP itself and JavaScript (through its influence on Tim Berners-Lee's colleague Robert Cailliau).
Image:HyperCard cursor.pngThe pointing-finger cursor used for navigating stacks later found its way into the first web browsers, as the hyperlink cursor.
Other companies were quick to see the power of HyperCard and offer their own versions.
- SuperCard is a color version of HyperCard on the Mac with additional features, a full GUI toolkit, and now Mac OS X compatibility.
- Plus was a product similar to HyperCard for Windows and Macintosh.
- Asymetrix's Windows application ToolBook resembled HyperCard, and included an external converter to read HyperCard stacks.
- Oracle purchased a cross-platform clone and released it as OracleCard, renamed Oracle Media Objects, used as a 4GL for database access.
- Most recently Runtime's Revolution incorporates all of HyperTalk (the HyperCard scripting language), and a large part of the feature set. It expands significantly on HyperCard's feature set and offers a full GUI toolkit. It runs on Macintosh, Windows, and Unix.
In addition, many of the basic concepts of the original system were later re-used in other forms. Apple built their system-wide scripting engine AppleScript on a language very similar to HyperTalk; it was recently discovered as a perfect fit for DTP workflow automation needs. The concept of the wiki evolved from HyperCard[1]. AppleScript gained a graphical programming front-end called Automator in the most recent major release of Mac OS X, codenamed Tiger, released in April of 2005. Some see HyperCard as an ancestor to Visual Basic by Microsoft. One of HyperCard's strengths was its handling of multimedia, and many multimedia systems like Macromedia Authorware are based on concepts originating in HyperCard.
AppWare, originally known as Sirius Developer, is sometimes seen to be similar to HyperCard, as they were both rapid application development system. AppWare was sold in the early 90s and was remarkable in that its application worked on both Windows and Mac systems.
On a less positive note, as HyperCard executed scripts in stacks immediately on opening it was also one of the first applications susceptible to macro viruses. The Merryxmas virus was discovered in 1993 by Ken Dunham, two years before the "Concept" virus.
Trivia
Originally called WildCard during its development, the name was changed to HyperCard before official release due to trademark issues. The HyperCard application and its associated files retain a creator code of WILD
, reflecting this period of development.
The last sixteen bytes of every HyperCard 2.x stack end with the Pascal string "Nu är det slut …" (Now it is over … in Swedish) though this is never seen by users.
Reference
- Danny Goodman, The Complete HyperCard Handbook (Bantam Books, 1987), ISBN 0966551427
See also
- SuperCard
- mTropolis: multimedia authoring using a drag-n-drop programming system
- Automator: an easy-to-use script authoring environment
- Stagecast Creator: one of a number of similar "if you see this, do this" programming systems
- Morphic: a visual UI building system
External links
- HyperCard Pantechnicon: a living museum of everything HyperCard that allows you to take everything home with you
- A list of HyperCard links
- HyperCard and AppleScript: in French
- History of Visual Basic: a partisan article by David K. Every exploring relations between MS software and HyperCard
- Open Source xTalk Interpreter Archive: An attempt to organize open source HyperCard/HyperTalk clones
HyperCard clones
- HyperStudio: a HyperCard-like product marketed for and popular with education users
- PythonCard: a modern, Open Source HyperCard clone based on the Python scripting language
- Revolution/Dreamcard: a powerful development environment based on MetaCard (which they acquired); imports HyperCard stacks, supports Windows, Mac, and Linux
- ShortDeck: a free stack based development project
- SuperCard: one of the first HyperCard clones, which still provides excellent support for current Mac features and Multimedia; imports HyperCard stacks
- WildFire (formerly the Sphere Project): another open-source HyperCard clone
- ToolBook: a versatile but Windows-only HyperCard clone, today more geared towards CBT (computer-based training).
- FreeCard: written in Java
Discontinued
- HyperNext: an easy to use development system aimed at beginners on both Windows and Macintosh
- HyperSense: another HyperCard clone, originally for NeXT but now available on Mac OS X as well as part of Redstone's Eggplant
- WinPlus download: a discontinued HyperCard clone for Microsoft Windows; this page offers the "viewer" version only
- Oracle Media Objects: a cross-platform (Mac/Windows) clone, discontinued in 1998
Template:Apple softwarede:HyperCard fr:HyperCard it:HyperCard nl:HyperCard ja:HyperCard fi:HyperCard zh:HyperCard