Name | HyperCard |
---|---|
Logo | |
Screenshot | |
Caption | HyperCard Screenshot |
Developer | Apple Inc. (formerly Apple Computer, Inc.) |
Latest release version | 2.4.1 |
Latest release date | 1998 |
Operating system | System Software 6, System 7, Mac OS 8, Mac OS 9 |
Genre | Hypermedia, Development |
License | Proprietary |
HyperCard was originally released in 1987 for $49.95, and was included with all new Macs sold at the time. It was withdrawn from sale in March 2004, although by then it had not been updated for many years.
HyperCard is based on the concept of a "stack" of virtual "cards". Cards hold data, just as they would in a rolodex. The layout engine was similar in concept to a "form" as used in most Rapid Application Development (RAD) environments (such as Borland Delphi or Visual Basic). A special "Home" stack (precursor to the home page on a website) was available as an application launcher, a repository for shared scripts, and a facility for setting preferences.
HyperCard is not only a database system. The layout of each card could be unique, just as one can write additional non-standard information on a Rolodex card. A special background layer contained elements that appeared on all cards of that stack or on all cards grouped under a certain background. Backgrounds could include pictures (its original purpose, "background picture"), in addition to the objects also available for each card: fields; buttons; (static) text; (editable) text fields; and other common GUI elements. Each card then could contain different data in the text or picture fields, as in a database.
For instance, an address book could be built by adding to the background a few text fields to hold the name and address. Once completed, the user adds a new card (by typing Command-N or under software control) and types into the fields. The background could be modified at any time, allowing changes to be made easily. Basic operations such as search, add, and delete were built-in, allowing simple databases to be set up and used by anyone able to use the Macintosh computer.
The Rolodex paradigm does not preclude the creation of standard looking applications. Arbitrary functionality could be programmed into a single card, making it resemble a traditional single-screen application. Additional cards could be linked similarly to the way that additional screens are linked in ordinary programs. Full control of the menu bar and support of virtually all native objects and controls allowed the creation of professional looking software. Hypercard saved the working stack to disk automatically after most standard operations, such as editing a text field or navigating to another card. This feature is disk intensive (there is in fact no native "save" command at all, except to make a copy of the current stack).
HyperCard's find
command could quickly navigate to cards containing text using a hintBits algorithm. This could be made more selective with modifications such as find "Bob" in card field "hello"
. Similarly, it had a "sort" command that allowed evaluating entire expressions to determine sorting order.
HyperCard integrates a software development environment with a run-time environment in a simple, easily accessible way. The tools required to write an application, principally the creation and configuration of screen objects like buttons, fields and menus, are part and parcel with the ability to add programmed functionality to those objects. When designing and programming an application one may contemplate both structure and capability within a single well defined arena. That one could personally design and implement a custom application uniquely suited to one's own needs revolutionized the very concept of what software was. Instead of trying to force a particular task onto an Excel spreadsheet, for example, a custom solution may be authored, modified and updated as needed, in a very short time, without functional compromise and with a personalized interface. "Empowerment" became a catchword as this possibility was embraced by the Macintosh community, as was the phrase "programming for the rest of us", that is, anyone, not just professional programmers.
Each HyperCard object class, contains a number 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 "checkmark" property, 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 particular 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 deal with. 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 but makes it far easier to write (and to read) code. 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 (thus replacing) the first word of that string, yielding "Goodbye cruel world". The above mentioned terms: "character", "word", "first", "last", "after", and "into", among many others, offer exquisite control over the ability to crunch numbers and parse text, down to the character level.
HyperTalk supports most standard programming structures such as "if-then" and "repeat". The "if-then" structure is so flexible that it even allows "case" structured code.
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 was 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 fashion — including the stack itself. All objects could be named or renamed, as in the example above. In addition, each object (including the stack itself) had unique numeric IDs that remained unchanged throughout the life of the object.
Adding scripts is also easy. The user simply "command-option-clicked" (or he 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. In addition, 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, as well.
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.
Many hardware and software vendors provided their tutorials as HyperCard stacks, since the application was bundled with all Macs.
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 ADB bus, this instrument could "read" the state of connected external switches or "write" digital outputs to a multitude of devices.
Externals allow access to the Macintosh Toolbox, which contained many lower level commands and functions not native to HyperTalk, such as control of the serial and ADB ports.
Due to its rapid application design facilities, HyperCard was also sometimes used for prototyping of applications and sometimes even for version 1.0 implementations. Inside Apple, the QuickTime team was one of HyperCard's biggest customers.
A number of commercial software products were created in HyperCard, most notably the original version of the interactive game narrative Myst, 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.
The prototype and demo of the popular game You Don't Know Jack was written in HyperCard. Renault, the French auto manufacturer, used it to control their inventory system.
Activision, which was until that time primarily 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, a personal information manager, and Reports For HyperCard, a program by Nine To Five Software that allowed users to treat HyperCard as a full-fledged 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 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.
Apple itself 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.
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 capabilities of the IIGS. Although "stacks" (HyperCard program documents) were not binary-compatible, a translator program (itself a 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. 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, as well as the first failed attempt to create a third generation of HyperCard. During this period, HyperCard began losing market share. Without a number of important, basic features, HyperCard authors began moving to systems such as SuperCard and Macromedia Authorware. Nevertheless 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.
Apple eventually folded Claris back into the parent company, returning HyperCard to Apple's core engineering group. In 1992, Apple released the eagerly anticipated upgrade of HyperCard 2.2 and made many HyperCard enthusiasts happy by including licensed versions of Color Tools and Addmotion II, adding support for color pictures and animations. However, these tools were limited and often cumbersome to use because HyperCard still lacked true, internal color support.
In the years that followed, the program saw no additional support from Apple. Apple finally ceased selling HyperCard in March 2004.
HyperCard runs natively only in Mac OS versions 9 or earlier, 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 by using an emulation layer such as SheepShaver).
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 by Ken Dunham, two years before the "Concept" virus. There were very few viruses based on HyperCard, and their overall impact was minimal.
Jakob Nielsen has pointed out that HyperCard was really only a hypermedia program since its links started from regions on a card, not text objects; actual HTML-style text hyperlinks were possible in later versions, but were awkward to implement and seldom used. Bill Atkinson later lamented that if he had only realized the power of network-oriented stacks, instead of focusing on local stacks on a single machine, HyperCard could have become the first Web browser.
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 one's own hard disk. HyperCard had a significant impact on the web as it inspired the creation of both HTTP itself (through its influence on Tim Berners-Lee's colleague Robert Cailliau), and JavaScript (whose creator, Brendan Eich, was inspired by HyperTalk). It was also a key inspiration for ViolaWWW, an early web browser.
The pointing-finger cursor used for navigating stacks later found its way into the first web browsers, as the hyperlink cursor.
The Myst computer game franchise, initially released as a HyperCard stack and included bundled with some Macs (for example the Performa 5300), still lives on, making HyperCard a facilitating technology for starting one of the best-selling computer games of all time.
According to Ward Cunningham, the inventor of Wikis, the wiki concept can be traced back to a HyperCard stack he wrote in the late 1980s, making HyperCard one of the grandparents of the Wiki idea.
Past products included:
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 DTP workflow automation needs. 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 10.4, codenamed 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 .
AppWare, originally known as Serius Developer, is sometimes seen to be similar to HyperCard, as they were both rapid application development systems. AppWare was sold in the early 90s and worked on both Windows and Mac systems.
Category:1987 software Category:Domain-specific programming languages Category:Hypertext Category:Hypercard products Category:Mac OS-only software made by Apple Inc.
This text is licensed under the Creative Commons CC-BY-SA License. This text was originally published on Wikipedia and was developed by the Wikipedia community.
The World News (WN) Network, has created this privacy statement in order to demonstrate our firm commitment to user privacy. The following discloses our information gathering and dissemination practices for wn.com, as well as e-mail newsletters.
We do not collect personally identifiable information about you, except when you provide it to us. For example, if you submit an inquiry to us or sign up for our newsletter, you may be asked to provide certain information such as your contact details (name, e-mail address, mailing address, etc.).
When you submit your personally identifiable information through wn.com, you are giving your consent to the collection, use and disclosure of your personal information as set forth in this Privacy Policy. If you would prefer that we not collect any personally identifiable information from you, please do not provide us with any such information. We will not sell or rent your personally identifiable information to third parties without your consent, except as otherwise disclosed in this Privacy Policy.
Except as otherwise disclosed in this Privacy Policy, we will use the information you provide us only for the purpose of responding to your inquiry or in connection with the service for which you provided such information. We may forward your contact information and inquiry to our affiliates and other divisions of our company that we feel can best address your inquiry or provide you with the requested service. We may also use the information you provide in aggregate form for internal business purposes, such as generating statistics and developing marketing plans. We may share or transfer such non-personally identifiable information with or to our affiliates, licensees, agents and partners.
We may retain other companies and individuals to perform functions on our behalf. Such third parties may be provided with access to personally identifiable information needed to perform their functions, but may not use such information for any other purpose.
In addition, we may disclose any information, including personally identifiable information, we deem necessary, in our sole discretion, to comply with any applicable law, regulation, legal proceeding or governmental request.
We do not want you to receive unwanted e-mail from us. We try to make it easy to opt-out of any service you have asked to receive. If you sign-up to our e-mail newsletters we do not sell, exchange or give your e-mail address to a third party.
E-mail addresses are collected via the wn.com web site. Users have to physically opt-in to receive the wn.com newsletter and a verification e-mail is sent. wn.com is clearly and conspicuously named at the point of
collection.If you no longer wish to receive our newsletter and promotional communications, you may opt-out of receiving them by following the instructions included in each newsletter or communication or by e-mailing us at michaelw(at)wn.com
The security of your personal information is important to us. We follow generally accepted industry standards to protect the personal information submitted to us, both during registration and once we receive it. No method of transmission over the Internet, or method of electronic storage, is 100 percent secure, however. Therefore, though we strive to use commercially acceptable means to protect your personal information, we cannot guarantee its absolute security.
If we decide to change our e-mail practices, we will post those changes to this privacy statement, the homepage, and other places we think appropriate so that you are aware of what information we collect, how we use it, and under what circumstances, if any, we disclose it.
If we make material changes to our e-mail practices, we will notify you here, by e-mail, and by means of a notice on our home page.
The advertising banners and other forms of advertising appearing on this Web site are sometimes delivered to you, on our behalf, by a third party. In the course of serving advertisements to this site, the third party may place or recognize a unique cookie on your browser. For more information on cookies, you can visit www.cookiecentral.com.
As we continue to develop our business, we might sell certain aspects of our entities or assets. In such transactions, user information, including personally identifiable information, generally is one of the transferred business assets, and by submitting your personal information on Wn.com you agree that your data may be transferred to such parties in these circumstances.