Product Comparison

'cron' is the built in scheduling program that runs in all Unix based systems, including Mac OS X, and has a similar purpose to Script Timer. Both the system and the user can use it to schedule the running of processes. Cronnix is a third party front end program for cron with a Graphical User Interface.

Script Timer has several advantages over cron when it comes to scheduling the running of AppleScript scripts, largely because a) cron is a general purpose Unix utility, b) most scripts must be saved as applications to be run by cron, and c) cron lacks some of the scheduling possibilities of Script Timer. While Cronnix makes using cron much easier for the non Unix expert, it is still cron that does the scheduling, so that the same limitations apply.

The following table compares Script Timer, cron, and Cronnix:

Script Timer 2.7

cron

Cronnix

Standard Macintosh application

Yes
No
Yes

Can schedule compiled scripts controlling GUI applications (See Note 1 below.)

Yes
No
No

Can continue to communicate with script after it is launched (See Note 2 below.)

Yes
No
No

Can pass parameters to AppleScript scripts. (See Note 3 below.)

Yes
Yes
Yes

Has a log file to record all actions and errors (See Note 4 below.)

Yes
No
No

Provides immediate feedback on script errors. (See Note 5 below.)

Yes
No
Yes

Can interpret and process script output (See Note 6 below.)

Yes
No
No

Easy set up of run times. (See Note 7 below.)

Yes
No
Yes

Can specify action start times to the second. (See Note 7 below.)

Yes
No
Yes

User specifiable checking interval. (See Note 8 below.)

Yes
No
No

Specify which second in a checking interval to start actions. (See Note 8 below.)

Yes
No
No

Can schedule actions for beginning or end of idle time. (See Note 9 below.)

Yes
No
No

Can schedule actions just before system sleep or just after wake up. (See Note 9 below.)

Yes
No
No

Can schedule actions at log in. (See Note 9 below.)

Yes
No
No

Can schedule actions to run when a user session is resigned or activated under fast user switching. (See Note 9 below.)

Yes
No
No

Can schedule actions to run when a specified program launches or quits. (See Note 9 below.)

Yes
No
No

Can schedule new actions on the fly from a scheduled AppleScript script. (See Note 10 below.)

Yes
No
No

Can handle multiple data files and easily switch among them. (See Note 11 below.)

Yes
No
No

Is AppleScript scriptable (See Note 12 below.)

Yes
No
No

Free email support (See Note 13 below.)

Yes
No
No

Can schedule actions that take place when no-one is logged in - i.e. system level tasks. (See Note 14 below.)

No
Yes
Yes

Cost

US$12
Free
Donation
  1. Script Timer can schedule compiled scripts as well as script applications. With cron or Cronnix scripts addressing programs in the User domain (essentially all those with a graphical user interface, including the Finder) must be saved as applications to be scheduled by cron or Cronnix. This adds about 52 KB to what would otherwise be a file of only a few thousand bytes, gives a much slower launch time, and clutters the Recent Items menu item in the Finder. In addition, with cron or Cronnix a script application appears in the Dock, and all script applications use the same icon because they are all of the same type unless you do some custom resource manipulation.
  2. Script Timer will wait for a compiled script to complete before proceeding. This ensures that a script that depends on the completed actions of another script doesn't start too soon. Once cron/Cronnix launches a script application, it has no further connection to the script. See also Note 6 below.
  3. The 'osascript' command used to run AppleScript scripts from the command line (and therefore by cron) allows you to pass parameters to the script as of OS X 10.4. This is not possible in earlier versions of OS X.
  4. Script Timer uses a log file to record all actions and errors. The log file can be viewed at any time and will contain a complete history of the items scheduled and run. 'cron' sends output generated at script run time to the user via e-mail.
  5. Script Timer checks all input and provides immediate on screen feedback if a data field contains an error or an item to schedule can't be found before attempting to run a script. 'cron' doesn't provide immediate feedback if crontab entries contain errors. The user only learns of these errors later after receiving e-mail output, which could result in missed actions if the user is not present to check for e-mail messages. Script Timer also provides a way to immediately test run a script (as does Cronnix).
  6. With Script Timer, a script can use Script Timer's logging facility to save data. (Version 1.2 and later.) A script run by cron/Cronnix must do its own file handling if it needs to save data. Scripts run by Script Timer can also return data that the Script Timer scheduling engine uses to create and schedule new actions on the fly and data that can be used to determine whether or not the previously frontmost application is restored when a script is done.
  7. Besides having a somewhat cryptic format, cron's scheduling time options are less flexible and less easy to use than Script Timer's. Time intervals can be no finer than one minute, and start times can't be specified down to the second. Cronnix eliminates the ease of use problem, but can't improve the scheduling flexibility.
  8. cron checks once per minute for jobs to run. Script Timer allows you to specify a checking interval of any number of seconds, and also which second in the interval to start your jobs. For example, you may wish your scripts to launch at 15 seconds after the top of the minute instead of right on the minute as for cron.
  9. Script Timer can schedule actions to be run when the computer enters or leaves an idle period, at user session resigned or activated under fast user switching, just before system sleep or just after system wake up, and when you log into your account. cron and Cronnix can do none of these.
  10. Script Timer can use an AppleScript script to schedule one or more additional actions on the fly ("dynamic scheduling"). cron and Cronnix cannot do this.
  11. Script Timer can handle any number of action data files, and switching among them is as easy as selecting a menu command or scheduling an AppleScript script. cron and Cronnix are limited to two data files only, the user and system crontabs.
  12. In addition to the AppleScript scriptability it inherits from the software frameworks from which it is built, Script Timer provides a custom AppleScript command for changing its current action data file. By scheduling a script using this command you can automatically have the program switch its own data file.
  13. Registered users of Script Timer are entitled to free email support, usually within 24 hours. There is no formal support mechanism for cron other than the Unix man(ual) pages, and the author of Cronnix does not provide any formal support structure because the program is free (donations accepted) and not related to his main occupation.
  14. The main purpose of the Script Timer scheduling engine is to schedule actions involving programs with Graphical User Interfaces that run while someone is logged into the computer. While this means that Script Timer can't schedule system level tasks as can cron, it also avoids or eliminates a number of other problems encountered when using a scheduler like cron that runs as a root process in the underlying Unix software layer of the computer. See for example Note 1 above.