SuperCard: the great leap forward.
Over the past year, several new products have built upon HyperCard's basic strengths and taken them much further, adding powerful new features in the process. Two of the most notable entries in the HyperCard superset market have been SuperCard and PLUS. This month we will be examining SuperCard.
SuperCard is Silicon Beach Software's entry into the hypermedia arena. Silicon Beach Software is the creator of the popular SuperPaint, Super 3D, and Digital Darkroom programs. SuperCard takes HyperCard several steps further by providing the following capabilities:
* multiple, resizable windows that
can be customized
* the ability to make anything a
* mixing fonts and styles in a single
* 256 colors (Macintosh II, color
monitor, and video card capable of
generating 256 colors required)
* conversion of HyperCard stacks
into SuperCard projects
* large-screen monitor support
* multiple graphics formats, such as
PICT, PICT2, and TIFF
* PICS animation capabilities
* creation of stand-alone applications
This "personal software toolkit" actually consists of two programs, SuperEdit and SuperCard. SuperEdit is the toolkit that is used to create and edit "projects," Silicon Beach's euphemism for stacks. SuperCard, on the other hand, is the engine that runs the projects. In addition, there is a Runtime Editor which, when loaded into SuperCard, provides it with approximately 80 percent of SuperEdit's functionality, allowing minor changes to objects and scripts.
What You Get and What You Need
The SuperCard package consists of four disks containing the program disk (which includes the SuperCard and SuperEdit programs), two sample disks, and a bonus black-and-white samples disk. Printed material includes a 350-page user manual, the SuperTalk Language Guide, a laminated quick reference card, and six pages of SuperCard Technical Notes.
Both SuperCard and SuperEdit require System 6.02 or later and a 1-megabyte Macintosh to run in the black-and-white mode. To edit and run projects in color, you will need a Macintosh II, IIcx, IIci, or IIx computer with at least 2 megabytes of internal memory, Apple-Color RGB monitor or equivalent and Apple 8-bit video card or equivalent.
Unlike HyperCard, which allows only one card limited to the size of the standard Macintosh 9-inch diameter screen at a time, SuperCard permits many resizable windows to be open (Figure 1), the number of which is limited only by internal memory. Your choice is limited only by memory and the size of the monitor. In addition, you can program your SuperCard project using the versatile SuperTalk scripting language so that it automatically recognizes different monitors and adjusts its size accordingly. It even adds scroll bars to give the user full access to a window that is larger than the monitor currently in use.
The main objects of SuperCard are projects, windows, and cards. A project can have many different windows which, in turn, can have one or more related cards. To create a project, you use the SuperEdit application. The use of two separate applications for creating and running projects may take some getting used to by experienced users of HyperCard, as they are accustomed to seeing the results of their labors immediately. However, SuperCard's approach is more like that of traditional languages such as C and Pascal, which have separate editors and run-time modules. For those users who have experience with such programming languages, SuperEdit will seem like an old friend.
To create a SuperCard project, just choose "New" from the SuperEdit File menu. SuperEdit automatically creates a new project named "Untitled," which consists of one window and a card for the new window. From the Window menu, you can display two "overviews," which summarize information about a project or window:
* The Project Overview (Figure 2)
contains three different selectable
lists -- one for all the windows that
make up the project, another for all
the menus that are part of the
project and, finally, a list for all the
Macintosh resources the project
contains. These resources can
include cursors, icons, sounds, color
look-up tables (or cluts), external
commands (XCMDs), and external
* The Window Overview (Figure 3)
lists the number of the project, the
i.d. number, the name of the
project, and a scrollable list that
indicates the card number, card i.d.
number, background i.d. number,
and card name.
Any of the lists in the Window and Project Overviews can be cut, copied, and pasted using standard Macintosh conventions.
You can assign any one of seven different types to a window. These consist of the following: Standard: a draggable rectangular
window similar to those used in HyperCard stacks which contains a title bar and optional zoom and close boxes
Scrolling: a standard window with
scroll bars on the bottom and right sides, similar to those used in Macintosh applications
RoundRect: a nonresizable round
rectangular window with title bar with optional close box, similar to those used by desk accessories Dialog: a nonresizable rectangular window with overlapping thin and thick rectangles. They are used primarily to display alert messages and dialog boxes. Plain: a plain, nonresizable rectangular window that cannot be moved, resized, zoomed, or closed Shadow: the same as a plain window but with a shadow Palette: a nonresizable, closable, rectangular window with shaded top bar for dragging window. This is used primarily for tool palettes and is meant to float above existing windows.
Variety of Tools
The left portion of the card window shows a palette of tools (Figure 4). Clicking repeatedly on the top icon lets the user rotate through a series of draw, paint, button, and field tools.
The draw and paint tools are similar in functionality to those found in SuperPaint. With the draw tool palette you can create text, lines, rectangles, ovals, polygons, and arcs. A freehand tool allows the user to create freeform shapes while a powerful auto-trace tool can convert existing graphics into objects. The paint tool, on the other hand, includes a selection rectangle and lasso, pencil, eraser, paint brush, spray can, paint bucket, line, rectangle, oval, and polygon tools.
The button tool palette consists of rectangle, polygon, rounded rectangle, radio button, check box button, and autotrace button tools. The rectangle, polygon, and rounded rectangle buttons can be transparent or shadowed. Using the auto-trace button tool, you can create irregularly shaped buttons around existing graphic shapes.
Finally, the field tool palette contains tools for the creation of transparent rectangle fields, rectangle fields, shadowed rectangle fields, and scrolling fields. A text tool allows the user to enter text into an existing field.
Via the Project Overview, you can create custom menus with full Macintosh functionality. Upon choosing the menu icon from the Project Overview, you can create a new menu by choosing "New Menu" from the Edit menu, by double-clicking on menu icon in the Project Overview, or by double-clicking on the information area at the top of the Project Overview.
To view the information about a menu, choose "Menu Info" from the Edit menu. A dialog box appears in which you enter the name of the menu that will appear at the top of the menu bar.
Each menu and menu item derives its power from scripts. To add items to a menu, make sure the Menu Overview is open and choose "New Item" from the Edit menu. Double-click on the menu item. A menu item dialog box appears that contains the menu name, item name, command key equivalent, item number, item i.d., item attributes, and access to the script editor. Item attributes include disable item, simple dividing line, mark item with check, and hierarchical link, as well as bold, italic, underline, outline, and/or shadow text attributes.
Unlike HyperCard, SuperCard has no "Home" card. Rather, it uses a Shared File, which contains all resources used by all projects. Unlike the Home Card, you cannot manipulate it directly, since it does not have any cards. However, you can add or remove resources via access to its Project Overview. This is done by using the standard cut, copy, and paste commands.
Scripts are created via the SuperTalk programming language, a superset of HyperCard's HyperTalk language. Like HyperTalk, it is interpreted and not compiled. Unlike HyperTalk, it contains many new commands and functions that expand the power of its predecessor. These commands and functions are used to perform actions, navigation, and arithmetic computations, as well as manipulate projects, objects, screens, and sound.
The script editor contains everything you'll need to create scripts. It is the equivalent of the standard HyperCard script window but contains five pop-up menu buttons in addition to the editing window. They are CTRL Structs (control structures), Commands, Functions, Sys Messages (system messages), and Properties. In addition, you can also set the font type and tab size of the script's text in the script window via the Script menu as well as do sophisticated searches and replacements within the text of the script. As with all modes in SuperEdit, you can have multiple script editor windows open and copy and paste between them.
The most exciting thing about SuperCard is its ability to transform projects into stand-alone applications. To create a stand-alone, just choose Build Stand-alone from the Project menu. SuperCard then inserts a subset of its code into the project. This adds approximately 350 or more kilobytes to the size of the application. Not only does this feature allow you to run the project without SuperCard but it allows you to run others as well. In addition, Silicon Beach gives owners of SuperCard a royalty-free license to distribute noncommercial and commercial stand-alone applications created by it.
Once you've created a stand-alone application, you're not locked out if you want to make any changes. You can still modify your new application to your heart's content via SuperEdit.
Converting from HyperCard
All is not lost for veteran HyperCard stackers who wish to use their previously created work in SuperCard and don't want to start over from scratch. SuperCard, through the SuperEdit application, allows HyperCard stacks to be converted with little or no modification into SuperCard projects. Conversion is as easy as choosing "Convert Stack..." from the File menu.
A dialog box asks you to choose a stack for conversion. Once selected, SuperEdit automatically appends the name of the stack by adding the suffix ".SC" to prevent unintended alteration of your original stack. Of course, you have the option of giving the project any name you like.
Upon clicking the OK button, another dialog box appears that asks if you wish to convert using the Normal or Custom options. Choosing the Normal option tells SuperCard to take the standard six resource types (cursors, icons, sounds, cluts, XCMDs, and XFCNs) that SuperCard imports directly and store them in your new project. The Custom option is useful if you wish to specify if each resource should go to either the project or the Shared File for access by all projects. Converting a stack to a project, however, is slow. Using a 500-card HyperCard test stack, conversion took nine minutes and thirty-nine seconds on a Macintosh IIcx with 4 megabytes of memory and thirty-four minutes and thirty-six seconds on a Macintosh Plus.
No Speed Demon
This leads us to SuperCard's major weakness -- speed. If your project involves a lot of navigation, SuperCard's speed is barely acceptable on 68030-based Macintoshes (SE/30, IIx, IIcx, IIci), and currently unacceptable on 68000-based Macs (Plus and SE).
One simple way of testing speed is via a script that uses the "show all cards" command and calculates the total time in seconds that the stack or project takes to go through all the cards. Figure 5 is a three-dimensional bar graph created in Wingz to graphically show the results of such a test. Using the test stack in HyperCard, it took fifty-five seconds to flip through all the cards on a Mac IIcx, and 188 seconds to do the same on a Mac Plus. After converting the test stack to a SuperCard project, the results were 118 seconds on the Mac IIcx, and 345 seconds on the Mac Plus. Clearly, this is unacceptable performance for Mac Plus and SE users.
Although I was unable to test it in the 256-color mode, it has been noted by many users that SuperCard slows up even more when color and TIFF files are used. Obviously this is something that Silicon Beach will have to address in future versions if it wishes to stay ahead of HyperCard in that respect, especially since HyperCard 2.0, due out sometime this year, is expected to have speed increases from three to ten times that of the current version of HyperCard (version 1.2.5).
Who's Got the Button?
Another essential feature that is missing from SuperCard is that of a true hyper-text feature - sticky buttons. Sticky buttons are transparent buttons that literally "stick" to a word or group of words in a scrolling field. There are ways to emulate this via some imaginative scripting. However, given that Silicon Beach touts SuperCard as having the ability to make anything a button, this is a rather serious omission. To be fair, HyperCard does not have this feature either, but version 2.0 is expected to have this capability. We hope that Silicon Beach does the same in a future update.
SuperCard is the next great leap forward in hypermedia applications. It is very powerful, which makes it relatively easy to create projects and stand-alone applications (though more difficult to get used to if you already develop in HyperCard). SuperCard finally provides some features that HyperCard users have been clamoring for, namely color and multiple windows that are draggable and resizable. For all its power and functionality, there is a price to be paid, and that is its sluggishness in moving from card to card. Since the majority of Macintoshes among the general public and in the library community are 6800 based, and SuperCard is almost ridiculously slow on those machines, Silicon Beach will have to make a concerted effort if it is to win over the hearts of the HyperCard community. I can heartily recommended this if you are developing and running projects on a '030 machine or a Macintosh Portable. For all you Plus and SE users, the jury is still out on this one.
PHOTO : Figure 1. A typical SuperCard project showing a rich multiwindowing environment.
PHOTO : Figure 2. The Project Overview contains information about the project and allows user
PHOTO : access to windows, menus, and resources via the icons on the left.
PHOTO : Figure 3. The Window Overview contains information about the window and permits access
PHOTO : to cards in the window.
PHOTO : Figure 4. SuperCard uses four types of tool palettes for project creation: (1. to r.)
PHOTO : draw, paint, button, and field.
PHOTO : Figure 5. This 3-D bar chart created using Wingz shows the speed differences between
PHOTO : HyperCard and SuperCard by calculating the time it takes to flip through all the cards
PHOTO : in a 500-card HyperCard test stack and 500-card SuperCard project (converted from the
PHOTO : test stack) via the "show all cards" command.