|
MetaCard 2.5 Reviewers Guide
This document is designed to help product reviewers understand what
MetaCard is and what it can be used for, where it came from, how it is
marketed and sold, and give some idea of what it will look like in the
future.
MetaCard Specifications
Product name: |
MetaCard |
Product version: |
2.5 |
Product category: |
Cross-platform application development, multimedia
authoring, CBT development, and programming instruction tool. |
Availability: |
April 2003 |
Pricing: |
$995 for 1 year subscription including technical support
for a single-user/all platform license. Significant discounts for
academic users and multiple-user license packages. |
Upgrade pricing: |
Free for users with a current subscription.
Subscription renewal is $300 per year, with discounts for academic and
multi-user licenses. Unlimited technical support via email is $200
per year after the first year. |
System requirements: |
Authoring, all platforms
16MB RAM
800x600 display resolution
8, 16, or 24/32-bit color
Deployment of minimal app, all platforms
2MB RAM + OS requirements
no resolution requirements
monochrome or better screen depth
Mac requirements
68030 or better with System 7.1 or higher
Windows requirements
Windows 95/98/Me/NT/2000/XP or Windows 3.1 with Win32s
|
Technical Support: |
Free unlimited technical support via email with a
current technical support subscription.
Phone support available at extra cost. |
Training: |
Available on-site or at MetaCard Corporation
headquarters. Pricing information available upon request. |
Distribution: |
Available via electronic means directly from MetaCard
Corporation world-wide. Local dealers available in Europe and Pacific
Rim countries. |
What is MetaCard?
MetaCard, like its cousins HyperCard, SuperCard, and ToolBook, is a
difficult product to "pigeonhole". It has characteristics of
high-level application development tools like Visual Basic and Delphi
(a GUI IDT, scripting language, script editor, and script debugger).
It has cross-platform support like Java and some 4GL-based products.
It has data management and query features like databases such as
Oracle, Sybase, Access, and Filemaker. It has multimedia capabilities
comparable to dedicated multimedia authoring tools like Macromedia
Director and the slide-oriented format found in presentation tools
like PowerPoint. Finally, it has text management and hypermedia
capabilities found in document preparation tools and Web browsers.
While the resulting combination of these characteristics could suffer
from the "jack of all trades, master of none" syndrome, a remarkable
synergy occurs instead. As users come to expect multimedia features
and well-integrated context sensitive documentation and task-oriented
wizards in all of their applications, tools that have been designed
from the ground up to present these capabilities in a unified
architecture have distinct advantages over tools that have them
grafted on.
The MetaTalk scripting language has been designed to be the easiest to
learn and easiest to use general-purpose scripting language available.
It can be learned as easily as so-called "visual programming" tools,
yet is free from the profound limitations that are characteristic of
those tools. The MetaCard development environment is also designed to
be easy to learn and easy to use, and non-programmers can master the
tool much more quickly than they could conventional programming tools
like Visual Basic or Dephi.
The MetaTalk scripting language is compatible with the HyperTalk
language used in HyperCard and the SuperTalk language used in
SuperCard, but has many extensions. For example, HTTP support is
built in, as is support for arrays and regular expression pattern
matching. MetaCard supports the full range of features required for
UI development including controls like combo-boxes and a tab control,
and support for all types of dialogs (popups, modal and modeless
dialogs, and floating palettes). Most of the popular extensions of
SuperCard over HyperCard are also supported, including full color
support, the "graphic" object, backdrop windows, and functions and
properties like "within", "hilitedLines", "insert script", and
"lockCursor". Most newer HyperCard features are also supported
including shared/nonshared text and button hilites, and "start
using".
Target Market
The MetaCard installed base is as broad as for most other
horizontal-market products, with no one industry or type of
application predominating. Scientists, engineers, and other technical
professionals use MetaCard to build specialized data analysis,
simulation, and presentation tools. Multimedia professionals use it
to produce interactive product brochures and Computer Based Training
packages. Educators use it to produce interactive courseware,
demonstrations, and to teach programming and multimedia development.
Technical writers use it to produce on-line help systems and
documentation indexes and directories. Corporate and government
software development departments use it to produce in-house and
commercially distributed applications, rapid prototyping, and to build
customized software development tools. Small independent software
developers use MetaCard to build custom software applications for
their clients. Hobbyists and other end users use it to learn
programming and to build productivity enhancing tools for their own
use.
The size of the installed base by platform ranks UNIX, Windows, Mac.
Sales rates currently rank MacOS, Windows, UNIX, however, so the
relative position of these platforms in the installed base will
probably begin to equalize over the next year.
History of the Product and Company
MetaCard Corporation was formed in 1990 to develop easy to learn and
easy to use multimedia and application development tools for UNIX
workstations. The design goal was to produce a product that was
compatible with HyperCard, but with full support for all the control
and dialog types required to build any type of application.
The 1.0 version of MetaCard was released in June of 1992, the entire
development environment of which was built in MetaCard. Since then,
the development environment for every MetaCard release has been built
exclusively with MetaCard itself, making it unique among high-level
development tools.
In the 1.X series of releases (1.0-1.4), most of the extensions over
HyperCard made by the SuperCard developers were added to MetaCard,
including a compatible "graphic" object that supports vector-graphics,
and many SuperCard-specific language features. Compatibility with
HyperCard was also improved, and the HyperCard file format was
reverse-engineered to allow loading HyperCard stacks directly into
MetaCard without requiring a preprocessing step.
There were two major areas of development for the 2.0 release. The
first was a complete rewrite of the language execution system to
improve performance and add features not available in other xTalk
languages. The resulting "virtual compiler" technology offers
performance comparable to byte-code interpreted languages like Perl
and Java, and which is at least 5 times faster than the partial
compilation compilers used in comparable tools including HyperCard and
SuperCard. It is up to 30 times faster than languages that rely on
conventional interpreters like JavaScript and the UNIX shell
languages.
A superset of HyperTalk, the MetaTalk language now has advanced
language features not found in HyperTalk and OpenScript (the HyperCard
and ToolBook scripting languages, respectively). For example, like
Perl, MetaTalk supports associative (string-indexed) arrays and
regular-expression pattern matching, features that ease processing of
complex files like HTML forms and mail folders. MetaTalk also has
more specialized language extensions including call-by-reference
arguments, delayed-event scheduling commands, and the ability to
manipulate binary data (including NULL or 0 bytes).
Support custom (user-defined) properties was also added to all object
types for MetaCard 2.0. This feature makes it even easier to use
object-oriented techniques to develop GUI applications. MetaCard
custom properties are also persistent and support triggers which call
scripts when the properties are queried or set, supporting the most
common applications of OO database techniques without requiring the
use of complex (and expensive) C++ based OO database products.
The second major development for MetaCard 2.0 was the isolation of all
OS-specific routines into separate modules. This greatly simplifies
the job of porting MetaCard to other operating systems. The first
port was to Windows 95/NT, which was released with MetaCard 2.1 in
early 1997. Support for Windows 3.1 under Win32s was added for the
2.1.1 release in August 1997. The 2.2 release added support for
the Macintosh.
Stacks are portable to different platforms without requiring
recompiling or other preprocessing. In most cases, all that will be
required when first moving a stack to a new platform is to make minor
adjustments in object sizing and spacing to compensate for the fact
that fonts are slightly different on each platform. After making
these changes the stack can be used on all platforms without
further modifications.
Applications developed with MetaCard can be distributed with the
MetaCard engines (similar to a Java virtual machine or the Visual
Basic DLL) without paying royalties. The only restriction on the
operation of these stacks is that there will be a limit on the length
of scripts that can be set on-the-fly in this environment. The "do"
command is still available, however, so this restriction will have
little or no practical impact (the "do" command is one of MetaTalk's
most powerful because it allows you to build up a series of commands
into a variable and then execute them, something that isn't possible
with Java or any other 3rd generation language).
How MetaCard is marketed and sold
MetaCard is sold primarily direct from MetaCard Corporation. The
MetaCard Starter Kit can be downloaded from the MetaCard WWW and FTP
sites (http://www.metacard.com and ftp://ftp.metacard.com,
respectively). It can also be sent out via email and on CDROM, floppy
disks, or DAT or QIC format tapes. Resellers in Europe and the
Pacific Rim can offer native-language pre-sales and technical support
(30% of MetaCard sales are to customers outside the U.S.).
The MetaCard Starter Kit is fully functional, except that there is a
limit on the number of statements you can put in the script of each
object (currently 10 statements, which doesn't count the "on" and
"end" handler definitions, if-then, repeat, switch-case, or comment
lines). Installation of a software license key enables the full
functionality of the product. The key can be acquired by filling out
the licensing form and faxing, emailing, or HTTP POSTing it in to
MetaCard Corporation along with a Purchase Order or credit card number
(credit cards numbers are encrypted prior to transmission via email or
HTTP).
Pricing is $995 U.S. Dollars for a single-user all-platform license
(no need to buy a separate product to develop or deploy on a given
platform). This includes free unlimited technical support via email.
The full range of marketing techniques are used to promote MetaCard,
including advertising, PR, and participation on CD-based promotions.
The single most important source of leads comes via electronic methods
such as WWW searchs, links from other WWW sites, FAQ lists,
newsgroups, and mailing lists.
Limitations
The MetaCard development interface is relatively generic in look and
behavior because it must run on all platforms and because it receives
lower development priority than improvements to the core engine. The
highest priority for MetaCard development is to provide the ability
for developers to create applications that pass muster as native
applications, not necessarily to provide them with a development tool
that itself is the best example of a native application on each
platform.
Likewise the MetaCard development environment is relatively simple
compared with some other IDEs, although it does include things like an
debugger and an autoformatting/colorizing script editor that some
other tools lack. Again, MetaCard's unparalleled adaptability and
extendibility makes it easy for developers to mold the development
environment to suit their needs.
MetaCard has relatively limited support for platform-specific
component models like OLE/COM/ActiveX. These can be used from
externals, but it is not a trivial matter to do this. Of course, it's
seldom a trivial matter to acquire, pay for, and use these components
in Windows-only products and of course all hope for portability
vanishes once the decision to use these components is made.
Cut/Copy/Paste support is currently limited to text. The inability to
use the system clipboard to transfer image data may seem to be an
inconvenience but is not actually a problem in practice: bitmap data
passed via the clipboard is uncompressed and so is in an inappropriate
format for inclusion in a stack anyway (developers should import PNG,
GIF, or JPEG format images instead so that they can take advantage of
the superior compression controls available in specialized image
editing tools). PICT data passed on the clipboard could not be viewed
on UNIX or Windows systems because they do not provide support for
PICT like MacOS does. PICT data is therefore also unsuitable for
cross platform development and so the inability to cut/copy/paste it
is not a significant limitation.
Features planned for future releases
Features planned for upcoming releases include improved table support,
SSL, and extended access to QuickTime features like sprites and text
tracks. New high-level language features, such as "columns" as a
chunk type and "file" as a first level object type, are also planned.
A method for outputting Java byte-codes equivalent to MetaCard scripts
has been designed, but implementation has been delayed until the
serious performance, compatibility, and functionality limitations in
Java have been rectified.
The MetaTalk language will also be extended to provide a more full
featured object-oriented programming environment, which will allow
development of larger-scale applications with MetaCard. The key
tenants of object-oriented programming - encapsulation, polymorphism,
and inheritance - are already available in the MetaTalk language, but
must be extended before MetaCard will be as appropriate for large
multi-developer projects as it is for the single-user projects that
are presently its forte. These features and OODBMS features such as
multiuser access, version control, and distributed data management are
currently being designed.
Snapshot of the MetaCard demo stack and development environment.
Click on the image to see the full-sized version.
Snapshot of the MetaCard syntax-colorizing script editor.
Click on the image to see the full-sized version.
Additional MetaCard Snapshots
|