vs. QuicKeys/Tempo... and KeyQuencer and OneClick.
The short version: different products for different applications
If you want to automate the user interface from a script, Player is the best choice. If your task has many steps and needs to adapt to a variety of possible conditions, a real scripting language is generally simpler and more powerful than anything in the keyboard macro products -- and Player's flexibility is a real asset. However, if you want to hit a keystroke and have a few things happen in a flash, use a keyboard macro product. The right tool for the right job.
For keyboard macros, we recommend KeyQuencer, a shareware & commercial product distributed by Binary Software. (We worked with the developer to create the code behind Player 1.5's "disable user input" verb.) The interface is definitely for power users but there are a remarkable number of features and the code is solid.
A customer's viewThanks for your great product and your extremely prompt service. PreFab Player is by far the most straight-forward, and yet functional, tool of its kind. I have evaluated a half-dozen similar products and became convinced that Player was the solution almost immediately, for its well defined syntax, interface query abilities, and much more, and your highly competitive prices were merely the icing on the cake! Player will be our key to migrating away from CESoft's QuicKeys (3 & 4) since they have made it plainly clear that they are both incapable of supporting their product and not interested in customer input, especially at the "high-end" as they have labelled us. :) Given your product's natural capabilities with professional tools like PhotoShop, its superior stability, low per-seat cost, and the fact that it was obviously developed by someone who understands the needs, and desires, of a professional scripter, the migration was a no-brainer.
BTW, I have already cut, in many places, my lines of code down by an order of magnitude (average), while enabling greater flexibility and more reliable performance.
Roger Howard, AppleScript Systems Engineer (July 1999)
The long version
PreFab Player is an add-on to Frontier or AppleScript. Player gives script writers control of the Macintosh user interface. In contrast, keyboard macro products such as QuicKeys by CE Software and Tempo by Affinity Microsystems are stand-alone programs aimed at non-scripters.
While it is possible to call a macro program from a script, it can be awkward and tedious. Every little change requires switching to the macro utility, locating the right macro, navigating a series of nested dialogs to make the necessary corrections, and finally returning to Frontier or AppleScript. With Player, just type a simple verb. Scripts can mix Apple event based verbs with verbs that "play" the user interface. Create, edit and debug scripts without leaving your familiar scripting environment.
Over time, QuicKeys and Tempo have each added "programming" constructs for looping, branching, and conditional execution. CE Software also added QuicKeys Script, their own special-purpose OSA-compliant language. None of these attempts comes close to matching the simplicity and power of the system-level scripting languages, whether the friendly version of traditional constructs in Frontier's UserTalk, or the English-like syntax of AppleScript. Player adds to these languages rather than attempting to duplicate their functionality.
Many scripts are written for use by others, whether clients, customers, network users, or just friends and colleagues. Neither QuicKeys(1) nor Tempo offers a simple, automatic way to install a new or updated macro on someone else's machine. For the script writer, Player couldn't be simpler: just ensure that Player or Player Runtime is correctly installed in the Extensions folder. There are no separate macros to worry about, everything is in the AppleScript or Frontier script file.(1) QuicKeys Script gets around the problem of installing separate macros, though many of the numerous other pieces of QuicKeys must still be installed, each in its proper place. That QuicKeys Script is an OSA language may sound appealing, but it is not very helpful for script writers. There is no simple way to mix two OSA languages in one script: either they must be in separate scripts, or each call has to be encapsulated in a "do script" command.Player was designed as a simple, robust, tightly-integrated add-on to Frontier and AppleScript. The product features, documentation and tech support are all targeted at script writers.
Player does not completely replace QuicKeys or Tempo. These keyboard macro products allow the user to create keyboard shortcuts for user actions. Player does not. (Of the many ways to initiate a Frontier script or AppleScript, both Menu Sharing and OSA Menu support custom command-keys.) QuicKeys and Tempo both include a collection of special-purpose extensions for such tasks as interacting with the clipboard, bypassing the chooser, dialing the telephone, etc. Player's sole purpose is to "play" the user interface. (Many of these features are available as Frontier-callable UCMDs or XCMDs, or AppleScript OSAX extensions.)
Player is not recordable. As of this writing, very few scriptable applications are recordable, so most script writers are accustomed to typing the verbs and parameters.
NEW: Excerpts from TidBITS on QuicKeys 3.5For a very informative look at the latest release of QuicKeys, see Form, Function, and QuicKeys 3.5, Part 2 by Matt Neuburg in TidBITS #348 (Oct. 7, '96). Here are excerpts (used with permission).Unfortunately, the integration between QK and other scripting dialects isn't very good, because QK has no variables, so it's hard to pass information back and forth.The author then describes a real-world script he wrote and the clumsy workarounds that were required.Since I wrote that script, the world has progressed, but QK has not. I now handle such tasks with PreFab Player. Player has no interface: it isn't a way for the user to trigger actions and sequences directly, as QK is. But as a way for a scripting application to drive non-scriptable applications, it's better, because Player's commands are AppleScript or Frontier's UserTalk commands, so you can seamlessly use the variables and looping constructs of either of those languages; you don't have to hand any information across the OSA dialect boundary, or change dialects at all.In an interesting section on "It Might Have Been":Instead, QK remains weak as an independent scripting tool and has been surpassed by PreFab Player as an AppleScript- or UserTalk-dependent one.Important Note: we have only included excerpts related to scripting. Clearly, QuicKeys is still a viable keyboard macro tool. Please read the entire TidBITS article to get the author's overall impressions of QuicKeys.
What about OneClick?
OneClick is mostly a palette and keyboard macro program, though it does have a built-in scripting language. (Does the world need yet another scripting language?) But, integration with AppleScript and Frontier is much the same as with QuicKeys et al.
QuicKeys, Tempo, OneClick and KeyQuencer: unique features
- record user actions (except for KeyQuencer)
- define custom keyboard shortcuts
- extensions for bypassing control panels, etc.
Player: unique features
- adds verbs to Frontier or AppleScript
- special balloon help to identify user interface objects
- documentation and tech support aimed at script writers
- verb to disable user input
- see dialog items in Photoshop and other MacApp-based apps
- completely integrated into your scripting environment
- much easier to install new and updated scripts on other machines
- inexpensive runtime version
- smaller footprint (less than 300K of RAM, 225K of disk space)
- only one file to install (plus your scripts)
What our customers say"Player works like a charm. I still don't think I could use a Mac without QuicKeys, but for scripting, QuicKeys is out."
Joe Sewell, founder, SoftCrafters
"I used to use QuicKeys together with Frontier to control non-scriptable applications. It was awkward, clumsy, often unreliable, but it was all I had. With Player, I control the user interface of non-scriptable apps from within Frontier. No additional application to run; no external macros to complicate debugging and installation. Everything is done with one scripting language making it clean, uncluttered, and much more reliable."
Eugene Barnes, Tech Support & Publishing Specialist, Allen Press, Inc.
"I tried to call Tempo from Frontier, but it was a nightmare. Player is exactly what I needed."
James C. Schell, Assistant to the President, The Type Connection
"While I continue to use Tempo for my own, day-to-day shortcuts, I have found Player to be better for automating unattended systems. Since I can control non-scriptable applications with Player using only Frontier's UserTalk language, my scripts are simpler, more reliable and maintainable, and easier to document. I can develop scripts for new tasks more quickly, too."
Computing Support Manager, large aerospace firm
This document is intended to be honest and informative. Please bring any errors, omissions, or suggestions to our attention.
Copyright 1993-99, PreFab Software, Inc. All Rights Reserved.
This site built and maintained using Stage Three, a set of custom Frontier scripts.