You've heard about HyperCard. You even have an idea for a HyperCard application. Before you decide to invest your valuable time developing applications for this organizational tool you need to know some general information about what is it, and what does it do? This document is designed to answer these questions (and some others), and discuss the development opportunities HyperCard offers.
What Is HyperCard?
HyperCard is a personal software toolkit that gives you the power to manipulate information stored in the form of text, graphics, video, or sound. HyperCard lets you organize and access information in much the same way as you think-by association and context, as well as hierarchy. With HyperCard, you can browse through large bodies of information or search quickly for a specific fact. In addition, HyperCard offers an easy-to-use English-based scripting language called HyperTalk, which allows you to create more complex HyperCard stacks or to customize more basic ones.
HyperCard uses a simple metaphor: the index card. Cards, which are the basic units of information, are organized into stacks. You can treat HyperCard cards just as you would standard index cards; you can browse through a stack of cards, sort or reorder the cards, or add information (text or graphics) to them. Stackware is the term Apple has coined to describe the applications developed using HyperCard technology.
But HyperCard cards offer significantly more flexibility than index cards. In particular, they can be linked to other cards by adding buttons - one of the most powerful features of HyperCard. Buttons let users create personalized links to related cards in other stacks. They allow users to link facts, concepts, and images, as well as to perform a variety of tasks, such as launching another Macintosh application, dialing the telephone, sorting a stack, or finding a videodisc sequence.
How HyperCard Works
HyperCard works on a variety of levels. At the simplest level, it functions as an "information player," allowing users to browse through bodies of information. For example, stacks containing quotations, clip art, and a list of area codes in the United States and Canada come with HyperCard and can be browsed through easily.
At a higher level, users can add information to the desktop stacks that are included in the package (an address file, datebook, and to-do lists). Users can also customize stacks. For example, a field can be added to the address book or the background pattern on a page can be changed.
In short, HyperCard is a development platform that facilitates the creation and organization (remote or local) of bodies of information. It includes a powerful scripting language and makes it easy for you to customize existing stacks or to create your own, for personal or commercial use.
HyperCard Development Opportunities
HyperCard provides an excellent alternative to standard publishing as a delivery vehicle for information. Additionally, HyperTalk can be extended to control external devices such as videodisc players or to access information from on-line information services through the use of XCMDs (External Commands). HyperTalk also allows you to control the way text, graphics, and video are integrated and organized.
For the education market, you might develop curriculum or subject-matter stacks, or stacks for interactive learning. For the business market, you might provide directories, reference materials, or demographic data. Interactive learning stacks are also appropriate for business and industry. Some industries welcome parts-catalog stacks; for example, a catalog for mechanics might allow them to point to a diagram of an engine and then point to specific buttons to display part numbers, prices, or suppliers.
When to Use HyperCard
HyperCard is good for screen-based presentations, information publishing (references, books on disk, indexes), and data management. It is also good for multimedia control (for example, providing an easy-to-use front end to videodiscs, enabling interactive video authoring, or furnishing an index to the contents of a CD-ROM), low to medium-performance telecommunications prototyping, and computer-based interactive learning (on-line help, documentation, tutorials, dealer demos, or sales tools).
When Not to Use HyperCard
As a general rule, don't use HyperCard as a substitute when a dedicated application would serve you better, such as for sophisticated word processing, high-end database needs, general-purpose terminal emulation, or structured vector graphics. In addition, don't use it for redundant and very dense volumes of text or applications requiring large or color screens.
As previously mentioned, one of the HyperCard software's unique features is its built-in programming language. HyperTalk helps simplify programming in two ways: first, while most programming languages require you to write entire programs, HyperTalk only requires that you write short scripts; second, HyperTalk uses command lines that resemble simple English sentences, for example, "Go to card 1 of this stack" and "Open 'Expenses' with Excel."
To learn more about scripts and stack guidelines, you can purchase the HyperCard Script Language Guide, which is part of the HyperCard Technical Reference Package referenced below. As with other Macintosh development, human-interface design is a critical facet of HyperCard development. To help you design stacks that adhere to the Macintosh human-interface standards, Apple publishes the HyperCard Stack Design Guidelines, available from APDA.
Extending the Functionality of HyperCard
XCMDs (External Commands) and XFCNs (External Functions) logically extend the HyperCard interface. They are resources that contain executable machine language. External commands have resource type "XCMD" and are invoked as commands from HyperTalk. External functions have resource type "XFCN" and are invoked as functions from HyperTalk. External commands and functions are collectively referred to as "externals". Externals have been used for changing parts of the interface, putting up new windows, adding index-driven search engines, serial communications, drawing in color, and so forth. You may write your own XCMDs or, in some cases, license those provided by Apple and third-party developers.
HyperCard and AppleCD SC
Just as HyperCard is an excellent way to organize and distribute information, CD-ROM is an ideal method to distribute vast amounts of diverse data. Together they offer you the technology for navigating and presenting a sea of information.
Because it is flexible and extensible enough to suit a variety of users, CD-ROM developers are already involved with some very interesting projects with HyperCard. For example, some developers who have powerful retrieval engines in other environments have turned their engines into XCMDs and designed a nice HyperCard front end that hooks into them. Further information regarding the HyperCard/CD-ROM relationship can be found in the AppleCD SC note in this guidebook.
HyperCard is included with all Macintosh computers, has a familiar interface, and is available to a large customer base. HyperCard, Version 1.2 or higher, supports CD-ROM.
To use HyperCard, you will need a Macintosh Plus, Macintosh SE, Macintosh SE/30, Macintosh II, Macintosh IIx, or Macintosh IIcx with a minimum of 1 megabyte of RAM and two 800K floppy disk drives (or one 800K floppy disk drive and hard disk drive). We strongly recommend a hard disk drive for HyperCard development and at least 2 megabytes of RAM for use with the MultiFinder operating system. Apple does not support HyperCard development on 512K Macintosh computers because HyperCard requires a minimum of 700K of RAM.