For years, Apple Computer's HyperCard has been the authoring environment of choice for thousands of Macintosh users. Its ease of use and accessible scripting language have made programmers out of many people who would never have attempted to write software in more complex languages. Unfortunately, HyperCard has been neglected by Apple in recent years, and as the Macintosh makes advances in its interface and feature set, perfectly functional stacks may be perceived as outdated. In addition, many stack authors have gazed wistfully at the majority of computer usage in the world and wished they could port their work to run on Windows or UNIX machines. Until recently there was no alternative for these authors, outside of rewriting their work from scratch in another programming language.
MetaCard, from MetaCard Corporation, is a cross-platform authoring solution that reads and converts HyperCard stacks, allowing stack authors to port their work to Windows 95/98/NT/ME/2000/XP, Macintosh 68K/PPC/OSX, and many different varieties of UNIX. A stack written in MetaCard will run without any alteration on all of these platforms, provided the target computer has the freely-available MetaCard engine installed or the stack is compiled as a platform-specific stand-alone application. A HyperCard stack needs to be imported to MetaCard and converted only once. After that, it will run on any OS without further changes.
MetaCard supports almost all HyperCard commands and features, and the very few things not directly supported can be scripted or added with XCMDs (on Macs) or DLLs (on Windows.) In addition, because MetaCard uses a large superset of HyperCard's scripting language, MetaCard offers many times the power and capability of HyperCard. Nearly all of the behaviors that require XCMDs in HyperCard are implemented as native features in MetaCard. MetaCard stack authors will find that external additions are almost never necessary. In the years that HyperActive Software has been doing HyperCard conversions to MetaCard, we have never required an XCMD.
Converting a HyperCard stack to MetaCard is not difficult, but does require some knowledge about the differences between the two software programs. The goal of this tutorial is to expose stack authors to some of those differences, explain some possible approaches for successful conversion, and walk the user through the conversion of a simple HyperCard stack as an example.
Not all conversion issues are addressed in this tutorial, but it does focus on the most common ones. The objective is to give the new MetaCard user a basic understanding that will serve as a foundation for conversions of other, more complex stacks.
RevolutionThis tutorial also works with Revolution, a close cousin of MetaCard that uses the same MetaCard engine. However, since Revolution places access to certain authoring tools in different menus and palettes, and uses different keyboard shortcuts to access scripts and dialog boxes, a Revolution-specific version of the tutorial is available. If you are using Revolution to port your stacks, see the Revolution tutorial instead.
A note about OS X:MetaCard provides an OS X version of their engine. This tutorial was not tested with OS X and may not be completely accurate when used with that OS. The general concepts will still apply, but additional work may needed if you use the OS X engine with the tutorial example stack.
What you will need: software and download informationTo work through this tutorial, you will need:
Users of the starter kit will also need to download intermediate versions of the converted stack where long scripts have been added for you, in order to allow for the limitations of the starter kit. Download URLs for the intermediate versions are embedded in the text of the tutorial as they are needed.
Downloading the softwareTo start with, you will need to download the Tech Support TimeSaver HyperCard stack at
That is all you will need if you already own the full commercial development version of MetaCard. If you plan to use the free starter kit instead, download:
All contents copyright (C) 1996, HyperActive Software. All rights reserved.
Revised: December 3, 2001