One of the most frequently-posted questions in HyperCard mailing lists and discussion groups has been "How can I publish my HyperCard stack on the Web?" Back in TidBITS-310, Adam and I hinted at a product we'd seen privately at the January Macworld Expo in San Francisco that could do the trick, and the veil has finally been lifted. Today Royal Software (recent purchasers of Heizer Software) announced LiveCard, the first product to bear the Royal Software name. With any luck LiveCard will let HyperCard users and developers look at the Web in a whole new way.
LiveCard is a bidirectional gateway between a HyperCard stack and a Macintosh Web server. Largely the brain-child of Eric Oesterle, a long-time HyperCard and multimedia guru, LiveCard publishes HyperCard stacks directly on the Web, using the HyperCard application as a CGI (Common Gateway Interface) - just drop the stacks into your server folder, and LiveCard does the rest. LiveCard does not require a browser plug-in - realistically, all a user needs is a browser that can display HTML forms and JPEG graphics.
Using HyperCard or another Mac scripting system as a CGI engine is nothing new - HyperCard, Frontier, and AppleScript users and others have been doing it since the earliest days of Mac-based Web servers. What's new about LiveCard is its ability to put HyperCard content directly on the Web without modification.
LiveCard works by generating a JPEG graphic of a card's display, along with a textual representation of the card's content, including converting HyperCard interface object (like buttons and fields) to HTML text and form elements. (These can be toggled by the user or the stack: it makes no sense for some stacks to display a graphic; conversely, it makes no sense for some stacks to display textual content.) In theory, there's no need to modify a stack or its scripts in order to work with LiveCard, although some stacks will work better than others (see below). LiveCard itself provides Web users basic navigation and searching features common to HyperCard, and LiveCard users should be able to use many navigation tools built-into HyperCard stacks by pointing and clicking. LiveCard also provides for custom HTML headers and footers to add additional content or functionality.
What's more, LiveCard is a two-way street: users can add, modify, and remove data in HyperCard stacks via the Web without using HyperCard, the HyperCard Player, or even a Macintosh. For instance, a site could make a selection of movie reviews in a HyperCard stack available via the Web, and collect and process user comments and feedback in real time. Data from users is stored directly in HyperCard, and is immediately accessible and searchable. This sort of functionality makes LiveCard a natural for easy-to-build Web-based chat areas, online ordering systems (complete with shopping baskets), product testing and bug databases, remote printing, email, fax services, and much more - all with little or no knowledge of HTML or CGIs. Since so many extensions exist for HyperCard in the form of XCMDs, XFCNs, custom scripts, and whatnot, a little HyperTalk expertise can extend LiveCard into truly surprising areas. For instance, I once developed a HyperCard-based editorial and advertising control system for a regional newspaper. Using LiveCard, it would be trivial to put that particular system on the Web and make it accessible to writers, editors, and art directors all around the world.
LiveCard is not a universal solution for putting every HyperCard stack on the Web - LiveCard is primarily about getting information stored in HyperCard onto the Web and back again, and is most suited to stacks that use HyperCard's card metaphor to store and manage data. Stacks that rely on heavily on custom interactivity, sound, animations, or try to follow an interface model of a standard Macintosh application may require significant tweaking to work with LiveCard, and some probably won't be usable at all (such as HyperCard-based games). This isn't to slight LiveCard; frankly, until QuickTime 3.0 and HyperCard 3.0 are available, that kind of direct interaction with dynamic stack elements won't be possible. Also, because LiveCard requires a Macintosh Web server, it isn't useful for HyperCard aficionados who have dial-up Internet access or who don't have access to a Mac Web server, although I'm very curious to find out if LiveCard works with Web For One (see above).
And LiveCard isn't perfect: for instance, the HTML it generates can be rather unusual, and some users will find what they perceive as massive shortcomings in the product - for instance, there's no way for LiveCard to create HTML anchors for HyperCard's grouped text style, because HyperCard itself provides no standard functionality for this feature. Experienced HyperCard developers will recognize that most of LiveCard's omissions are more-or-less unavoidable, and since LiveCard is HyperCard-based, most of them can be worked around in specific cases (including generating HTML anchors for grouped text). Also, unlike Frontier, HyperCard is not multi-threaded or particularly speedy; even though a respectable Mac Web server can handle several simultaneous LiveCard users without much trouble, LiveCard is not suited to enormous loads.
Nonetheless, LiveCard is compelling because it will let countless users and businesses put HyperCard-based data on the Web with a minimum of fuss. What I find most interesting, however, is that LiveCard is a great example of a gateway application for the Web. Gateway applications were a big part of the Web's original vision: the whole idea behind the Web was to tie together disparate sources of information, such as databases and help systems, that already existed online. Products like LiveCard continue to prove the original gateway concept is very much worth pursuing.
LiveCard will be available beginning at Macworld Expo at a special show price of $49.95. For thirty days after the show, LiveCard will be available for $99.95, and thereafter will cost $149.95. It requires HyperCard 2.2 or better and access to a Macintosh Web server.
[By the way, 29-Jul-96 happens to be Eric Oesterle's birthday as well as LiveCard's announcement date. Happy birthday, Eric!]
Royal Software -- 800/888-7667 -- 813/581-6422
813/559-0614 (fax) -- <firstname.lastname@example.org>