TidBITS#351/28-Oct-96

Have you always wanted a Newton? Apple will have two new models for you, including a notebook-like version with a built-in keyboard. Also in this issue, Adam takes a detailed look at the pros and cons of RAM Doubler 2.0, information on Apple's release of Open Transport 1.1.1, and Matt Neuburg contributes a thorough review of the new macro program on the block, Binary Software's KeyQuencer 2.0.

Two New Newtons -- Apple today announced two new Newtons: the MessagePad 2000 and the eMate 300. The MessagePad 2000 is a significantly enhanced "traditional" MessagePad with a 161.9 MHz StrongARM 110 processor, 5 MB of RAM, two PC Card slots, a 100 dpi screen with 16 levels of grey, plus word-processing, spreadsheet, email, and Web software - all for an expected retail price of less than $1,000. Conversely, the eMate 300 features a completely new notebook form factor with a built-in keyboard, a 480 by 320 backlit screen (with 16 levels of grey), a 25 MHz ARM 710 processor, and a new productivity suite with word processing and drawing programs, along with dictionary, calculator, address book, and calendar functions. Apple is aiming the eMate 300 at "distributed learning" environments, and it should be available for less than $800. Both the MessagePad 2000 and the eMate 300 run the Newton 2.1 operating system and should be available in the first quarter of 1997. [GD]

Last week, Apple released Open Transport 1.1.1, its low-level system software which handles all aspects of networking, including AppleTalk and the Internet's TCP/IP protocols. In addition to being the first release of Open Transport to function on Performa and Power Macintosh 52xx, 53xx, 62xx, and 63xx-series computers, Open Transport 1.1.1 includes significant bug fixes that benefit current users, especially webmasters and other server administrators.

If you download the disk images, you'll need a program like Chad Magendanz's ShrinkWrap to mount the disks or copy them to a floppy, and you'll want the separate OT 1.1.1 Extras archive (which is included in the full net install). The download is about 5.5 MB. In addition, the Open Transport 1.1.1 update is available on CD-ROM for $13 from Apple (800/293-6617; offer number 1407).

Installing OT 1.1.1 -- Open Transport 1.1.1 requires a Macintosh with a 68030 processor or better (including any Power Mac). When installing any new system software component, back up your Macintosh (or at least your System Folder) before installing.

Installing OT 1.1.1 is fairly straightforward: just launch the installer and click the Install button. (If you switch into the Custom Install, you can select versions for 68K or any Macintosh.) For current Open Transport users, OT 1.1.1 must be installed over OT version 1.1, and ideally you should have version 1.1 available in case you have problems. Open Transport 1.1 is available as a retail product and (for free) as part of System 7.5 Update 2.0 (see TidBITS-318). If you're running System 7.5.5, you may need a custom install script to install OT 1.1 from System 7.5 Update 2.0 (see TidBITS-349).

If you were using a beta of OT 1.1.1, remove it and re-install version 1.1 before upgrading to this final release of OT 1.1.1.

Owners of Performa and Power Mac 52xx, 53xx, 62xx, and 63xx-series computers can install OT 1.1.1 directly. The installer performs a hardware check on these machines to see if the Cache/ROM DIMM should be replaced as part of Apple's repair extension program. The repair is free from your Apple dealer; however, Open Transport 1.1.1 will not install until the problem is fixed. Affected owners can call Apple at 800/801-6024.

Apple recommends Open Transport 1.1.1 for all users of System 7.5.3 and higher; however, it's actually compatible with every System back to 7.1. Confusingly, the Network Software Selector - a utility that enables users to switch easily between Open Transport and "classic" networking - only works under System 7.5.3 and higher. If you're determined to use Open Transport with a System prior to 7.5.3, be sure to back up your current network settings and software before installation.

Benefits of OT 1.1.1 -- Open Transport 1.1.1 contains numerous bug fixes and enhancements, most of which are purely under-the-hood:

Fixed primary causes of memory fragmentation, along with several bugs that caused crashes or prevented Open Transport from accepting new connections.

Optimized handling of accepting and closing connections. This is particularly useful for Internet servers or clients that accept or generate many brief connections - previously, Open Transport could take up to four minutes to close those connections.

In addition, the OT 1.1.1 ReadMe and Technical Info files contain detailed information on using OT 1.1.1 with specific applications, and list a number of known (but relatively rare) problems and incompatibilities. If you've experienced trouble with Open Transport, read over these documents before installing this new release.

What about PPP? For dial-up Internet users, Open Transport 1.1.1 is compatible with MacPPP and FreePPP version 2.5 or higher, as well as a number of commercial PPP implementations (check the ReadMe files for specifics). However, Apple's long-awaited Open Transport/PPP is not included in Open Transport 1.1.1 - support for PPP is still only officially provided through these third-party programs, none of which are "OT-savvy."

Apple expects to release its PPP implementation for Open Transport by the end of the year. In the meantime, a beta version of OT/PPP can be found in Apple's unsupported file areas.

In January of 1994, Connectix introduced RAM Doubler, an innovative utility that transparently appeared to double the amount of memory in most Macs (it requires a 68030 processor or higher). I was impressed with it back then (see TidBITS-208 for a review and more information on how it works), and now that Connectix has released a major update, RAM Doubler 2, I remain impressed.

Over the years, Connectix has released a number of free updates to RAM Doubler 1.x, mostly to fix bugs or ensure compatibility with new Macs and new releases of the system software. Since RAM Doubler works at a very low level, hardware or system software changes can break it more easily than other programs. But, as I said, these updates were all free and available on the Internet, so downloading updates wasn't a problem for most people.

New and Cool -- In August of 1996, Connectix released RAM Doubler 2, which provided several major changes.

Though there were some hacks that could change this capability, RAM Doubler 1.x could only double your memory. RAM Doubler 2, in contrast, has a control panel interface that enables you to set how much memory you want to end up with, ranging from nothing extra (more on why you might want to do that in a minute) to three times the amount of real RAM that you have installed. You can multiply your existing real RAM by 1, 1.5, 2, 2.5, or 3 times, and by intermediate values if you press Option while moving the slider bar.

The first version of RAM Doubler had no interface: you simply installed it and rebooted. RAM Doubler 2's control panel enables you to change the amount of memory you end up with and shows how much memory each active program has allocated to it, in a manner similar to the About This Macintosh window, but with far more information. RAM Doubler 2's interface can also break out the different things that chew up system memory (disk cache, MacsBug, invisible background applications, and the Finder, for instance). What's more, it tells you how much memory is in use and (more important) how much memory RAM Doubler 2 has reclaimed.

If you use a Power Mac and have ever opened an application's Get Info window, you know that thanks to a technique called "file mapping," Power Mac-native applications require less RAM (an average of almost 2 MB less, according to Apple) if you use either Apple's Virtual Memory (VM) or RAM Doubler. Applications also load faster if you use VM or RAM Doubler. You can read more about why in Apple's Tech Info Library.

So, it's clear Power Macs should generally have VM or RAM Doubler on, even if they have plenty of real RAM. But here's the kicker: when you turn on VM in the Memory control panel, the minimum setting is for 1 MB larger than the amount of real RAM you have. VM creates an invisible VM Storage file on your hard disk that is the same size as the total amount of memory available after turning on VM. Assume that you have 80 MB of real RAM. Turn on VM and set it to the minimum of 81 MB. Poof, there's 81 MB of disk space gone.

If you set RAM Doubler 2 so that it doesn't provide any more memory at all, it offers the advantages of VM or the previous version of RAM Doubler, but without the speed problems that normally accompany any scheme for faking more memory. This works because RAM Doubler 2 relies on disk swapping only as its final strategy to provide more memory (first it reclaims unused memory in application partitions, then compresses memory it can't reclaim). On my 660AV with 20 MB of real RAM, set to 60 MB, RAM Doubler 2's invisible VM Storage file is currently 390K. I can live with that.

Reasons Against -- Although I'm a definite proponent of RAM Doubler, there are a number of real reasons not to use RAM Doubler 2.

The main one is that RAM is cheap right now (although prices are rising again). There's no question that real RAM is better than RAM Doubler.

Speed: Although RAM Doubler 2 is faster than its predecessor, as you use more of the memory it has conjured up, you will start to see speed hits. I can't offer any testing specifics, other than to say that I haven't noticed speed problems caused by RAM Doubler 2 under normal usage. If you need the utmost in speed, avoid both RAM Doubler and VM.

Lots of RAM and disk space: My argument above for why RAM Doubler 2 is more attractive than VM for Power Mac users with lots of RAM only applies if you are short on disk space too. If you have lots of both, VM is free and works fine. Moreover, the performance of Apple's VM has improved considerably in System 7.5.5 (see TidBITS-346).

Single application users: RAM Doubler has never worked well for providing a single application more memory than the amount of real RAM available. Adobe Photoshop is among the worst in this regard, since it has its own internal memory-mapping scheme. RAM Doubler works best for running multiple applications simultaneously.

Programmers: Although programmers should test their programs with RAM Doubler, the word from my programmer friends is that you can't much use RAM Doubler on a programming machine because of incompatibilities with debuggers and other development tools.

Anyone without $50: RAM Doubler 2 isn't free, and for the cost of RAM Doubler 2, you can buy about 8 MB of real RAM. If you're a previous owner of RAM Doubler, there's a $25 rebate coupon in the box for you to mail in.

Reasons For -- Despite these important reasons to avoid RAM Doubler 2, I think there are plenty of reasons to investigate it more seriously.

Minimal money: RAM Doubler 2 may cost about the same as 8 MB, but if you have say, 20 MB now, RAM Doubler 2 can double or triple that amount, which is a lot more than 8 MB.

Older Macs: Frankly, I don't think it's worth buying RAM for older Macs that use SIMMs, like my 660AV. SIMMs won't be useful in any new Mac (which use DIMMs), so if you plan to upgrade soon, RAM Doubler 2 is a better investment. It will work on your new Mac (though you may have to download a minor update), but SIMMs definitely won't.

Power Macs without much disk space: Whether or not you have much RAM, a Power Mac runs better with either VM or RAM Doubler on. If you lack disk space (and yes, I know hard disks are cheap too - but lots of people have little money to devote to computer purchases), RAM Doubler 2 uses fewer total resources than VM and provides more RAM, since Apple recommends you only set VM for 50 percent more memory than you have real RAM.

PowerBooks: Because RAM Doubler doesn't go to disk immediately to swap memory, RAM Doubler can be less draining for PowerBooks than VM, which can keep the hard disk spinning. In addition, most PowerBooks (and some desktop Macs) have only a single slot for adding more memory, and using RAM Doubler can be a lot easier than ordering and installing new RAM.

In the End -- Some utilities are easy to recommend because they offer features unavailable elsewhere. That's not true of RAM Doubler, since Apple's VM is free. However, the fact that RAM Doubler sold over a million copies and RAM Doubler 2 sold 50,000 copies in its first month indicates its overall utility to the Mac community. I couldn't use my aging 660AV without RAM Doubler (I actually launch more applications at startup than I have real RAM for), and RAM Doubler 2 has been a pleasant upgrade, in part for the RAM-tripling and new interface, and in part for the file mapping capability for my PowerBook 5300, which has enough real RAM at 24 MB and prefers to keeps it hard disk spun down.

A Deal -- We've worked out a special deal for TidBITS readers with Cyberian Outpost. If you use the specific URL below, you can order RAM Doubler 2 online and receive a $4 discount (think of it as free shipping).

Those wishing to automate their Macs without spending the money or yielding the RAM required to run one of the big commercial macro programs may wish to consider KeyQuencer. Once a $10 shareware program, the product of the ingenuity and generosity of the well-known Alessandro Levi Montalcini, it has now been upgraded to version 2.0 and sells as a commercial macro utility from Binary Software for $40. It runs quickly and cleanly in a small RAM footprint (less than 200K) under System 7.x, and most features are said to run (though without official support) under System 6.0.4 and later.

What It's Like -- KeyQuencer macros live in "suitcases." The default suitcase loads at startup, and its macros (the active macros) can be triggered by a keystroke combination. Macros in other suitcases can't be triggered by a keystroke, but are available through a small application, KeyQuencer Launcher, which displays any suitcase as a double-clickable list. Macro names can be up to 31 characters, so the lists can be informative. You might leave the Launcher running all the time, with multiple suitcase windows open; your commonly used macros can be triggered with keystrokes, and if you need a less-frequently used macro (or if you forget an active macro's keystroke), there it is in one of the Launcher's lists. (Remember, though, the Launcher is an application, not a dialog or palette, so if you double-click a macro that affects the frontmost window, it will be the Launcher's window.)

This technique might help make up for the fact that in KeyQuencer, unlike QuicKeys or OneClick, there's no such thing as an application-specific macro. Once you've assigned a keystroke to a macro and made that macro active, that keystroke is unavailable for anything else, system-wide. It takes some planning to come up with keystrokes that have no meaning in any extension, control panel, or application. The danger is that you'll run out of possible keystrokes, or that you'll trigger a macro inadvertently. KeyQuencer installs itself with numerous macros already active, so before I knew it, I had accidentally stuffed a HyperCard stack while trying to read its stack script, and moved an important item into the Trash even though I wasn't in the Finder. A macro can check to see if a certain application is frontmost and either pass along the triggering keystroke or abort. Many of the pre-installed macros perform no such check, though, so be cautious.

Macros are created, edited, named, assigned keystrokes, and copied between suitcases in another application, KeyQuencer Editor. It's a simple, pleasant place to work. You don't have to "open" a macro to edit it: when you click a macro's name in the list, its contents appear in a word-processing pane for viewing and editing. Every macro consists of one or more text commands. You can type these commands, or you can enter them by double-clicking their names in a floating Commands window, which lists all commands and (when a command is selected) possible parameters. An online Help window updates dynamically with a description of the command's function and parameters.

The contrast between the whole milieu and that of QuicKeys couldn't be greater. QuicKeys has short macro names and confusingly arranged menus for selecting macro types, and editing happens in cascades of modal dialogs that must be completely dismissed before you can test a macro, discover that it doesn't work properly, and open everything up again. In KeyQuencer, both Launcher and Editor are applications, with normal windows - which, if you have about 700K of RAM to spare, you could leave open all the time. Editing is textual, and you can save the macro you're currently editing and test it without closing anything.

Communication -- There is no special KeyQuencer menu trigger, comparable to the QuicKeys menu; but James Walker's shareware OtherMenu, which is included, can trigger a KeyQuencer macro. Similarly, KeyQuencer has no time trigger, but if all you need is absolute time (as opposed to time since an application has started) you can use Chris Johnson's shareware Cron, which is also included. You can install a Control Strip module or NowTabs plug-in, from which you can choose and launch an active macro. You can talk to KeyQuencer from AppleScript or Frontier, including passing variables back and forth. Macros can even be incorporated into the CodeWarrior build process.

KeyQuencer can perform any of its functions on a remote networked computer that is also running KeyQuencer; you may, but do not have to, set up the desired functionality as a KeyQuencer macro on the remote computer. (I have not tested this.)

The Language -- KeyQuencer comes with about 260 pre-written macros; if you want to modify one or write a new one, you must use the KeyQuencer language, a rigid, hard-to-remember, command-plus-parameters idiom, where you just know you'll never wean yourself off online help and the reference manual.

In fact, it's not a language so much as a collection of commands. There are no subroutines: the only way to invoke one macro from another is to tell the first macro to type the second's keystroke. There are no looping, branching, or conditional constructs, but there's a Repeat command (that takes as its parameter a quoted string consisting of one or more macro commands) and commands that abort a macro if a certain application is frontmost or if two strings match. There are no arithmetic operators, but there's an Evaluate command which stores arithmetic expressions in the clipboard and a Counter command that maintains a temporary increment-decrement counter. There are no string-processing functions, but there's a clipboard-munging command that can do some. There are variables, but the syntax for passing them around is hair-raising.

To set A to 1 and B to 2 and then add them and put the result into C, you say:

SetVariable A "1"
SetVariable B "2"
Evaluate "\[a]+\[b]" copy -- this puts the result in the clipboard
SetVariable C clipboard -- this gets it out again

To type the numbers 1 through 10, each followed by a tab and a return, you say:

Repeat 10 "Counter increment save\rType $counter \q\\t\\r\q"

What It Can Do -- Every KeyQuencer command corresponds to a small file living in a folder (in your System Folder) called KeyQuencer Extensions. Removing one of these files from the KeyQuencer Extensions folder and restarting disables that command; adding a new one, if a new one is written, expands the repertoire of commands. (If there are commands you aren't using, disabling them lets you save still more memory; if you've just a few macros using just a few commands you can run KeyQuencer in less than 80K!)

There are the usual macro behaviors such as pressing a key, typing a string, choosing from a menu, clicking the mouse, waiting for various types of events. There are also extras similar to those in QuicKeys - and some rather more capable, such as changing applications or windows, setting speaker volume and monitor depth, choosing a printer, and mounting a server. There is a powerful Batcher application: for each copy you make, you preconfigure what macro it should run, then drag & drop files or folders onto it for processing.

KeyQuencer also has an eclectic miscellany of commands, such as: force a window or screen refresh; take a screen shot of a window or region; launch or close your PPP connection; get file info; dramatically show the cursor's position; relocate the frontmost window; drive an audio CD; alter the contents of the clipboard; manipulate ten clipboards; and read and write between the clipboard and a file.

Minor Annoyances -- These are things I noticed in passing, which probably shouldn't affect one's overall judgment of KeyQuencer. A few commands may not work perfectly: the sound-volume commands had no effect on my computer; the "scroll top/bottom" commands don't work in Nisus Writer. Some keystroke-combination triggers (such as the one that toggles KeyQuencer on and off) are not user-configurable. On my computer, Now SuperBoomerang sometimes didn't work within the Editor, and opening a suitcase sometimes writes garbage in the Online Help window and crashes. Within the Launcher, you can't configure the sort order in which the lists appear (by name versus by keystroke); you're stuck with the sort order you were using in the Editor the last time you saved. The syntax of the HyperCard XCMDs is not documented, and, finally, the manual could use more clarity of explanation and design.

Slouch To Judgment -- Here I'm supposed to sum up and tell you whether this is the macro utility you've been waiting for all your life. Truthfully, I just don't know. Though this is one heck of a program, I suspect it's not everyone's cup of tea; a great deal depends upon your mindset, your priorities, and your present repertoire of tools. Your best bet is to download the demo version that is supposed to appear soon on Binary's Web site and see how you like it. Meanwhile, some provocative reflections.

For sheer functionality, there's probably little QuicKeys can do that KeyQuencer can't somehow be made to do, and KeyQuencer has some abilities that QuicKeys lacks. Still, to some, the language might feel too daunting, or not fully-featured. My personal macro Holy Grail is to be given tools to build tools, and my mind runs along a one-program-one-function organizational track; so to me, KeyQuencer feels like a miscellany of extensions bundled together by an intractable language. I prefer OneClick's fuller programming and informational constructs that permit me to build my own multiple clipboards (vs. KeyQuencer's Clipboard command), to drive AppleScript to open or close MacPPP (vs. KeyQuencer's PPPSwitch), to obtain a list of windows and close all but the front one (which, as far as I can tell, KeyQuencer can't do at all). Also, since no one program does everything I want, I don't mind calling upon a battery of scripting tools to help me - Frontier, AppleScript, HyperCard, and so on. Possibly I'm just weird. I suspect your own feelings about these philosophical questions will be more decisive than feature issues such as KeyQuencer's lack of application-specific macros and recordability. For those who like a collection of ready-built high-level tools, KeyQuencer should prove attractive.

Most important, KeyQuencer operates to a high rigorous standard, something that not every macro program does. In the case of something so simple as a keystroke that scrolls the active window up one line, OneClick can't cope with Nisus Writer's windows because the scroll bar's up-arrow isn't in the normal location, but KeyQuencer "tells" the window to scroll in some deeper way and has no problem. KeyQuencer can simulate double-control-clicking on a window's title bar, which on my system activates WindowShade; I can't get OneClick to do that. This testifies to the dedication, the know-how, and the philosophical outlook of KeyQuencer's author, Alessandro Levi Montalcini. It's wonderful that such clean, powerful functionality can emanate from one person's brain in this day and age of megalithic software development corporations.

Another Deal -- We've also worked out a deal for TidBITS readers who wish to purchase KeyQuencer from Cyberian Outpost. If you use the specific URL below, you can order KeyQuencer 2.0 online and receive a $4 discount (think of it as free shipping).

Non-profit, non-commercial publications and Web sites may reprint or link to articles if full credit is given. Others please contact us. We do not guarantee accuracy of articles. Caveat lector. Publication, product, and company names may be registered trademarks of their companies. TidBITS ISSN 1090-7017.