MetaCard Corporation

Key Features

  • Easy to use yet powerful interactive GUI development environment with an integral interpreted scripting language.
  • Support for all button and field styles, pulldown and popup menus, tooltips, tabbed dialogs, and floating palettes.
  • Supports Motif, Windows 95, and MacOS look and feel, switchable at runtime.
  • Very High Level Language (VHLL) features such as associative arrays, regular expression pattern matching, and message passing support creation of high functionality applications with fewer lines of code.
  • Custom (user-defined) properties for all objects with get/set callbacks support object-oriented development.
  • Interactive GUI script debugger and profiler shorten development times required to produce high-quality applications.
  • Build single-file, standalone, double-clickable applications for all platforms. No installers, external files, DLLs, browsers, or virtual machines are required to deploy MetaCard applications.
  • Text editing tools that support multiple typefaces, sizes and colors, subscript and superscript, automatic scrolling, search, sort, and hypertext links. Import and export HTML format text.
  • Object (vector) graphics with properties that can be set from the scripting language for dynamic data display.
  • Import and play back sounds in .au (mulaw), WAV, and AIFF formats.
  • Import and play back movies in QuickTime, AVI, MPEG, and FLC movies on UNIX systems, and in all format supported by QuickTime or Video for Windows on Windows and Mac systems.
  • Import screen snapshots directly into MetaCard with the snapshot tool, or import images in GIF (including animated transparent GIFs), JPEG, PNG, BMP, XWD, and many other formats. A complete set of full 24 bit color image editing/painting tools support creation and editing of images, icons, cursors, brush shapes, and fill patterns on all platforms.
  • Card transition visual effects and double-buffered object manipulation and animation are available on all platforms: no special hardware or software is required.
  • Built-in support HTTP GET and POST make building Internet applications easy. The highest-level socket support of any scripting language allow you to use other popular Internet protocols like FTP/HTTP/SMTP/Telnet/etc. directly in your applications, or build your own custom protocol.
  • Object architecture, scripting language, and external procedure call interface are source compatible with Apple Corporation's HyperCard. Import HyperCard 1.2 and 2.X stacks in raw binary, BinHex and MacBinary formats. SuperCard to MetaCard and OMO to MetaCard converters are also available.
The MetaTalk language has the power of languages like Perl and Smalltalk, but is much easier to learn and use. The MetaTalk virtual compiler gives performance comparable to the Perl and Java languages, which is on average 5 times the performance of HyperTalk and SuperTalk, and up to 30 times the performance of languages like the UNIX shells which have only conventional interpreters.

The MetaTalk language has all the features common to third-generation languages like C/C++/Java but has a much simpler syntax. The language supports all modern programming constructs such as if-then-else, repeat statements, switch-case, and local and global variables. MetaCard subroutines and function handlers support variable length argument lists, recursion, and a flexible message passing architecture.

MetaTalk also has extensive support for user-interface development. For an example of the power of the language and GUI toolkit, one has to look no further than the MetaCard development environment, which itself was developed in MetaCard. Not only does this demonstrate MetaCard's capabilities, it also provides a benefit unavailable in any other development system on any other platform: complete control over the development environment.

Any dialog, any menu, any error message, and all documentation can be enhanced, extended, or even replaced by any licensed MetaCard user. Why live within the static environments supported by other Motif and hypertext environments when you can have complete control with MetaCard?

A C based extension capability allows MetaCard to be used to develop computationally intensive or hardware dependent applications. You can call C or C++ functions directly from MetaCard with no relinking or other processing required. HyperCard-compatible XCMDs and XFCNs can be used directly on the MacOS version of MetaCard, and easily ported to the other platforms using the HyperCard 1.2 compatible callback API.

An embedded version of MetaCard is also available so that you can attach the MetaCard scripting language and graphical tools directly to a C or C++ application. MetaCard also supports conventional interprocess communication using POSIX standard I/O functions on Windows and UNIX systems.

Architecture

MetaCard stacks consist of a collection of resources and event handlers, an architecture similar to most other GUI-based application development environments. The resources are the descriptions of the look of the interface including the sizes, positions, colors and other attributes of the buttons, text fields, and other controls.

Unlike many other development tools, however, MetaCard objects are not constructed in the application code. Instead, they are read directly out of the editable resource files, called stacks. So instead of hard-coding the application appearance or forcing users to deal with complex and easily corrupted text based resources for customization (such as .Xdefaults on UNIX systems), a direct-manipulation interface is always available.

Event handling is also greatly simplified in MetaCard. Instead of writing "callback" routines in a third generation language which require that the application be recompiled and relinked after every change, an interpreted scripting language is provided. Whenever events occur, messages are sent to handlers written in this MetaTalk language.

Errors that occur during script execution cause the MetaCard engine to stop processing, and to point out the exact line and position where the error occurred in a script editing window. After fixing the problem, the script can be rerun immediately: no recompiling or relinking is necessary. This design not only drastically reduces the time spent prototyping an interface, but also reduces the time spent testing and debugging it.

Product Info | Overview . Features . Pricing . HC/SC/OMO . RG . K-12