From Wikipedia, the free encyclopedia
Jump to: navigation, search
HyperCard 2-icon.png
Original author(s) Bill Atkinson
Initial release 1987; 31 years ago (1987)[1]
Last release
2.4.1 / 1998; 20 years ago (1998)
Written in Apple Pascal
Operating system Macintosh: System 6, System 7, Mac OS 8, Mac OS 9
Apple IIGS: GS/OS 5 & 6
Platform Macintosh, Apple IIGS
Available in English
Type Hypermedia, software development
License Proprietary

HyperCard is application software and a programming tool for Apple Macintosh and Apple IIGS computers. It is among the first successful hypermedia systems before the World Wide Web.

It combines database abilities with a graphical, flexible, user-modifiable interface.[2] HyperCard also features HyperTalk, a programming language for manipulating data and the user interface.

This combination of features – simple form layout, database abilities, and ease of programming – led to widespread use in many different roles. Some HyperCard users employed it as a programming system for rapid application development of applications and databases, others for building interactive applications with no database requirements, command and control systems, and many examples in the demoscene.

HyperCard was originally released in 1987 for $49.95 and was included for free with all new Macs sold then.[1] It was withdrawn from sale in March 2004 after its final update in 1998. HyperCard ran in the Classic Environment, but was not ported to Mac OS X.

Similarities and differences to the World Wide Web[edit]

HyperCard influenced the development of the Web in late 1990 through its influence on Robert Cailliau, who assisted in developing Tim Berners-Lee's first Web browser.[3] Javascript was inspired by Hypertalk.[4]

Although HyperCard stacks did not operate over the Internet, by 1988, at least 300 stacks were publicly available for download from the commercial CompuServe network (which was not connected to the official Internet yet) and the system could link phone numbers on a user's computer together and enable them to dial numbers without a modem, using a less expensive piece of hardware, the Hyperdialer.[5]

In this sense, like the Web, it did form a brain-like association-based experience of information browsing via links, despite not operating remotely over the TCP/IP protocol then. Like the Web, it also allowed for the connections of many different kinds of media.



The Apple Macintosh SE/30 was one of the computers that ran the HyperCard program.[6]

HyperCard is based on the concept of a "stack" of virtual "cards".[7] Cards hold data, just as they would in a Rolodex card-filing device. Each card contains a set of interactive objects, including text fields, check boxes, buttons, and similar common graphical user interface (GUI) elements. Users "browse" the stack by navigating from card to card, using built-in navigation features, a powerful search mechanism, or through user-created scripts.[8]

Users build new stacks or modify extant ones by adding new cards. They place GUI objects on the cards using an interactive layout engine based on a simple drag-and-drop interface.[8] Also, HyperCard included prototype or template cards termed backgrounds; when new cards are created they can refer to one of these background cards, which causes all of the objects on the background to be copied onto the new card. This way, a stack of cards with a common layout and functionality can be created. The layout engine is similar in concept to a "form" as used in most rapid application development (RAD) environments (such as Borland Delphi, and Microsoft Visual Basic and Visual Studio).

The database features of the HyperCard system are based on the storage of the state of all of the objects on the cards in the physical file representing the stack. The database did not exist as a separate system within the HyperCard stack; no database engine or similar construct exists. Instead, the state of any object in the system was considered to be live and editable at any time. From the HyperCard runtime's perspective, there was no difference between moving a text field on the card and typing into it, both operations simply changed the state of the target object within the stack. Such changes are immediately saved when complete, so typing into a field caused that text to be stored to the stack's physical file. The system operates in a largely stateless fashion, with no need to save during operation. This is in common with many database-oriented systems, although somewhat different from document-based applications.

The final key element in HyperCard was the script, a single code-carrying element of every object within the stack. The script was a text field which contents were interpreted in the HyperTalk language (detailed below).[8] Like any other property, the script of any object could be edited at any time and changes were saved as soon as they were complete. When the user invokes actions in the GUI, like clicking on a button or typing into a field, these actions are translated into events by the HyperCard runtime. The runtime then examines the script of the object that was the target of the event, like a button, to see if its script object contains code for that event, code termed a handler. If it does, the HyperTalk engine runs the handler, if it does not, the runtime examines other objects in the visual hierarchy.

External video
"HyperCard Mania!" Computer Chronicles, 1987 archive.org (Internet Archive)




HyperCard contains an object oriented scripting language called HyperTalk. Objects exist in a message path hierarchy and respond to messages generated by either the user or the system (timers for instance). Objects inherit properties and attributes from those above them in the hierarchy. HyperTalk object classes are predetermined by the HyperCard environment, although others can be added by the use of externals (see below). HyperTalk is verbose, hence its ease of use and readability. HyperTalk code segments are referred to as "scripts", a term that was considered less daunting to beginning programmers.

Each HyperCard object class, contains a set of "properties". For example, buttons are a type of object, and come in standard styles. To determine, say, whether a checkbox style button is in fact checked, a script can simply call the highlight property,[10] which would return either true or false. In a similar way, objects can be analyzed via functions. For example, the number of lines in text field (another type of object) can be determined by a variant of the number function, called simply as the number of lines of field 'fieldName'. This is very useful when performing a given action on each separate line of the field. The script that implements the action need only call the function to know exactly the number of lines it must process. Should the field data change, the already coded function call will still be accurate.

HyperTalk is a weakly typed language. All variables, and in fact all values of any kind, are stored as typeless character strings handled by the interpreter as numbers or text based purely on context. This has a cost in speed. Variables need not be declared, but rather are created on the fly as they are required. For example, the following expression creates a variable named total, and sets its initial value: put 15 into total. Then the expression add 3 to total would result in the string "18" being stored in that variable. Taking this further, a powerful and intuitive structure known as "chunking" allows precise manipulation of text and number strings. It is possible, for example, to have the second character of the value "123" (the 2) added to the last character of the value "12345", yielding "12347". For another example, word 3 of "life is cruel" (cruel) can be appended after the first word of "Hello world", yielding "Hello cruel world". It would then be possible to put "Goodbye" into the first word of that string, replacing the current value of that word to yield "Goodbye cruel world". The above mentioned terms: character, word, first, last, after, and into, among many others, offer English-like control over the ability to crunch numbers and parse text, down to the character level.


HyperTalk scripting allows the system to be easily modified and extended. Unlike many procedural languages, and even many scripting languages, HyperTalk proved to be far more accessible to a wide range of users, partly because scripts were more or less readable as English. For instance, put the first word of the third line of field "hello" into field "goodbye" did exactly that. Referring to objects and the items on cards or backgrounds is easy. The example above shows how to access data within a field on a given card, but one can refer to any object in the same fashion, including the stack. All objects can be named or renamed, as in the example above. Also, each object (including the stack) has a unique numeric identifier (ID) that never alters during the object's life.

Adding scripts is also easy. The user simply command-option-clicked (or 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 may then be edited, saved, and used immediately. Also, HyperCard contains a Message Box, an interactive command-line in a floating window that can execute single lines of script. This also includes the find command, so it doubles as a search dialog. HyperCard 2.0 added a debugger, also.

HyperTalk was sufficiently popular that one of its main uses was not as a database, but as a programming tool that empowered ordinary computer users. Thousands of stacks were written and distributed as stackware in the years when HyperCard was widely available. As stated above, programming "for the rest of us", that is, for non-professionals, allowed many thousands of personal applications to be created by individuals with a need for personal software solutions. Some are still in use today.




During HyperCard's peak popularity in the late 1980s, a whole ecosystem of vendors offered thousands of these externals for everything from HyperTalk compilers to graphing systems, database access, internet connectivity, and animation. Oracle offered an XCMD that allowed HyperCard to directly query Oracle databases on any platform. This was later superseded by Oracle's Oracle Card product. BeeHive Technologies offered a hardware interface that allowed the computer to control external devices. Connected via the Apple Desktop Bus (ADB), this instrument could read the state of connected external switches or write digital outputs to a multitude of devices.



HyperCard was created by Bill Atkinson following an LSD trip.[11] Work for it began in March 1985 under the name of WildCard (hence its creator code of 'WILD'). In 1986, Dan Winkler began work on HyperTalk and the name was changed to HyperCard for trademark reasons. It was initially released in August 1987, with the understanding that Atkinson would give HyperCard to Apple only if the company 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 many automation and prototyping tasks, a surprise even to its creator.[citation needed] Apple never seemed to understand what HyperCard's target market for users should be. Project managers found it was being used by a huge number of people, internally and externally. Bug reports and upgrade suggestions continued to flow in, demonstrating it had a wide variety of users. Since it was also free, it was difficult to justify dedicating engineering resources to improvements in the software. It was not lost on Apple or its mainstream developers that the power HyperCard gave to people could cut into the sales of ordinary shrink-wrapped products.[12] Stewart Alsop II speculated that HyperCard might replace Finder as the Macintosh graphical user interface.[13]

HyperCard 2.0[edit]


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 abilities of the IIGS. Although stacks (HyperCard program documents) were not binary-compatible, a translator program (another HyperCard stack) allowed stacks to be moved from one platform to the other.

Then, Apple decided that most of its application software packages, including HyperCard, 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. At first the freely-distributed versions of HyperCard shipped with authoring disabled. Early versions of Claris HyperCard contained an Easter Egg: typing 'magic' into the message box would convert the player into a full HyperCard authoring environment.[14] When this trick became nearly-universal 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, and the first failed attempt to create a third generation of HyperCard. During this period, HyperCard began losing market share. Without several important, basic features, HyperCard authors began moving to systems such as SuperCard and Macromedia Authorware. Nonetheless, 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.


HyperCard 3.0[edit]

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 Apple Worldwide Developers Conference (WWDC).[15] Under the leadership of Dan Crow development continued through the late 1990s, with public demos showing 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 developing QuickTime interactive to the streaming features of QuickTime 4.0.[16] Steve Jobs disliked the software because Atkinson had chosen to stay at Apple to finish it instead of joining Jobs at NeXT, and (according to Atkinson) "it had Sculley's stink all over it".[11] In 2000, the HyperCard engineering team was reassigned to other tasks after Jobs decided to abandon the product. Calhoun and Crow both left Apple shortly after, in 2001.

In the years that followed, the program saw no more support from Apple, which finally ceased selling HyperCard in March 2004.[17]

HyperCard runs natively only in the classic Mac OS, but it can still be used in Mac OS X's Classic mode on PowerPC based machines (G5 and earlier). The last functional native HyperCard authoring environment is Classic mode in Mac OS X 10.4 (Tiger) on PowerPC-based machines (although it can be run on modern Intel-based machines, including non-Apple hardware, by using an emulation layer such as SheepShaver).



Due to its rapid application design facilities, HyperCard was also often used for prototyping applications and sometimes even for version 1.0 implementations. Inside Apple, the QuickTime team was one of HyperCard's biggest customers.

HyperCard has lower hardware requirements than Macromedia Director. Several commercial software products were created in HyperCard, most notably the original version of the interactive game narrative Myst,[18] 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. An early electronic edition of the Whole Earth Catalog was implemented in HyperCard [19] and stored on CD-ROM.[20]

The prototype and demo of the popular game You Don't Know Jack was written in HyperCard.[21][22] Renault, the French auto manufacturer, used it to control their inventory system.[7][23]



Activision, which was until then mainly 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,[19] a personal information manager, and Reports For HyperCard, a program by Nine To Five Software that allowed users to treat HyperCard as a full database system with robust information viewing and printing features.

The HyperCard-inspired SuperCard for a while included the Roadster plug-in that allowed stacks to be placed inside Web pages and viewed by web browsers with an appropriate browser plug-in. There was even a Windows version of this plug-in allowing computers other than Macintoshes to use the plug-in.


The first HyperCard virus was discovered in Belgium and the Netherlands in April 1991.[24]

Because 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 early 1993[25] by Ken Dunham, two years before the Concept virus.[26] Very few viruses were based on HyperCard, and their overall impact was minimal.


Compute!'s Apple Applications in 1987 stated that HyperCard "may make Macintosh the personal computer of choice". While noting that its large memory requirement made it best suited for computers with 2 MB of memory and hard drives, the magazine predicted that "the smallest programming shop should be able to turn out stackware", especially for using CD-ROMs.[27] Compute! predicted in 1988 that most future Mac software would be developed using HyperCard, if only because using it was so addictive that developers "won't be able to tear themselves away from it long enough to create anything else".[28] Byte in 1989 listed it as among the "Excellence" winners of the Byte Awards. While stating that "like any first entry, it has some flaws", the magazine wrote that "HyperCard opened up a new category of software", and praised Apple for bundling it with every Mac.[29] In 2001 Steve Wozniak called HyperCard "the best program ever written".[30]




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 a local hard disk. HyperCard had a significant impact on the web as it inspired the creation of both HTTP (through its influence on Tim Berners-Lee's colleague Robert Cailliau),[33] and JavaScript (whose creator, Brendan Eich, was inspired by HyperTalk[34]). It was also a key inspiration for ViolaWWW, an early web browser.[35]

The pointing-finger cursor used for navigating stacks was later used in the first web browsers, as the hyperlink cursor.[36]


According to Ward Cunningham, the inventor of Wiki, the wiki concept can be traced back to a HyperCard stack he wrote in the late 1980s.[38][39][40]

In 2017 the Internet Archive established a project to preserve and emulate HyperCard stacks, allowing users to upload their own.[41]

Similar systems[edit]

Other companies offered their own versions. As of 2010, four products are available which offer HyperCard-like abilities:

  • HyperNext is a software development system that uses many ideas from HyperCard and can create both standalone applications and stacks that run on the freeware Hypernext Player. HyperNext is available for Mac OS 9 & X, and Windows XP & Vista.
  • HyperStudio, one of the first HyperCard clones, is as of 2009, developed and published by Software MacKiev.[42]
  • LiveCode, published by LiveCode, Ltd., expands greatly on HyperCard's feature set[43] and offers color and a GUI toolkit which can be deployed on many popular platforms (Android, iOS, Classic Macintosh system software, Mac OS X, Windows 98 through 10, and GNU Linux/Unix). LiveCode directly imports extant HyperCard stacks and provides a migration path for stacks still in use.
  • SuperCard, the first HyperCard clone, is similar to HyperCard, but with many added features such as: full color support, pixel and vector graphics, a full GUI toolkit, and support for many modern Mac OS X features. It can create both standalone applications and projects that run on the freeware SuperCard Player. SuperCard can also convert extant HyperCard stacks into SuperCard projects. It runs only on Macs.

Past products included:

  • Hyper DA by Symmetry was a Desk Accessory for classic single-tasked Mac OS that allowed viewing HyperCard 1.x stacks as added windows in any extant application, and was also embedded into many Claris products (like MacDraw II) to display their user documentation.
  • HyperPad from Brightbill-Roberts was a clone of HyperCard, written for DOS. It made use of ASCII linedrawing to create the graphics of cards and buttons.
  • Plus, later renamed WinPlus, was a product similar to HyperCard, for Windows and Macintosh.
  • Oracle purchased Plus and created a cross-platform version as Oracle Card, later renamed Oracle Media Objects, used as a 4GL for database access.
  • TileStack was an attempt to create a web based version of HyperCard that is compatible with the original HyperCard files.[44] The site closed down January 24, 2011.[45][46]

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 similar to HyperTalk; it is often used for desktop publishing (DTP) workflow automation needs.[citation needed] In the 1990s FaceSpan provided a third-party graphical interface, and continues to do so today. AppleScript also has a native graphical programming front-end called Automator, released with Mac OS X Tiger in April 2005. One of HyperCard's strengths was its handling of multimedia, and many multimedia systems like Macromedia Authorware and Macromedia Director are based on concepts originating in HyperCard.[47]

AppWare, originally named Serius Developer, is sometimes seen to be similar to HyperCard, as both were rapid application development (RAD) systems. AppWare was sold in the early 90s and worked on both Apple Mac and MS Windows systems.

See also[edit]


  1. ^ a b "Hypercard – How About New Mac Owners", Mac GUI 
  3. ^ People involved in the WorldWideWeb project
  4. ^ Dr. Axel Rauschmayer, Speaking JavaScript: An In-Depth Guide for Programmers (O'Reilly, 2014)
  5. ^ HyperCard:The First Eight Months, InfoWorld, 11 Apr 1988, page 37
  6. ^ USA, Jeff Keyzer from Austin, TX (2011-01-07), Apple Macintosh SE/30, retrieved 2015-11-16 
  7. ^ a b c Kahney, Leander (August 14, 2002), "HyperCard Forgotten, but Not Gone", Wired, archived from the original on 2010-02-06 
  10. ^ "HyperTalk Reference stack", Apple, Page 278 (not to be confused with the "checkMark" property described on Page 260)
  11. ^ a b Bill Atkinson interviewed on the TV show Triangulation on the TWiT.tv network (link)
  12. ^ Adams, Douglas (2002) [1989]. "Frank the Vandal". MacWorld. Pan MacMillan. 
  13. ^ Alsop, Stewart II (1988-01-18). "Apple's Finder: Maturity in UI" (PDF). P.C. Letter. 4 (2): 4–5. 
  14. ^ "Apple's taken HyperCard back from Claris. Here's what they've done with it". Claris also tried an interim scheme of shipping a crippled, low user-level, Home stack, which users could override by typing 'magic' in the message box. There was some confusion between this version and the Player, that had people trying unsuccessfully to type 'magic' in the message box of the Player. The magic in HyperCard 2.2 is all plain and visible. 
  18. ^ Breen, Christopher (December 1993). "A Spectacle Not To Be Myst". Computer Gaming World. pp. 114, 116. Retrieved 29 March 2016. 
  19. ^ a b HyperCard Mania!. Computer Chronicles, 1987. Stewart Cheifet Productions (archive.org)
  20. ^ A Brief History of The Whole Earth Catalog, Whole Earth
  21. ^ "You Don't Know Jack For Macintosh (1995)". MobyGames. Retrieved 23 January 2016. 
  22. ^ "Apple HyperCard: Precursor to the First Web Browser". DailyMotion. FORA.TV. Retrieved 23 January 2016. 
  26. ^ "HyperCard", Pantechnicon (wiki), CA: UQAM, archived from the original on September 26, 2006 
  27. ^ "Information On A Card". Compute!'s Apple Applications. December 1987. p. 6. Retrieved 18 August 2014. 
  28. ^ Leemon, Sheldon (April 1988). "The Hazards of HyperCard". Compute!. p. 49. Retrieved 18 August 2014. 
  30. ^ "Wozniak's fireside chat". Macworld. 2001-06-22. Retrieved 16 February 2015. 
  31. ^ "Programming Paradigms, Dr. Dobbs Journal, Jun 1990". The biggest failing of HyperCard for anyone interested in hypertext is the lack of text links. 
  32. ^ "HyperCard: What Could Have Been", Wired, Aug 2002 
  33. ^ Cailliau, Robert, How It Really Happened, Computer, archived from the original on January 6, 2011  (on the WWW proposal).
  34. ^ Eich, Brendan (1998), JavaScript Bible (3rd ed.), Danny G, archived from the original on April 15, 2008 
  35. ^ Gillies, James; Cailliau, Robert (2000). How the Web was born: The Story of the World Wide Web. Oxford: Oxford University Press. p. 213. ISBN 0-19-286207-3. I got a HyperCard manual and looked at it and just basically took the concepts and implemented them in X-windows [sic]. 
  36. ^ Granneman, Scott, "1987", Computing history 1968–present 
  37. ^ "Part 33: Myst", The Essential 50, 1UP, archived from the original on May 23, 2011 
  38. ^ "Wiki History", C2 (wiki) 
  39. ^ Bruning, Kim, Wikinewsie discusses Wikimania (Interview) 
  41. ^ Scott, Jason (August 11, 2017). "HyperCard On The Archive (Celebrating 30 Years of HyperCard)". The Internet Archive. After our addition of in-browser early Macintosh emulation earlier this year, the Internet Archive now has a lot of emulated Hypercard stacks available for perusal, and we encourage you to upload your own, easily and quickly. 
  42. ^ "HyperStudio". Software MacKiev. Retrieved August 31, 2009. 
  43. ^ "LiveCode is Next Generation of HyperCard". opensource.com. February 23, 2013. 
  44. ^ "HyperCard comes back from the dead to the web", Slashdot, June 7, 2008 
  45. ^ "Farewell to Tilestack". 
  46. ^ @tilestack (January 25, 2011). "Farewell. tilestack.com" (Tweet) – via Twitter. 
  47. ^ Keating, Anne B; Hargitai, Joseph R (1999). The Wired Professor: A Guide to Incorporating the World Wide Web in College Instruction. NYU Press. p. 178. ISBN 978-0814747254. Retrieved 23 January 2016. 

Bibliography [edit]

External links[edit]