HyperCard

From Dead Media Archive
Jump to: navigation, search

HyperCard was first released in 1987 by Apple Computers and was an 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 Atkinson who also created the MacPaint application and helped develop the Macintosh graphical user interface (GUI).

Origins

Hyper-reality

Error creating thumbnail: Unable to save thumbnail to destination
from Ted Nelson's Dream Machines
(Click here for more images)

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.[1].(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 Memex 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 Nielson, 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)

History

Error creating thumbnail: Unable to save thumbnail to destination
HyperCard Tour Stack from Beekman's HyperCard 2.3 in a Hurry p.10

The HyperCard was released in 1987, and with the promise of free release on subsequent Apple computers. 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 Atkinson 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).

Apple Computers produced the software from 1987-1990 and 1993-2004. Apple's subsidiary Claris Corp took over the production of the brand between 1990 and 1993. During the Claris years, a viewer-only version, the HyerCard Player, was created and included on all Macs instead of the basic HyperCard software. Claris created a separate editor product that users would have to pay to use. HyperCard's only major upgrade, 2.0, was released in 1991 (HyperCard leaves Claris).

When the product returned to Apple, it was eventually rolled into the QuickTime group--because of its multimedia aspects--focusing a new effort to allow HyperCard to be used to create interactive content. QuickTime movies started under the direction of Kevin Calhoun who was a main player in the development of the prototype HyperCard 3.0. The prototype was first presented in 1996 when a beta-quality version was given out at Apple's annual Worldwide Developers Conference. Demos were made throughout the late 1990s that included new features like fully supported color, internet connectivity, and the ability to displayed HyperCard documents in a web browser. However, the product was never released. Apple finally ceased selling HyperCard in March of 2004.[2]

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 (Durkopf,p.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 came with a Home stack that's first five cards contain 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 was the database-like Addresses stack.

Uses

  • Tool for accessing information that was possibly created by someone else.
  • Tool for managing information
  • Software construction kit.
  • Medium for publishing information in a nonsequential form.
  • Gateway--through constructing front ends--to multimedia computer applications including software packages and hardware peripherals(Beekman, p.XXII).

Organization and Output

The program stores forty-two recent cards--similar to memory cache on internet browsers. When the user selects recent cards from a drop down menu, forty-two thumb nails appear in the order visited, and the user can click on any of them to be sent to that card. 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 highlights certain variables. The user must create and design a print layout, and save up to sixteen associated templates with each stack (Beekman,p.44).

Layers and User Levels

Error creating thumbnail: Unable to save thumbnail to destination
Customizing Cards from Beekman's HyperCard 2.3 in a Hurry p.49

HyperCards are composed of two layers: the transparent card layer and the opaque background layer. An interesting mix of dioptrics and catoptrics that are indicitive of the function of the two levels. Depending on the user level selected of 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).

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 wide scale 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:

[Hypertext systems] 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")

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 genealogy 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 acknowledge 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.(Wired Magazine, 2002 [3])
Error creating thumbnail: Unable to save thumbnail to destination
HyperCard chief developer Bill Atkinson
In a televised interview for KCSM TV San Mateo's The Computer Chronicles in 1990, Atkinson mentions that Apple received hundreds of user-submitted stacks. Atkinson goes on to say that the home-made stacks signal user empowerment, and that the stacks he had seen were from non-programmers who used the program to create media with the expertise they already held; labors of passion. Atkinson says that stacks "usually come from something that they do... something that they were interested in before HyperCard came along, and HyperCard just let them express it." Dr.Benkler limns this same compulsion to share knowledge in his work, "The Wealth Of Networks" , only Benkler's analysis describes the way multiple users contribute content to the internet, thus adding to the cultural store of knowledge:

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

Despite its hyped usability, HyperCard suffered from many problems with its functionality. First and foremost, the program required a lot of RAM and worked best off of the user's hard disk. Therefore most of a computer's resources would be allocated to HyperCards. For the user the most noticeable inconvenience beyond the usage of computational power, were issues with saving changes to a HyperCard stack. HyperCard automatically saved all changes to a stack and only allowed the user to undo one action. Because the program automatically remembered where all originals--including the Home stack--are saved, it was very easy to overwrite files. Therefore when updating decks, users had to manually copy originals and move them to new locations on the hard disk or reconfigure the HyperCard's memory options. Another technical issue was due to the fact that HyperCard 3.0 was never released: HyperCards never had integrated color capabilities, and the visual effects only worked in black and white. Finally, any stacks that follow a narrative or are interactive required the time costly act of users planing and mapping out the network of cards (Beekman, p.128).

Technological Genealogy

HyperCard contributed heavily to the skeuomorphic index of computing culture. Albeit superficially, the program was the first to render Nelson's idea of a hyper-realistic computing environment to task, and thus set the bar for subsequent hypermedia systems. The following is an overview of HyperCard's influences across computing culture.

Scripting Languages

HyperTalk came to being at a time when programmers were starting to break away from lower level system programing languages in favor of scripting languages. Whereas languages like Perl and Tcl were widely used by advanced programmers, HyperTalk was among the first scripting languages to be accessible to non-developers for Rapid Application Development. (Ousterhout, p.23)

The grammatical structure developed in HyperTalk has been extended to AppleScript, which is included in the Mac OS platform. AppleScript (like HyperTalk) is a cross-application languages, and their easy-to-adapt grammar encourages computer users to hack on their own machines, creating scripts that make computing tasks more convenient, user-specific, and fun. A large novice hacker audience has grown up around AppleScript development.

Erector Set Logic

Error creating thumbnail: Unable to save thumbnail to destination
Adobe Flash GUI
Error creating thumbnail: Unable to save thumbnail to destination
Max/MSP GUI
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. This is important: HyperCard was the first to affix a graphical metaphor to the concept of object-oriented programing.

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.
Error creating thumbnail: Unable to save thumbnail to destination
Diagram of a HyperCard Stack from Beekman's HyperCard 2.3 in a Hurry p.128
HyperCards allow users to organize information intuitively by context and associations through graphically generated cards. In a similar manner to that used with index cards, users can browse, sort, make notes, draw, type, and cross-reference cards. A card catalog is similar to a HyperCard in that it is composed of several 'cards' that refer the user to some other piece of information. While the information in a HyperCard is self contained (if they do not include any external commands or functions), a card catalog refers to information within another technology, books. But with the additional scripting capabilities of HyperCards, a card can also reference another piece of information that is contained outside of the deck. A Rolodex is a rolling index of cards that usually hold contact information organized alphabetically. While HyperCards are interactive and participatory, they do not allow for random access into the information. The user must enter through the HyperCard program and will be sent to the first card of the deck each time. The user must then navigate to the desired information. Whereas, tabs on the Rolodex or labels on the outside of draws of a card catalog can help a user jump in closer to the information they seek.

References

  1. Nelson, Theodore Holm. Computer Lib/Dream Machines. Distributors, 1974.
  2. Nelson, Theodore Holm and Robert Adamson Smith. Back to the Future: Hypertext the Way It Used to Be. [4]
  3. Nielson, Jakob. “Hypertext ‘87”. ACM SIGCHI Bulletin archive, 1988.
  4. Beekman, George. HyperCard 2.3 in a Hurry: The Fast Track to Multimedia. Peachpit Press, 1996.
  5. "HyperCard leaves Claris, bounces back to Apple." Computer Dealer News 8 Mar. 1993.
  6. Lewis, Peter. H. "PERIPHERALS; It's, Well, HyperCard." New York Times 18 Aug. 1987, Late Edition (East Coast).
  7. "TECHNOLOGY Apple's innovative products. " The Globe and Mail 12 Aug. 1987
  8. Duhrkopf, Richard. "HyperCard Stacks for Biology." The American Biology Teacher.51(8).1989.502-503[5]
  9. Willis, Jr.W.D and Koppe, James, A. "Brain Browser: Hypercard Application for the Macintosh" Science, New Series, 251.1991.1500-1502.[6]
  10. Slatin,John M. "Hypercard and the extension of writing". 10(1).1992.109-116
  11. Berners-Lee, Tim. "Information Management: A Proposal." CERN, March, 1989.
  12. Kahney, Leander. "HyperCard: What Could Have Heen." Wired Magazine. 14 Aug. 2002. [7]
  13. The Computer Chronicles. KCSM, San Mateo. 1 Aug. 1990. [8]
  14. Benkler, Yochai. The Wealth Of Networks: How Social Production Transforms Markets and Freedom. Yale University Press, New Haven, CT, 2006. [9]
  15. Ousterhout, John K. "Scripting: Higher-Level Programming for the 21st Century." CyberSquare Magazine. March 1998.