Essential Utilities: Text Expanders
Whatever kind of work you do on your Mac, it probably requires thousands of keystrokes a day. That's why every Mac user should install some kind of text-expansion utility.
These programs let you assign abbreviations to chunks of text or graphics. (Those chunks are usually called expansions or snippets.) Type the abbreviation, followed by some kind of trigger key, and the full expansion replaces the abbreviation. So, instead of typing out your e-mail address every time it's required, you can type a short abbreviation, then the trigger, and the address will appear.
The Text tab in Mac OS X 10.6's Language & Text system preference lets you define keyboard shortcuts for text snippets. But third-party text expanders can do much more.
(You might also include keyboard macro utilities, such as QuicKeys, iKey, or Keyboard Maestro. Among many other things, they can also insert text. But because they can do much more than that, I consider them a separate category.)
All four programs do what they say they can do with basic, plain-text expansions. Even a more complex (and somewhat unrealistic) test case--pasting 1500 words of text, and inserting a couple of date and time references within it--worked well in all of them. All but Spell Catcher support snippets containing rich text and images, as well as plain text.
But before any of these programs will expand anything for you, you have to define some abbreviations and their full-form expansions. TypeIt4Me and TextExpander have the cleanest setup interfaces. Both feature a freely expandable expansions box, which makes it easy to add longer text clippings. TextExpander and TypeIt4Me also let you create new shortcuts from within any application, using global hotkeys. TextExpander and Spell Catcher allow you to create a new expansion based on the current selection; and TextExpander and TypeIt4Me allow you to do so with items on the clipboard.
If you use more than one Mac, TextExpander alone has a preference that lets you sync snippets, using MobileMe or Dropbox. You may be able to use Dropbox or another service to sync snippet collections from the others, but doing so isn't as easy as it is in TextExpander.
Beyond the basics
Once you've used a text expander for a while, you'll start to see ways to use it beyond these basics.
For example, all four programs allow you to insert the current date and time. TextExpander, however, is the only program that supports date and time math: You can define a snippet variable that adds to or subtracts from an inserted date or time, making it easy to insert the date two days from today, for example. All four also let you embed special characters, such as Tab or Return, into snippets--handy if you want to define expansions that will help you complete Web forms; in most browsers, a Tab will move the cursor from one field to the next.
Both TextExpander and TypeIt4Me enable you to create expansions that pause for user input. For example, you could create a shortcut named salesreply that expands into something like Thank you for your interest in [product], which we sell for [price]; we currently have [units] available for sale. When you trigger the expansion, you'll be prompted to input the bracketed variables. (The brackets are just an example; each program has its own variable formatting.)
TypeIt4Me simply inserts pauses at each spot you indicate; you type whatever you want, and then press Tab or Right Arrow to continue to the next insertion spot. TextExpander takes a more structured approach, using field names in your expansion--so you could, for example, easily add a reference to the sales price in more than one spot. When you run the expansion, TextExpander pops up a dialog box, where you can fill in the data for each field. All of these utilities except for Spell Catcher let you define where the cursor should be after your snippet is inserted.
Only TextExpander and TypeIt4Me enable you to define AppleScripts as snippets; only TextExpander lets you use shell scripts, too. These capabilities put those two a step beyond the other text-expansion utilities.
Macworld's buying advice
All four of these programs are good. Spell Catcher X is an incredibly powerful systemwide spelling checker with a huge collection of dictionaries. It's text-expansion capabilities, though, are the weakest of the group. Typinator is a solid third place; it does many things well, but it lacks some of the advanced features that the others have.
That leaves TextExpander and TypeIt4Me. Both are exceptionally good utilities, and nearly mirror each other feature for feature--you won't go wrong with either one. The overall win, however (this time at least), goes to TextExpander, because of its support for syncing, creating expansions from selected text, and executing shell scripts in expansions. These features push it slightly ahead of TypeIt4Me, and help justify its higher price tag.
Whichever text-expansion utility you choose, though, the important thing is that you do choose one: If your work requires intensive typing at all, your hands and wrists will thank you.