I'm a pretty good typist, but my thoughts still race ahead of my fingers, so it's nice to have a utility for entering frequently used words and phrases by typing just an abbreviation. Such a utility can also act as a live typographical error correction mechanism, if you set up some "abbreviations" that are actually mistakes your fingers habitually make, like inverting the "h" and the "e" in the word "the". Of all the utilities I've tried for doing this, Ergonis Software's Typinator remains the simplest and most reliable. The interface is clear, and there are just enough options to make Typinator powerful and flexible without sacrificing clarity and ease of use. TidBITS first reviewed Typinator in "You Type, It Typinates," 2005-06-27; the news this week is that Ergonis has released version 2.0.
Typinator is an ordinary application (not a dreaded input manager); it watches your typing and controls the application where that typing takes place, by using the accessibility features of Mac OS X (see my articles "Are Input Managers the Work of the Devil?," 2006-02-20, and "Scripting the Unscriptable in Mac OS X," 2003-03-10, if you don't understand the technical terms in that sentence). Its only interface is its single preferences window. This window lists, at the top, your abbreviation sets (these sets are a major new feature of this version of Typinator), and below that, the abbreviations in the currently selected abbreviation set.
Abbreviation sets are useful because of their enablement behavior. In a secondary dialog, you set up a list of applications where you want special abbreviation set enablement; each abbreviation set can then be enabled or disabled for each of those applications and for all other applications en masse. Thus, for example, an abbreviation set that should be operative only in BBEdit would be enabled for BBEdit and disabled for "All Other Applications." Typinator 2.0 also comes with three sets of frequently mistyped words (one each for English, German, and French).
Each abbreviation can have several options too. It can be automatically expanded either at word-beginning or only when it is used as an entire word; and expansion can be sensitive, insensitive, or responsive to the case in which you type an abbreviation's letters. By "responsive" I mean that, for example, "FYI" would yield "For Your Information," but "Fyi" would yield "For your information."
That's essentially all there is to it, but I'd be failing in my duty if I didn't mention one more really cool additional new feature. An expansion can include a specification of where the insertion point should be afterwards, and it can paste whatever is in the clipboard at the moment at a specified place within itself. Thus, for example, you could copy the phrase "wow" and then type the abbreviation "em" to get "wow" surrounded by EM HTML tags and with the insertion point right after the "wow". This kind of intelligent, flexible clipping insertion is a feature of some applications, such as BBEdit; now Typinator makes it universal.
Typinator costs $20 for a two-year license, meaning that two years after you purchase your license, if you want to take advantage of any subsequent upgrades, you must pay an additional fee. It's a 2.4 MB download, and a universal binary; it requires Mac OS X 10.3.9 or later, but 10.4 is recommended. You can try Typinator for free, but there will be some special behavior until you purchase a license; I believe what happens is that Typinator will nag you as it performs an expansion, except when you are working in TextEdit.
Staff Roundtable -- I'm not alone in my use of Typinator and other auto-completion utilities - Adam has long used auto-correction capabilities in other applications, and has started using Typinator as well.
[Adam Engst] Abbreviation expansion utilities have never rocked my world, since I'm a sufficiently fast typist that typing even relatively long words and phrases is easier than remembering abbreviation and expansion keys. However, I'm really liking Typinator's new auto-correction capabilities, complete with an 800+ entry set of typos and correct expansions (in English, French, and German, not that I ever make mistakes in either French or German) that Typinator can fix no matter what application you're using. I've gotten used to auto-correction in Eudora and Microsoft Word, and I miss it in other applications.
I would like to see Ergonis add a contextual menu item that would simplify adding common mistakes to the list; it can be easier to add such things while writing rather than requiring a switch to Typinator.
[Matt Neuburg] When using BBEdit to write a TidBITS article, I actually find another utility even more useful than Typinator: it's BBAutoComplete, by Michael Tsai (whose other invaluable applications include SpamSieve). BBAutoComplete is a one-trick pony, but that trick is a great one. When you summon it, usually by pressing some keyboard shortcut, it looks at the letters preceding the insertion point and then considers all the other words in your document, seeking one that starts with those same letters. If it finds one, it completes your letters, turning them into that word. If that's the wrong word, press the keyboard shortcut again to get a different completion. Optionally, BBAutoComplete can look through other documents open in the same application, and can even resort to the built-in Mac OS X spell-checker's word list. However, I use it only for the frontmost document, and generally only with peculiar, technical terms (such as "TidBITS,", "SpamSieve," or "BBAutoComplete" - yes, I entered all three of those using BBAutoComplete). BBAutoComplete works in only a few applications, because serious scriptability is a prerequisite for it to do its magic; those applications include BBEdit and Microsoft Word. Best of all, it's free!
Speaking of "free," let's get back to Typinator, and in particular, how its pricing model works. Granted, $20 is a very reasonable price indeed; but having to pay again every two years in order to continue getting updates means, to me, that you really have no idea how much you'll end up paying. Aren't you going to feel pretty cheated if you pay for your two years and then, one day after it expires, Ergonis comes up with the bug fixes or improvements you've been waiting for all this time? That is, in fact, just what happened with Typinator 2.0: it came out two years and one month after Typinator 1.0. Now, as it turns out, Ergonis recognized this fact and secretly extended the license period; but that's just my point: they did this secretly (nothing in Typinator informs you of the fact: indeed, my copy explicitly says that the free update period expired last month), and they did it arbitrarily. Basically, my view is, during the two years you pay for, anything (or nothing) could happen: you're gambling either on the program being totally satisfactory and bug-free (when was the last time that happened?) or on getting a reasonable amount of improvement in a reasonable amount of time (no guarantees there either). Plus it seems to me that this pricing scheme penalizes the early adopter, who, just the other way round, I think, should be rewarded for suffering through the bugs and shortcomings and ponying up the funds that make future improvement possible.
However, I don't seem to be able to muster much support for my views here at TidBITS, and Ergonis's Christoph Reichenberger tells me I have the facts all wrong (though I assure you, I'm just drawing what seem to me the logical conclusions from the information available on the Ergonis Web site). But then, that's why these Staff Roundtables are so cool: everyone gets a say! So let me hand the virtual microphone back over to Adam for an opposing view.
[Adam Engst] Matt and Christoph and I have had this discussion several times over the last few years, and I'm not bothered by the overall policy. With software, all pricing decisions are in a sense arbitrary, since software is created with pure thought rather than raw materials, and overhead is generally low. Plus, requiring users to pay to use a new version after two years of free upgrades feels no more arbitrary than a developer deciding that the next release should require an upgrade fee - there are no rules here.
Since no developer commits to a release schedule with upgrade fees years in advance, there's no way to calculate whether Ergonis's approach would cost more or less than a conventional "pay only for a major upgrade" method. What you do know with Ergonis's approach is that it will cost at least an extra $10 (that's the upgrade fee, not $20) if you want to take advantage of new features and bug fixes after two years (your current version does not stop working). The only possible surprise is a good one - if Ergonis decides to extend the two-year time frame to reward early adopters (who have also benefited from the software the longest) or to fix a particularly egregious bug. With a conventional approach, you never know at what point you'll be required to pay an upgrade fee, how significant the upgrade will be, or how much it will cost. So if anything, Ergonis's approach seems much more predictable.
But what I like most about Ergonis's approach is that it's a little different. Just as we benefit when products offer unusual features, I believe we benefit when developers try different business models. If they're good, they'll survive and become available for others to try. If they're bad, consumers will revolt, and the company will be forced to try something else. Therein lies the true test, and the mere fact of Ergonis's five-year history would seem to indicate that most people aren't concerned about this upgrade approach. Christoph tells me that what little negative feedback they have received is based on misunderstandings.
I do think Ergonis could ameliorate many of these misunderstandings technically. For instance, Typinator could display a splash screen that would warn the user after two years that the next upgrade would no longer be free. Or Ergonis could implement an automatic update mechanism that would make clear to the user during the update process that an upgrade fee would be required if sufficient time had passed.