HyperCard
HyperCard was first released in 1987 by Apple Computers and was a successful, object-oriented Hypermedia system featuring the Hypertalk programming language. HyperCard allowed written and graphical information to be accessible in a nonlinear format. It was the brain child of Bill Atkins who also created the MacPaint application and helped develop the Macintosh graphical user interface (GUI).
Contents
History
The HyperCard was released in 1987, with a great deal of fan fair. The creator, Atkinson, developed HyperCard for Apple to be released for free on their computers. HyperCard was a huge hit almost instantly. 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 report and upgrade suggestions continued to flow in from a wide variety of users; clearly people were interested in it.[1]
Apple Computers produced the software until 1990 when its subsidiary Claris Corp took over until 1993 when Apple Computers took back the brand. HyperCard software was bundled for free with Macintosh computers from 1987. HyperCard's only major upgrade, 2.0, was released in 1991 (HyperCard leaves Claris). Then, seemingly to add insult to injury, Apple decided that all software including HyperCard should be a part of their Claris division. Many of the developers refused to move from Apple. Claris, in the business of selling software for a profit, also never understood HyperCard.
At Claris,a "viewer" only version, the HyerCard Player, was created. Claris would sell an editor product, whereas Apple would include the HyperCard Player on the system CDs. People would now have to pay to use the product which many considered to be basic part of the Mac.
HyperCard was hyped by Apple as an accessible way for the everyday user of computers to create graphical programs. According to George Beekman, author of HyperCard 2.3 in a Hurry: The Fast Track to Multimedia, “Before HyperCard, it simply wasn’t possible for a computer neophyte, with an investment of a dozen hours to build sophisticated graphic presentations with complex logical structures. With HyperCard, beginners turn into programmers every day” (p.XV). Bill Atkins himself stated in 1987 that HyperCard is "an attempt to bridge the gap between the priesthood of programmers and the Macintosh mouse clickers" (Lewis). In March of 1993, Apple claimed to have three million active HyperCard users and 100,000 active corporate, educational and commercial developers. The company attributed HyperCards popularity in schools due to the simple programming language and in corporations as a front-end to databases and other applications(HyperCard leaves Claris).
Several attempts were made to re-start HyperCard at Apple. The product was eventually rolled into the QuickTime group as it seemed to have something to do with multimedia, and a new effort to allow HyerCard to be used to create interactive. QuickTime movies started under the direction of Kevin Calhoun. The resulting HyperCard 3.0 was first presented in 1996 when a beta-quality version was given to developers at Apple's annual Worldwide Developers Conference. Demos were made throughout the late 1990s, showing every feature one could as for, color support, internet connectivity, and the ability to be displayed in a web browser with no effort. For some reason the product was never released, and Kevin Calhoun, the real force in the effort, left Apple in 2001. Apple finally ceased selling HyperCard in March of 2004.[2]
Patent
- Patent Number: 5,228,137/Date of Patent: Jul.13,1993
"A method of simultaneously executing one or more computer application programs in one or more host computer system under the control of a second computer system, where the second computer system performs operations on data and instructions and the host computer systems generates presentation information based on the application programs, involves establishing selected parameters in the host computer presentation information, interpreting selected portions of the host computer system's presentation information providing the interpreted selected portions of the host computer system's presentation information as input to a computer program resident in the second computer systerm, examining the host computer system presentation information at the second computer system to detect the presence therein of one or more the selected parameters, continuing operation of the second computer system during the examining for the selected parameters, and generating an indication to the second computer system of the detection of one or more of the selected parameters in the host computer system presentation information." -Appl.No:549,889. Filed: Jul.9,1990.- [3]
Origins
Hyper-reality
We have entered the age of hyper-reality.
Day-to-day living provides only a limited variety of physical stimulus, and little incentive to manipulate the physiological and psychological processing involved. Man’s historical preoccupation with the need to maintain constant images of the physical world, is a product of his extreme orientation toward physical survival in a hostile environment. The current evolving of society of leisure orientations removes this need for constant images and thereby enhances the opportunities for a more complete use of the sensory apparatus and those related brain functions. Many have turned to drugs or meditation. More specifically it is proposed here, that modern communications technology be employed as a ‘vehicle of departure’ from this need for constant images, to bring about a more complete use of human technology itself. Hyper-reality is the employment of technology other than the biological machinery, when used to affect the performance of the biological machinery beyond its own limitations. This is almost like making adjustments on a television set, except you are what’s plugged in, and the controls are outside your body, being part of whatever technology is interfaced to the body itself. As part of such a man-machine interface you could extend your own mental processes, or if you should choose, you could just diddle with the dials. Hyper-reality is an opportunity to enhance the various qualities of the human experience. Reality is obsolete.
—How Wachspress (Nelson, p 44)
In Theodore Holm Nelson’s Dream Machines (an artifact of computing culture that is more of a ‘zine than a book), hypermedia is philologically explained in terms of hyper-reality. The advent of hyper-reality represents a change in the human sense apparatus, challenging the linearity of vision by overlaying another viewing dimension exposing the fractured and interconnected status of all objects. To access this dimension, man needs certain technologies, or rather, man must technologize the body in interfacing with a machine that can parse and assist in the navigation of the new viewing dimension. The underlying data structure that supports hyper-reality and renders it usable is hypertext and hypermedia.
Hypertext and Hypermedia
The terms hypertext and hypermedia, as they pertain to computing, are officially attributed to Nelson, who described the phenomenon as text or other media “visibly cross-connected by two-way links and transclusions.[4].(Nelson goes on to define transclusions as any method of “presentation which indicates the identity or origins of media content”.) The term, coined in 1965, expressed possibilities that were still two decades away from fruition. Hypertext owes its origin to engineer Vannevar Bush’s allegorical Mimex machine: a microfilm-based system of organizing media, regardless of their format, using a navigation scheme modeled after the non-linear twists and turns of mental association (Nelson, p 45). The technological feasibility of such a non-linear hypertextuality was not realized until the mid-1980’s. By the late 1980s, programmers and software engineers began to see broader possibilities for hypertext; increased computation speed, wider proliferation and accessibility of personal desktop computers, and greater interest in a nascent public internet drove computer scientists to consider new ways of human computer interaction (HCI) that could include hypertextuality. By 1987, the concept had been linked to a specific definition pertaining exclusively to computers, and the first Conference on Hypertext and Hypermedia was held by the Association for Computing Machinery to address the fledgling theory. This coincided with the release of Apple’s first version of HyperCard. Computer Scientist and hypermedia pioneer, Jakob Neilson, inaugurated the first ACM Hypertext and Hypermedia conference, and introduced hypertext as:
non-sequentially linked pieces of text or other information. If the focus of such a system or document is on non-textual types of information, the term hypermedia is often used instead. In traditional printed documents, practically the only such link supported is the footnote, so hypertext is often referred to as "the generalized footnote". (Nielson, p 27)
HyperCard's Functionality
A HyperCard document is referred to as a stack that is comprised of cards. Each card is of an identical size established by the user when the stack is created (until the 2.0 release that allowed for variable sized cards). A user can browse the cards in a stack in the sequential order that they were created. Many cards will have buttons, or links, that will allow the user to jump to cards with related information and to bypass the order. Buttons may be hidden or visible to the user. Hidden buttons respond to clicks even though they aren’t visible, for example introductory cards often used hidden buttons that would take up the whole screen that would send you to the next card.
"HyperCard can best be described as a data-base. It is like an electronic stack of index cards with information. A single card is put on the screen. The card has a variety of buttons and "hot spots." By moving cursor with the mouse and clicking on those buttons and hot spots, the user can move from one card to the next, or from one stack to another. To some extent, the best analogy might be a sophisticated electronic textbook."(Durkopf,1989:502)
HyperCard Lets users organize the information intuitively by association and context.HyperCard uses graphically generated index card. One can browse, sort,make notes, draw, type, and cross-reference cards in the same manner as can be done with paper index cards.(Willis, Jr. and Koppe, p.1500)
HyperCard players came with most Macs in the early 1990s. While the players allowed the user to read stacks the HyperCard program was required on the hard disk of the machine if the user desired to edit or create new stacks. Hypercard came with a Home stack that's first five cards hold buttons that will direct the user to applications, documents and other stacks. This stack is accessible through a drop down menu in every other stack (Beekman, p.342). Another stack that is included with HyperCard is the Addresses stack.
Uses
- Tool for accessing information- contains links that lead you to other related information. A medium for receiving packages of information that were created by someone else
- Tool for managing information
- Software construction kit- Bill Atkinson, HyperCard’s creator, calls it a ‘software erector set
- Medium for publishing information in a nonsequential form
- Gateway to multimedia computer applications – (Beekman, p.XXII) “it is often used to create friendly ‘front ends’ for other software packages, hardware peripherals, and multimedia devices.” Ex. Devices like videodisc player or CD-ROM drive
Organization and Output
The program stores 42 “recent cards.” When you select recent cards from a drop down menu, you see all 42 cards thumb nails in the order you visited (minus repeats) you can click on any of them to be sent to the card. This is similar to memory cache on internet browsers. The user can also mark cards so that they can be quickly accessed or grouped for printing. In the standard address stack, the user simply clicks the top right corner of the card, and the corner will ‘fold over.’ This skeuomorph reminds the user of selecting a subset of papers or note cards by physically turning over a corner of the paper so the user can easily separate the marked cards/sheets from the rest of the group. The user can mark cards by searching for cards with specific text. There is an option for searching for multiple terms using a intersection or union of two or more variables (Beekman, p.39).
The user can select marked cards or the entire stack to print. As opposed to printing the actual cards, the program can print reports similar to those produced by contemporary database software that highlight certain variables. The user must create and design a print layout that can be saved as a template. HyperCard stacks may have up to sixteen associated templates (Beekman,p.44).
Layers and User Levels
HyperCards are composed of two layers: the transparent card layer and the opaque background layer. Depending on the user level selected on the last card of the deck, the user will have different degrees of access and editing ability on the two levels of the card. The five different user levels include: 1 Browsing, 2 Typing, 3 Painting, 4 Authoring, and 5 Scripting. The browsing level is the most restricted and will only allow the user to navigate through the cards via buttons. Level 2 allowed the users to populate and edit text fields on the card layer, but did not allow them to access the background layer or create any buttons. The painting level allowed the user to change the appearance of the card level. Authoring allowed the users to access the background layer, create buttons that link cards and stacks together, and create fields. Any change to the background of one card, effected all the other cards that utilized the same background. Therefore if the user wanted to make a specific graphical change or add a button to just one card, they would add it at the card level. The final level was scripting and it allowed the user to script stacks, background, cards, buttons, and fields (Beekman, p.50).
ADD SOMETHING MORE ABOUT SCRIPTING HERE AND ITS RELATIONSHIP WITH OTHER APPLICATIONS
HyperCard and the Extension of Writing
HyperCard begins to suggest how the computer can extend the concept of writing.
- "The first extension has less to do with HyperCard than with the fact that computers work with digitally encoded information. As Richard Lanham(1989) has pointed out, digital encoding makes text coextensive with other digitally encoded material from music to video; thus "Writing" comes to include visual and auditory dimensions that used to belong to other media." (Slatin,1992:114)
- "HyperCard extends writing to include programming. Though I hasten to add that it is quite possible to create highly successful HyperCard stacks without writing a single line of code, it is important to recognize that "Computer programming is a kind of writing,"as Jay David Bolter(1991:9)has said, and that the problems involved in the design of computers and computer software are precisely language problems.Moreover, HyperCard's scripting language HyperTalk is more tolerant of syntactic and verbal variety than any other programming language that I know. (Slatin,1992:115)
- "The user interface mediates a person's relationship with the computer it includes not only screen layout but also the "behavior" of the elements on the screen. Perhaps even more vital, the user interface mediates relationships with materials off-screen. The interface provides access to the functions of the computer-functions that readers require, for example, in order to activate links they wish to follow. Interface issues are thus rhetorical issues. (Slatin, 1992:115)
HyperTalk
Underneath the HyperCard's user-friendly GUI is a scripting language that can be used to create cards instead. Users seeking to access other applications on the local machine (including drivers that talk to peripheral devices), or even those interested in delving deeper into programming were encouraged to pick up HyperTalk. HyperTalk is a high level scripting language, meaning that it is a human-readable abstraction of the commands governing the computer's hardware. As such, programmers will "talk" to the machine in code that resembles English vocabulary, and create statements that mimic English grammar, rather than having to type out 1s and 0s natively understood by the machine.
Scripting Grammar
The entire philosophy behind HyperTalk is one of accessibility, and it was revolutionary in that it broke with the norms of computer languages in terms of grammar and naming conventions. C++ is a lower level language that requires programmers to accustom themselves to certain grammatical structures that are not easily comprehended as descriptive language. HyperTalk, however, uses a grammar more like speech, employing "verb-arguments" that describe which operation is to be performed. Below are two examples of a simple counting function; a variable starts at zero, and then increases by 1 until it reaches 9, and the value of the variable is displayed to the user at each iteration. The first is written in C++, and the second in HyperTalk:
int x = 0; while(x < 10) { cout>>x>>\n; x++; }
set x to 0 repeat until x equals 10 put x add 1 to x end repeat
Although these two functions do the exact same thing, the HyperTalk version can be easily understood by a non-programmer, due to its semblance to English. Also, the lack of characters such as the wrapping curly braces and delineating semi-colons add to the impression that the user is in fact "talking" freely to the machine, rather than coding functions for it.
Rapid Application Development
HyperTalk succeeds as a scripting language because it eliminates the compile-link-run cycle that bogs down the development process when creating in lower-level languages. This feature aids the development process by allowing a programmer to debug a portion of the program, and test their new code right where the bug left off, without having to restart their program from the very beginning. Furthermore, a casual HyperCard user is probably unfamiliar with the compiling process necessary in programming in a low level language, so this feature makes application prototyping more user-friendly.
Failures
Theorists have criticized HyperCard from the outset for introducing a graphical metaphor that was incompatible with hypermedia’s broader intentions. At the inaugural address of the 1987 ACM Hypermedia conference, computer scientist Andy van Dam cautioned against widescale acceptance of HyperCard’s GUI, saying “[w]e would not want to be limited to a single way of looking at the world such as in HyperCard.” (Nielson, p 30) The graphical metaphor of HyperCard falls into what Ted Nelson would call a “virtual reality” trap. Instead of challenging the writing act; the notion of paper, and the office environment one normally associates with the task of writing; HyperCard seeks to simulate it (see: Nelson's Xanadu). The skeuomorphic motif of “cards” and “stacks” are meant to conjure for the user the rolodex or a group of index cards, thus encouraging the familiarity associated with these objects.
"l'internet raté"
While it is true that HyperCard contributed much to the visual and topological syntax of modern-day networked computing, it is a myth that HyperCard once stood a real chance at becoming the predominate tool for browsing the internet. Tim Berners-Lee, engineer and internet pioneer, did indeed remark that he was inspired by the visual metaphor HyperCard presented (one of interlinking screens of information), but any further linkages to HyperCard end there. Berners-Lee wrote in 1989 regarding the future of the internet, and how hypertext should be introduced as both the underlying logic of linking various documents and as the visual metaphor for users:
Most of them use "hot spots" in documents, like icons, or highlighted phrases, as sensitive areas. touching a hot spot with a mouse brings up the relevant information, or expands the text on the screen to include it. Imagine, then, the references in this document, all being associated with the network address of the thing to which they referred, so that while reading this document you could skip to them with a click of the mouse.
It has been difficult to assess the effect of a large hypermedia system on an organization, often because these systems never had seriously large-scale use. For this reason, we require large amounts of existing information should be accessible using any new information management system. (Berners-Lee, "Information Management: A Proposal")
"Hypertext" is a term coined in the 1950s by Ted Nelson [...], which has become popular for these systems, although it is used to embrace two different ideas. One idea (which is relevant to this problem) is the concept: "Hypertext": Human-readable information linked together in an unconstrained way.
The other idea, which is independent and largely a question of technology and time, is of multimedia documents which include graphics, speech and video. I will not discuss this latter aspect further here, although I will use the word "Hypermedia" to indicate that one is not bound to text.
Ultimately, Berners-Lee sought to introduce the idea of hypertextuality to multiuser networks, not HyperCard itself. Thus, modern internet syntax owes to Ted Nelson's original idea of hyper-reality rather than HyperCard. In the passage cited above, Berners-Lee suggests that methods of embedding rich media ("Hypermedia") might not be possible to implement in a project at the scale of the internet he envisioned at the time. Thus an attempt to attribute the geneology of the internet to HyperCard would be superficial at best.
HyperCard was also not capable to support the internet infrastructure envisioned by Berners-Lee due to the fact that HyperCard stacks had to be housed in their entirety on the local machine. On the internet, when a user visits a site, only immediately-required data are downloaded to the user's machine. This means that a browser does not need to be aware of each individual page bundled into a web site; the browser only needs to acknoledge the ones currently requested by the user. HyperCard, in contrast, requires the entire stack, and all embedded media, to be present. HyperCard's chief developer, Bill Atkinson, actually accepted HyperCard's failure to adapt to a multiuser infrastructure compatible with the grand scale of the burgeoning internet, saying:
I have realized over time that I missed the mark with HyperCard... I grew up in a box-centric culture at Apple. If I'd grown up in a network-centric culture, like Sun, HyperCard might have been the first Web browser. My blind spot at Apple prevented me from making HyperCard the first Web browser... You don't transfer someone's website to your hard drive to look at it. You browse it piecemeal.... It's much more powerful than a stack of cards on your hard drive.
It is this combination of a will to create and to communicate with others, and a shared cultural experience that makes it likely that each of us wants to talk about something that we believe others will also want to talk about, that makes the billion potential participants in today’s online conversation, and the six billion in tomorrow’s conversation, afrmatively better than the commercial industrial model.
(Benkler, p 55)
It then follows that both HyperCard and the internet offer tools of authoring that privilege content over programming skill, but HyperCard fostered an environment where the knowledge this content produced could only be conferred upon the public by the creator directly. The internet, conversely, is based on a more decentralized model of distribution. Intrinsic to this particular failure is an economic one. As HyperCard gained in popularity as an authoring system, several firms sprang up to sell custom-made stacks to consumers (some of which still persist today). This represents a highly centralized distribution system for HyperCard stacks with small firms at the head of the distribution chain. Stacks sold as stand-alone programs on floppy disk retailed at prices anywhere from $45 to $250. This model of distribution contrasted with the project of the internet on a very fundamental level: generally speaking, it has never been acceptable for users to pay to simply view content from a web browser.
Problems
- Can’t undo more than one action. The user must be aware of accuracy and check after every step of construction.
- Easy to save over files. You have to manually move originals and copies around as well as configure the memory options within HyperCard to avoid this from happening.
- For stacks that follow narrative or are interactive you need to take a long time to plan and map out the network of cards is required
- Required a lot of RAM
- Does not have integrated color capabilities- visual effects only work in black and white (Poole, p.855)
Technological Genealogy
AppleScript
The grammatical structure developed in HyperTalk has been extended to AppleScript, which is included in the Mac OS platform.
Erector Set Logic
The ability to drag and drop modules that graphically representing operations, variable, media, or other media is present in many of today's application authoring platforms and multimedia creation interfaces. Adobe Flash and Max/MSP are two programs that have inherited such a visual vocabulary. Both Flash and Max/MSP consist of a user-friendly GUI for rapid prototyping, and a scripting language backend (ActionScript for Flash, and JavaScript for Max/MSP). The interface of these programs lend the impression that media systems can be created using "erector set logic," where interconnected modules can be physically cobbled together on a graphical canvas, with the scripting language translating the design into executable code behind the scenes.Browser metaphors
HyperCard introduced the hotlink cursor (the pointing hand that appears over a hyperlink) that to this day signals a hyperlink.
Databases
In much of the early press related to Hypercard, journalists referred to the application as 'database software' ("TECHNOLOGY"). But the creator of HyperCard and Apple Computers insisted that HyperCard was a new kind of application beyond anything on the market in 1987 (Lewis).
Presentation software
Today's modern presentation software (e.g. Microsoft's PowerPoint) has the same goal of presenting information and graphics in small digestible pieces. Also the transitions between cards can be seen remediated in the transitions between slides.
Cards and Organization Systems
The remediation of paper cards is obvious throughout a user's experience with HyperCard due to the fact that each unit within a document is referred to as a 'card.' The aggregated cards form 'stacks,' despite the fact that they are more accurately a web of connected cards. Most strikingly, these references are to index cards that can be their own technology or put within the organizational systems of a card catalog or a Rolodex.References
- Nelson, Theodore Holm. Computer Lib/Dream Machines. Distributors, 1974.
- Nelson, Theodore Holm and Robert Adamson Smith. Back to the Future: Hypertext the Way It Used to Be. [5]
- Nielson, Jakob. “Hypertext ‘87”. ACM SIGCHI Bulletin archive, 1988.
- Beekman, George. HyperCard 2.3 in a Hurry: The Fast Track to Multimedia. Peachpit Press, 1996.
- "HyperCard leaves Claris, bounces back to Apple." Computer Dealer News 8 Mar. 1993.
- Lewis, Peter. H. "PERIPHERALS; It's, Well, HyperCard." New York Times 18 Aug. 1987, Late Edition (East Coast).
- "TECHNOLOGY Apple's innovative products. " The Globe and Mail 12 Aug. 1987
- Duhrkopf, Richard. "HyperCard"Stacks for Biology. The American Biology Teacher.51(8).1989.502-503[6]
- Willis,Jr.W.D and Koppe,James,A."Brain Browser:Hypercard Application for the Macintosh" Sience, New Series, 251.1991.1500-1502.[7]
- Slatin,John M. "Hypercard and the extension of writing". 10(1).1992.109-116
- Berners-Lee, Tim. "Information Management: A Proposal." CERN, March, 1989.
- Kahney, Leander. "HyperCard: What Could Have Heen." Wired Magazine. 14 Aug. 2002. [8]
- The Computer Chronicles. KCSM, San Mateo. 1 Aug. 1990. [9]
- Benkler, Yochai. The Wealth Of Networks: How Social Production Transforms Markets and Freedom. Yale University Press, New Haven, CT, 2006. [10]