HyperCard
HyperCard is an application program and a simple programming environment
produced by Apple Computer for the Apple Macintosh computer. It most closely
resembles a database application in concept, in that it stores information,
but unlike traditional database systems HyperCard is very flexible and
trivially easy to modify. In addition HyperCard includes a powerful and easy
to use programming language to manipulate that data, one that is so easy to
use that most HyperCard users used it as a programming system as opposed to
a database.
History
HyperCard was designed by Bill Atkinson and released first in 1987, agreeing
to give it to Apple only if they promised to release it for free on all
Macs. Originally called WildCard during its development, its name was
changed to HyperCard before official release due to legal issues. The
HyperCard application and its associated files retained a creator code of
WILD, reflecting this period of development.
HyperCard was a huge hit almost instantly. No one had seen anything like it
on any machine prior to its release, and the power and ease of use was
unmatched even today. A huge number of people who thought they would never
be able to program a computer started using HyperCard for all sorts of
automation tasks, a surprise to even its creator.
Apple itself never seemed to understand what HyperCard was. Management saw
that it was being used by a huge number of people, and bug reports and
upgrade suggestions continued to flow in from a wide variety of users,
clearly people were interested in it. However it was also free, which made
it difficult to justify dedicating engineering resources to improving it.
Unwilling, or unable, to see that HyperCard was making the Macintosh
platform as a whole much more interesting to the market, management let it languish.
Things started changing in late 1989, when internal politics (largely the
efforts of Kevin Calhoun, a programmer at Apple) finally gained enough
momentum to start an upgrade process. This resulted in 1990's HyperCard 2.0,
a massive improvement on the original. Additional features, notably support
for color, were promised.
Then, seemingly to add insult to injury, Apple decided that all software
should be a part of their Claris division. An agreement was reached in which
Claris would sell an editor product, whereas Apple would include only a
"viewer" in order to keep their original promise to Bill Atkinson. People
would now have to pay to use the product which many considered to be a basic
part of the Mac.
Claris, in the business of selling software for a profit, didn't take kindly
to the concept of adding resources to a project that was given away for
free. They dedicated no resources to it, and many of the developers refused
to move from Apple in the first place. Eventually Apple gave up and brought
HyperCard back to Apple, releasing a small series of minor upgrades in the process.
Several attempts were made to re-start HyperCard. 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 HyperCard 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 developer's at Apple's yearly trade show, WWDC. Demos
were made throughout the late 1990s, showing every feature one could ask
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.
This, after years of continued on-again, off-again upgrades and general
mismanagement, was enough to finally kill the product. What started as a
groundbreaking effort that seemed to be changing the world died the death of
a thousand cuts and slowly disappeared as users grew fed up with what was
now an outdated product.
HyperCard is one of the first products that made use of and popularized the
hypertext concept to a large popular base of users. 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, and the interconnectivity offered by
the Internet was seen by most as the clear choice for this type of use.
Other companies were quick to see the power of HyperCard and offer their own
versions. SuperCard was essentially a color version of HyperCard on the Mac,
and Toolbox was a Windows version. Oracle purchased a cross-platform clone
and released it as OracleCard, renamed Oracle Media Objects, used as a 4GL
for database access.
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 the HyperTalk language, but it too suffered from the same
sort of mismanagement as HyperCard until recently. One of HyperCard's
strengths was its handling of multimedia, and many multimedia systems like
Macromedia Authorware are based on many of the concepts.
Description
HyperCard is based on the concept of "stack" of virtual "cards". Each card
includes fields that store data, and the pattern for each card (its layout,
as opposed to the data in the layout) is known as the "background".
Backgrounds could include pictures (its original purpose, "background
picture"), picture fields, buttons, text, text fields (editors) and other
common GUI elements, which would then be copied onto new cards.
Users can construct databases by opening the Background editor and drawing
items onto it to hold the various pieces of data. For instance, an address
book could be easily built up by adding a few text fields to hold the name
and address. Once completed, the user simply adds a new card (by typing
command-n) and types into the fields. The background could be modified at
any time, allowing changes to be made with ease – something
traditional systems are very bad at. Basic operations such a search, add and
delete were built into the HyperCard enviornment, allowing simple databases
to be set up and used by anyone able to use the Apple Macintosh computer.
Scripting in the HyperTalk language allowed the system to be easily modified
and extended. Unlike most programming languages, even those that claim to be
easy to use, HyperTalk really was easy to use. Allowable syntax included all
sorts of versions of the same statement, all in readable English, to avoid
forcing the user to write their programs in a particular format.
For instance, put the first word of the third line of field 'hello' into
field 'goodbye' would do exactly what it seems to do. Achieving this sort of
simplicity and readability required considerable work. For instance, it
required allowing numbers to be specified either numerically (1, 2), as
cardinals (one, two), or as ordinals (first, second), a "bother" that most
languages would ignore, but one that dramatically improves readability.
Since the HyperCard world was limited to those items supported on the
Background, refering to objects and the items on them was very easy. The
example above shows how to access data within a field on a particular card,
but one could refer to any object in the same basic fashion – incluing
the stack itself. To make things even easier to refer to, all objects could
be named, as in the example above.
Of particular interest was HyperCard's find command which would navigate to
cards containing text. Whereas under a RDBMS something as simple as finding
all records with the word "Bob" is a very difficult task, under HyperCard it
was as simple as find 'Bob'. This could then be made more selective with
modifications such as find 'Bob' in card field 'hello'.
Adding scripts was also easy. The user simply "option-clicked" on any
element in the stack, and an editor would pop-up. The script could then be
edited, saved, and used immediately. HyperCard 2.0 added a fairly powerful
and easy-to-use debugger as well.
HyperTalk was so easy to use that one of the main uses was not as a
database, but as a programming tool. Thousands of "stacks" were written and
distributed in the few years when HyperCard was widely available.
The power of HyperCard can be increased significantly through the use of
external command modules, or XCMDs. XCMDs are small code fragments packaged
in a resource file that seemlessly integrate into the system and/or the
HyperTalk language. During it's peak popularity in the late 1980s, a whole
ecology of vendors offered thousands of XCMDs for everything from HyperTalk
compilers, to graphing systems, database access, internet connectivity and
practically everything else. Many of these had their businesses destroyed
when HyperCard was handed to Claris.
HyperCard can be used for all sorts of hypertext and artistic purposes.
Before the advent of PowerPoint, HyperCard was often used as a general
purpose presentation program. Examples of HyperCard applications include
simple databases, "choose your own adventure"-type games, and educational
teaching aids. Through conversion to a related program called Supercard,
HyperCard stacks can be placed inside Web pages and viewed by browsers with
an appropriate browser plugin. The drawback to this is that only Macintosh
computers can use the plugin.
This content from Wikipedia is licensed under the GNU Free Documentation License.
|