Advanced features make this $120 terminal emulator for the Macintosh a standout
Tom Thompson
Aladdin Systems is well known for its Mac utility programs. This visibility comes from the quality of its products--and the offbeat names some of these programs sport. For example, its file compression and archiver utility goes by the frank title of StuffIt Deluxe. Now Aladdin has a terminal-emulator program called SITcomm.
At first you may wonder whether to take SITcomm seriously--not because of the pun, but because the telecommunications market is a mature one with fierce competition and little room for newcomers. What can Yet Another Terminal Program offer?
Surprisingly, SITcomm offers a lot of features, several of which make it stand out in the crowd. These include one-button log-on sequences for popular on-line servic
es such as CompuServe and GEnie, automatic decompression of incoming archive files, and, most important, full-blown Apple Event support. This last capability lets you record and edit on-line sessions to create automated scripts--to log on and download your mail, for example. Finally, at $120, the price is right.
Good Things Come
With all these bells and whistles, you'd expect SITcomm to be massive, but the complete package fits on two 800-KB floppy disks and takes up just 2.5 MB of disk space after installation. The SITcomm application itself weighs in at 343 KB and requires only 600 KB of memory.
A custom Installer application (built by another Aladdin utility, InstallerMaker) lets you pick the desired configuration. After installation, you get the SITcomm application, an Address Book file that stores frequently called services and settings, two terminal fonts, plug-in tool files that implement various connections and transfer protocols, and sample scripts in both the AppleScript and UserLan
d Frontier languages.
Aladdin achieved its economy of size by using Apple's Communications Toolbox, an API that supplies basic networking and communications services. Using the API to handle the details of modem connections and terminal emulation, Aladdin's software engineers only had to write the application-specific code. Because the Communications Toolbox is part of System 7, SITcomm requires this version of the Mac OS to run.
The Communications Toolbox's modular design allows great flexibility in how a program establishes a communications session. Its API provides a hardware- independent interface, while separate plug-in modules called Tools handle such hardware- or implementation-specific details as the serial connection, modem type, terminal emulated, and file transfer protocols. There is, for example, a Serial Tool for establishing direct serial connections.
An Apple Modem Tool lets you choose the serial port, the modem type (which configures the modem command set), and the baud ra
te as well as stop bit, parity, and other hardware-specific settings. A VT102 Tool and a TTY Tool handle terminal emulation. Aladdin supplies Tools to manage XMODEM, YMODEM, ZMODEM, and Kermit file transfer protocols. As the company introduces new Tools with new capabilities, you just add the files to the Extensions folder.
Serious Features
SITcomm provides a sparse but informative display (see the screen above). A floating Toolbar below the terminal window sums up the current line speed, terminal emulation, and protocol settings, displaying them on buttons; you can click on the buttons to change the settings. Other Toolbar buttons activate functions such as storing text selected in the terminal window to a notepad file, capturing the terminal's I/O stream to a file, or routing it to a printer.
SITcomm uses an Address Book file that lets you organize on-line contacts by name. With each name you can store a phone number, baud rate, file transfer protocol, and terminal emulation to use. The pro
gram maintains a separate notepad for each Address Book name. When you select a name from the pop-up menu in the Toolbar, SITcomm configures each Tool setting and dials the number.
The program contains automated sequences for several popular on-line services, including CompuServe, Dow Jones, MCI Mail, EasyLink, and GEnie. There are also canned sequences for connecting to several types of BBSes (i.e., FirstClass, TBBS, and TeleFinder), a medley of Unix systems, and even a VAX. You configure them via the Address Book item in the Session menu. A session is then only a pop-up menu away in the Toolbar.
If your service isn't on SITcomm's list, there's no easy way to create an automatic sequence entry. The best solution is to use the manual log-on setting and create an AppleScript that drives SITcomm through the service's log-on sequence. However, you need the developer version of AppleScript or UserLand Frontier to gain access to a script editor.
Because SITcomm fully supports Apple Events, the
script editor can capture the stream of high-level event traffic into an editable script file. You can then edit this script and save it as an executable file.
When you launch the resulting application, it issues a sequence of Apple Events that steers SITcomm through the log-on process for your service. This capability is one of the greatest features of the Mac OS, and SITcomm excels at it.
Lacking Examples
Having said how wonderfully SITcomm handles high-level events, I must also report that the manual is woefully short on information on how to use them. To be fair, the manual provides an appendix detailing the events SITcomm understands, including descriptions of any required arguments and returned results. But it's served up as reference material only; there are no useful examples.
As a result, it took me hours of experimenting and intense study of the AppleScript manual to figure out how to write a script that could retrieve any new E-mail or messages if they are present and then
disconnect. I've provided the resulting AppleScript (see the listing).
SITcomm's support of high-level events, its most significant feature, gives it the potential to act as a communications engine in a variety of component-based applications, or in environments such as OpenDoc. But it won't be of much use if these features aren't documented better.
Putting On the Squeeze
Because Aladdin makes StuffIt Deluxe, one of the Mac standards for file compression and archiving, the company incorporated this technology into SITcomm in a way that makes file transfers painless. Once you've received several files and want to leave SITcomm, it automatically decompresses any StuffIt Deluxe, Compact Pro, AppleLink package, or encoded BinHex files before it quits.
For downloading file archives with oddball formats, SITcomm comes with an army of format translator modules that you can pick and use from its Translate menu. Just a few of the translators are PC .ZIP and .ARC, and Unix tar, compress, and uue
ncode. If you send files, SITcomm can automatically compress them before transmitting them. This eliminates one more annoying intermediate step in the process of moving data over the phone wires.
I tested SITcomm on a Quadra 840AV, a Quadra 800, a PowerBook 170, and a PowerBook Duo 270c. Sending and receiving files using the various Aladdin transfer protocol Tools went without a hitch, and it was nice to have immediate access to decompressed files once I exited SITcomm. Setting up an Address Book entry for my GEnie account took only a minute or two, and SITcomm nailed the connection perfectly the first time.
SITcomm is a latecomer to the communications scene, but its unique features give it a hefty advantage over the competition. Its small footprint makes it essential for the PowerBook-toting crowd, and its transparent compression and decompression of files eliminates one more nuisance when dealing with matters in Cyberspace. With better documentation, its high-level event capabilities can make
it a communications component for custom in-house solutions. Check it out.
The Facts
SITcomm 1.0 $120
Aladdin Systems
165 Westridge Dr.
Watsonville, CA 95076
(408) 761-6200
fax: (408) 761-6206
Listing: Sample AppleScript to Log On to BIX
tell application "SITcomm"
activate (* Launch SITcomm and make it the foreground app *)
Load Address "BIX" (* Load the speed and transfer protocol settings for BIX *)
Connect
Wait For Text "bix\"): " (* Look for the TYMNet prompt *)
(* Tell it we want BIX *)
Send Text "bix"
Wait For Text "Name? " (* Log-on name and password prompts *)
Send Text "scriptsavant"
Wait For Text "sword: "
Send Text "notapassword"
set banner to 1 (* Prime escape flag to loop at the beginning *)
repeat while (banner = 1)
(Wait For Text {":", "more..."} timeout 6) (* Look for these 2 strings *)
copy result to messResult (* Save returned string in variable *)
if messResult = "mor
e..." then (* We're caught in system banner *)
Send Text ""
(* Fire off returns to push through the banner text *)
else if messResult = ":" then (* Found regular prompt, escape loop *)
set banner to 0
end if
end repeat
(* Go to the mail service *)
Send Text "mail"
(Wait For Text "No unread inbasket messages." timeout 6) (* Save response *)
copy result to messResult
if messResult = "No unread inbasket messages." then (* No mail, quit service *)
Send Text "q"
else
(* File and download mail here *)
end if
Wait For Text ":" timeout 6 (* We're done, sign off *)
Send Text "bye"
end tell
Illustration: A floating toolbar below SITcomm's terminal window displays current line speed, terminal emulation, and protocol settings on buttons. You can press these buttons to configure the settings.
Tom Thompson is a BYTE senior technical editor at large with a B.S.E.E. from Memphis State University. He is an Associate Apple Dev
eloper. Contact him on AppleLink as T.THOMPSON, or on the Internet or BIX at
tom_thompson@bix.com
.