If you're a skilled serial bit banger and programmer who isn't satisfied with ordinary Mac communications programs, you're a good candidate for SuperMac Software's Acknowledge. But if you can't tell Ring Detect from Ready to Send, this developer-oriented package isn't for you.
Acknowledge is a combination communications program and interpreted-language system. Using windows, menus, tools, and resources, you build a linked series of communications scripts that can take care of virtually anything likely to pass through the serial port of a Macintosh. The results can be automated self-running modules, semi automated front ends to simplify complex corporate systems, or completely interactive unique Macintosh-style communications packages. Apple itself, for example, uses an Acknowledge system internally to semi-automatically download and distribute Telexes.
In programming style, Acknowledge is much like a high-end database. The package includes the basic capabilities, such as setting the modem, opening and closing files, and bringing up windows, a menu bar, and a status bar. Doing anything really interesting, however, requires you to write programs in Acknowledged Telecommunications Access Language (TAL).
TAL resembles an updated and expanded BASIC, with labels, commands, variables, and functions. Naturally, the language is particularly strong in communications control, with commands that send and receive data either by way of higher-level Mac structures or more directly by manipulating the actual hardware serial ports.
There are also commands that look for patterns in the data stream, create dialog boxes for a Mac-style user interface, and set and test communications status and conditions.
If you've done any serious programming, you'll find the communications side of the language quite pleasant. The use of symbol characters such as percent (%) and dollar sign ($) to identify variables makes programs a bit cluttered and hard to read; otherwise, it's straightforward and relatively clean. Acknowledge can even capture in TAL a communications session you run manually as an example.
On the interface side, though, the going is a bit rougher. While some live dialog-box formats are built into Acknowledge and accessible through TAL, you're expected to create any others you need through a modified version of Apple's ResEd resource editor called AckEdit. This is not, as the manual clearly points out, for the careless. the timid, or the inexperienced. Creating a simple dialog box entails creating not only the dialog box resource but also the dialog items, any needed icons, a DESC (description) resource, a DMAP, a DLST, and maybe an ILST and a RLST as well. All these have to be linked to the ICN# (icon number) of the icon for the connection program, and all the various numbers, sizes, and positions must agree.
Amazingly, you also have to resort to AckEdit to change some basic program parameters, such as the size of the communications buffer and the answerback if you're emulating a VT-100 terminal.
Maybe it was once true that for a Mac program to be beautiful, the programmer had to suffer, but it ought not to be any longer. High-end databases once had similarly arcane requirements, but almost all of them now have screen generators, automatic resource managers, and even optimizers. Even HyperCard scripts have stack-based resource editors. Acknowledge could use a lot of work in this area.
Given the effort it takes to program the user-interface side, it's at least nice that many of your efforts can be reused, Acknowledge uses a linked subroutine structure that allows programs to call independently created subroutines to be used as resources for multiple programs. A common sign-on routine or modem-control file, for example, could be reused both in an electronic-mail front end and as a routine for downloading data from a company mainframe. A single connection file, furthermore, can include several linked or independent connection routines (though it would have been less confusing if one had been named the connection and the other something like the script).
Acknowledge is compatible with all currently sold Macs and the most recent system software as of press time (System 6.0.2). It runs well in both Lhe foreground and background of MultiFinder, but AckEdit runs only in the regular Finder. Even with moderately complex scripts and search lists, the program appears to keep up with even 9,600-baud modems. Several early developers confirm that it will also run at the faster rates often used for direct machine-to-machine serial links without slowdowns or loss of characters.
The Acknowledge reference documentation is well done. It contains most of what you'll need if you're the type of experienced hacker this package is intended for. Each TAL command is clearly spelled out, along with a generous supply of examples. A valuable set of appendixes lists not only the Acknowledge error messages but also most of the ones you’re likely to get passed back from the Mac operating system. The package comes with several example files, including an automated mail-drop system that sends over a link any file placed in its input folder and basic connections for several of the major dial-up information services. If you need to bootstrap up to the skilled level, though, you may find the user and programmer tutorial manuals somewhat weaker.
If you successfully develop a package in Acknowledge, you can get the run-time versions you need to distribute your work quite reasonably. Bought separately, each run-time version is $10, but if you are accepted as a certified developer, you get your first 250 run-time versions included with training and support in the S500 annual cost.
If you’re clever enough, and you don’t need any fast processing, you can use HyperCard with the right serial-port, file-control, and encryption XCMDs to do much of what Acknowledge does. If you’re looking for a light-duty link for your own use, Microphone II or Red Ryder might be better suited to your needs. But if you need a system that gives the serial port the power to be its best, you’d do well to Acknowledge your more challenging communications requirements.
Rose, Steve. (January 1989). Acknowledge. MacUser. (pgs. 58-59).