FREQUENTLY ASKED QUESTIONS
For more questions and answers about MetaCard, see the old best.com MetaCard mailing list archives and old runrev.com MetaCard mailing list archives and new MetaCard mailing list archives, indexed records of all messages posted to the metacard mailing list. To search the new archives use the Google site search. For an updated FAQ and other information on MetaCard, see the Cross Worlds Computing site. Because the MetaTalk language used in MetaCard is a superset of the HyperTalk language used in HyperCard, the sites HyperCard Home Page, , and HyperCard Heaven may also be useful places to get more information.
1. What is MetaCard?MetaCard is a graphical application development and multimedia authoring tool for Windows 3.1/95/98/Me/NT/2000/XP, UNIX/X11, and Macintosh systems that is similar to such PC/Mac products as HyperCard, SuperCard, and ToolBook. It can be used to develop GUI applications, GUI front ends to shell scripts or other character based applications, Computer Based Training (CBT) systems, on-line help systems and other documentation, and interactive presentations.
The basic design is similar to commercial GUI builder systems such as Visual Basic on MS-Windows or UIM/X for X11/UNIX, but MetaCard is much easier to use, and also has multimedia features found in presentation packages and text management features found in document preparation packages.
The MetaCard application consists of an engine, which is specific to each computing platform, and a set of stacks, which are portable. There are 4 primary stacks distributed with the product: mchome.mc is the Home stack and controls the licensing of the product, mctools.mc is the development system stacks including the menus and dialog boxes, mchelp.mc is the on-line documentation, and mcdemo2.mc is a multimedia demonstration stack.
MetaCard is a product and registered Trademark of MetaCard
Corporation, and has been in development since 1990 and in commrecial
release since June 1992.
The primary use to date has been to develop GUI applications, application prototypes, and GUI front ends to command-line applications. In many cases these applications are in continuous use in production environments.
The second most common use is probably for on-line presentations and demonstrations. The royalty-free distribution policy combined with the interactive nature of the presentations make it a natural for producing demonstrations for use in kiosks, trade-show booths, multimedia CDROMs, and other free-running presentations.
The third most common application is for building on-line documentation and training packages. In most cases, MetaCard is used as a supplement to a large application, but it is also being used to document company policies and procedures.
These categories by no means exhaust the potential range of
applications of MetaCard.
MetaCard Corporation if
you want to see MetaCard ported to other OSes.
HyperCard (Mac) Apple Corporation (APDA) 1 Infinite Loop Cupertino, California 95014-2084 (716) 871-6555 (716) 871-6511 (fax) firstname.lastname@example.org http://hypercard.apple.com/ SuperCard (Mac) IncWell DMG, Ltd. P.O. Box 6761 Chandler, AZ 85246-6761 (530) 647-8541 (530) 647-8157 (fax) email@example.com http://www.incwell.com/ Serf (Mac) Dan Gelder 2557 Center Road Novato, CA, USA 94947 firstname.lastname@example.org http://www.best.com/~serf/ HyperSense (NeXTStep) Thoughful Software 616 East Locus Fort Collins, CO 80524 303-221-4596 email@example.com http://www.thoughtful.com/The product WinPlus, formerly Spinnaker Plus, has been discontinued by ObjectPlus Corporation. Oracle Media Objects (OMO), which was also based on the Plus technology, has also been discontinued. An early HyperCard workalike for Windows, Echelon's WindowCraft, was discontinued long ago largely because of the superiority of the Plus technology. Plus has in turn been surpassed by MetaCard.
MetaCard is also often compared with products like ToolBook, Director,
Tcl/Tk, Perl, and Visual Basic because it can be used to develop the
same kinds of products these other tools are used to develop.
The MetaCard integrated development environment (IDE) makes is easy to develop complete applications with a minimal scripting, something that is not possible with tools like Tcl/Tk or the COSE Desktop Korn Shell (dtksh) in which even the user interface must be constructed by writing scripts.
MetaCard is currently targeted at technical end users; a level of computer experience somewhere between the average word processor user and the average 'C' programmer. Experienced programmers should be able to become productive with MetaCard in just a few hours (going through the tutorials should be sufficient).
Less experienced users can use MetaCard, but will require more time
to come up to speed (days to weeks). The one exception is that when
used as part of a large project, it is usually possible to generate
template MetaCard stacks that even inexperienced users can use to
quickly implement dialogs and menus.
The MetaTalk language has many features that make it superior to all of these other products, such as support for associative (string or number) arrays, call by reference parameters, extensive pattern matching and string formatting features, and the capability to handle much larger amounts of data (e.g., you can put multiple megabytes of text into fields). MetaCard's script compiler also provides much greater performance than is available with these other tools. See the Benchmarks page for details.
MetaTalk supports custom (user-defined) properties, similar to those supported in ToolBook and Oracle Media Objects. It also has getprop and setprop "triggers" which are called when custom properties are set or retrieved, a important feature missing in OMO and SuperCard, and inconvenient to use in ToolBook.
MetaCard can import and run HyperCard 2.3 stacks as well as stacks produced with earlier versions of HyperCard. Due to minor differences between HyperCard and MetaCard, and between the Mac Toolbox and X11 or Windows (e.g., the use of different fonts), most stacks will require minor changes to make them function correctly after importing. Sounds, icons, and cursor resources are converted on input, but all other resources are discarded. The Mac version of MetaCard supports HyperCard format XCMDs/XFCNs, but use of these is discouraged because of their relatively poor performance and lack of portability. The MetaCard XCMD/XFCN interface is compatible with HyperCard's, so if you have the source code to the externals used in a stack, you should be able to use them with MetaCard with minimal changes.
Since the MetaCard development environment is very different from HyperCard's, scripts that alter the HyperCard development environment (by accessing the Mac menu bar or palettes or debugging features) won't run correctly in MetaCard. MetaCard's support of the HyperTalk doMenu command is rudimentary because of this limitation. Instead, MetaTalk has most of these features built in, and these commands/functions/properties should be used instead of doMenu.
There are many instances where the HyperTalk parser is more lenient than MetaTalk's. For example, the use of the word "the" in function and property names is more strictly enforced in MetaCard. Another potential trouble spot is that HyperCard allows predefined terms, such as function and property names, to be used as variable names, whereas MetaCard generally does not.
Since MetaCard has many more built-in commands, functions, and properties than HyperCard, it is much less tolerant of leaving quotes off of literals than HyperCard. The SuperCard-compatible feature "explicitVariables" allows you to set MetaCard's script compiler to flag unquoted literals as errors.
MetaCard is slightly more lenient than HyperCard when addressing objects. When a button or field is specified in MetaCard, both cards and backgrounds are searched, as a opposed to HyperCard where buttons are searched for on cards, and fields on backgrounds. You can override this behavior by using the word "card" or "background" in the object specification.
MetaCard Corporation encourages users to report any incompatibilities they find to help achieve the goal of making MetaCard capable of importing and executing a greater percentage of HyperCard stacks unmodified in the future. When in doubt, consult the MetaTalk Reference stack to verify whether a feature is supported or not.
A utility that converts SuperCard projects to MetaCard stacks is
available in the file "sctomc.sit" on the MetaCard anonymous FTP
sites. As with HyperCard stacks, 100% conversion is not possible, but
significant problems with this converter should be reported to MetaCard
Corporation as bugs.
The packages differ in the way they are distributed, the complexity of their languages, the completeness of their development tools, their performance, and in their support for multimedia and object persistence.
Tcl/Tk is a free source-ware package that can be acquired via anonymous FTP from several Internet sites, although the commercial (and expensive) Tcl Pro development environment is required to do serious development with it. A C development system is generally required to compile and install it. The Desktop Korn Shell is distributed with the COSE desktop system by most computer vendors, though it is also available as a commercial product from additional companies. MetaCard is a commercial product available via anonymous FTP and CDROM from MetaCard Corporation and distributors worldwide.
MetaCard has the simplest scripting language to learn and use, and is also the most complete language since it has a larger number of built-in commands and functions. Tcl and ksh are syntactically much more complex, and require complicated quoting, parenthesizing, and other syntactic hurdles for most common operations. They also lack support for audio, video, animation, hypertext, and an object oriented message passing architecture.
MetaTalk scripts run up to 30 times faster than equivalent ksh scripts and significantly faster than equivalent Tcl scripts in most cases. This is due to the fact that MetaCard uses a virtual compilation architecture similar to that used by Perl and Java, whereas ksh use a conventional interpreter and the Tcl language design makes it impossible to compile many scripts even when a byte-code compiler is available. See the Performance Benchmarks page for details.
MetaCard and dtksh both have the Motif look and feel. Tcl/Tk looks similar to Motif in some ways, but is very different in others. dtksh, since it is based on Xt/Motif, is the largest and slowest of the toolkits. It also lacks the support for object graphics found in the other two packages.
MetaCard is the only product with a full featured IDE (Interactive Development Environment). With the others, design and layout must be done by writing scripts, which takes far longer. The free versions of these tools also lack such essentials as a script debugger and packaging tool for building standalone applications, whereas MetaCard includes all of the key features found in the relatively more expensive Tcl Pro product including a syntax checker, a script debugger, and an application packager. MetaCard also has the best cross platform support (dtksh is not portable to non-UNIX systems, and Tcl/Tk support is relatively limited on Windows and very weak on MacOS).
MetaCard is also the only tool to support object persistence. With the other tools, all information such as the text in fields and the state of buttons must be saved and loaded using the scripting language. This is a tedious and time consuming process for all but the most trivial applications.
A more extensive comparison of MetaCard with Tcl/Tk and the Desktop
Korn Shell (dtksh) appeared in The X Resource Issue Eleven (Summer
1994), an O'Reilly & Associates publication (707-829-0515) (this
article is also available as Interactive GUI
MetaCard and Gain Momentum both are scripting language-based, whereas Icon Author is based on a visual programming metaphor. Which of the two approaches is better depends a lot on the particular task. Categorizing the task is not easy, but is essential if the proper tool is to be chosen.
If the presentation or training package is relatively simple, or if the information to be presented is well structured, the icon-based approach taken by Icon Author and Authorware and similar products can be a very efficient way to build a package. There are many potential obstacles in this approach, however, and some of them are insurmountable. See the Testimonials page for one example.
If the information to be presented must be linked by hypertext links, if the path through the presentation must be changed dynamically, or if the user interface of the presentation must simulate an actual application, the scripting language / GUI toolkit approach is usually better.
The primary differences between MetaCard and Gain Momentum are price
and scope. Gain Momentum costs much more than MetaCard and run time
fees must also be paid. A Gain Momentum presentation also requires
several times the RAM and disk space a comparable MetaCard presentation
requires. Gain Momentum does include a more extensive range of file
format conversion utilities and a full object-oriented database, and so
may be a better choice for the development of very large systems.
The primary advantages of MetaCard are its lower cost and greater
flexibility since it has a scripting language, which the others lack.
The primary advantage of the other products are that they can use the
same source as is used to print hardcopy documentation.
In addition, these other tools cost a lot more than MetaCard, and since they use the poorly designed Xt/Motif toolkit, they are much slower, require considerably more computing power, and are harder to learn and to use than MetaCard. Applications developed with Xt/Motif are also not portable to other platforms.
|FAQ | Overview . Licensing . How To . Common Problems . Consultants . Testimonials|