Review: Cruise Control 1.1
Company: Walnut Systems
List Price: $99 (Voice Agents sold separately: $29)
Requirements: 68020 or greater, plug-ins require PowerPC)
Macros and Your Mac
Cruise Control is an application which automates processes on your Macintosh. The concept of automating tasks is not new to the world of computing. Yet Cruise Control offers a unique approach to the world of macro makers, and by doing so, it presents an unprecedented level of user-friendliness and simplicity. The interface is intuitive, and the application is well designed. However, despite its appeal and promise, Cruise Control is limited by a rather small command set. This limitation aside, Cruise Control is a great piece of software.
Cruise Control consists of an extension and an application, as well as some other goodies included to get you started. The application itself is used to configure macros, which Cruise Control calls agents. The application defines their actions, activation times, etc. The extension is responsible for executing them. Thus, the application need not be left open. The one exception to this rule concerns the use of Voice Agents, which I will discuss later in this review.
Upon launching Cruise Control, the user is presented with a calendar displaying the current month. Here begins my first, albeit petty, complaint. Cruise Control provides several different view modes for the calendar display: Yearly, Quarterly, Monthly, Weekly and Daily. The user may choose from among these modes as often as he likes while using the program. But Cruise Control obnoxiously reverts to the monthly view every time you launch it.
Moving on...The calendar helpfully displays light gray boxes for elapsed days (reminding you that you cannot set a macro to execute yesterday, for example) and white boxes for remaining days. “Zooming in” works nicely, which is to say that double clicking on a day in the monthly or weekly views will switch the display to the daily view for that date. Similarly, double clicking on a month in quarterly or yearly view will bring up that month in the monthly view mode. I wouldn’t mind having command key equivalents for each of the view modes (Command-1, 2, 3, etc. would be logical) so I wouldn’t have to keep going up to the menu bar (I’m lazy).
Cruise Control’s agents may be activated in several different manners. They may be scheduled to execute once on a certain date at a certain time, say Saturday November 6th, 1999 at 7:30 PM. Or they may be recurring events which execute every X minutes, hours, days, weeks, months or years. Schedule agents may be further qualified by a date, day, or time range. In other words, an agent may be set up to execute daily Monday through Wednesday, or to execute every three days from 11/9/99 to 12/9/99, or to execute every ten minutes from 3 AM to 7 AM.
Contrarily, an agent may execute based on an elapsed period of idle activity: after X seconds, minutes, or hours. Idle activity may be qualified as: No user activity, No network activity, No disk activity, or All of the above. Idle time agents may be single-execution or recurring (i.e. they will always execute after a specified idle time from now until eternity).
Additionally, an agent may be defined to execute: Never. Such an agent will only execute when Now is selected from the Execute menu from within the Cruise Control application. This type of agent might be useful for an on-demand automated process.
There is one other way to activate an agent: by voice command. The Voice Agents plug-in, available separately for an additional $29, enables the user to harness the voice recognition engine provided by the Mac OS using the Speech Manager, Speakable Items, and Speech Recognition extensions. Voice Agents provides a way to activate Agents by speaking their names. This is useful, as the Mac OS’ speakable items functionality is quite limited. However, in order for voice based agents to activate, the Cruise Control application must remain open. To address this limitation, Cruise Control has a “Hide Cruise Control” command under the Windows menu. Alternatively, one might simply use the Application menu to hide the Cruise Control app itself.
Once an agent’s basis for execution has been defined, it is time to define its actions. An agent may execute one or more actions, in a particular order. Cruise Control has a deceivingly small action set. At a glance, it appears that the user can only accomplish a handful of tasks with agents. An agent may launch or quit an application, perform a variety of tasks on a file (rename, copy, move, print, make alias, etc.), make a new folder, empty the trash, set a location using the Location Manager, startup or shut down the computer, sleep or restart the computer, or wake the computer from sleep.
There is one other action, which requires greater focus: Make Recording. Cruise Control will record a users’ actions while in “record” mode, and then play them back as an action for an agent. The possibilities for this capability are obviously immense. I did, however, discover two bugs in the recording feature. First of all, the status windoid which displays the Stop and Record buttons disappears during the recording process if a menu item is selected or an application other than Cruise Control is brought to the foreground. The windoid never reappears, hence the only way to stop the recording process is to bring Cruise Control to the front and press Command-Period. The second bug is an incompatibility with my Kensington mouse. When I made a recording in which I depressed either of my mouse buttons anywhere but on a menu, Cruise Control replayed the action but instead of clicking the mouse it did a click-hold indefinitely, which resulted in halting the playback of the recording. I realize that Walnut Systems cannot possibly insure compatibility with all input devices, but this bug does prevent me, and many other users of multi-button mice, from using the recording feature in any practical way!
Aside from the recording feature, Cruise Control’s command set may be extended by way of AppleScript. If a user generates an AppleScript and saves it as an application, Cruise Control can, of course, execute that script by launching the application. For power users, this is very useful.
However, in general I found Cruise Control’s command set to be limited. There are a number of commands from other macro programs which I miss. One significant example is the simple Pause command. But there are obviously other more complex and useful commands as well. Similarly, if Cruise Control provided for keyboard activated macros I would be more enthusiastic about its usefulness. It would also be able to compete with CE’s QuicKeys more effectively.
I like Cruise Control. It is clearly a well thought-out application with a good focus. The interface is intuitive, Appearance Manager compliant, and makes excellent use of the Drag Manager. My objections to the interface and functionality of the configuration application are few. The flexibility offered in defining how and when an agent should execute is awesome, and again represents how well thought-out the application is. While the recording feature opens numerous possibilities, without a working knowledge of AppleScript, many users will find Cruise Control limited in usefulness. In Walnut Systems’ defense, Cruise Control does come with a handful of AppleScripts which execute useful tasks. However, more are needed.
Voice Agents gets major points on the coolness scale. It increases Cruise Control’s usefulness and expands on the limited functionality of the Mac OS’ speech recognition. The plug-in architecture of Cruise Control implies that more may be on the horizon from Walnut Systems. They have already provided a free plug-in which adds a new action to Cruise Control: logging onto AppleShare file servers.
There is no question in my mind that Cruise Control will develop further and blossom into an awesome piece of software. Few applications are so polished and well designed at an early age of Version 1.1. Once the command set is expanded and a few loose ends are tied up, Cruise Control will easily stand out as the logical choice for automating one’s Mac.