Monday, July 22, 2002

Nice Utilities 5.

In the days before mice and menus, computer programs were controlled through vast array of keyboard shortcuts. To learn to use a program, you memorized that ctrl-C meant "stop", and esc-E meant edit, and "ctrl-meta-B is an unassigned key (doo-dah, doo-dah)". Naturally, this was a pain in the neck, and also raised a huge barrier to changing from one program to another.

Then, out of the blue, came Richard Stallman's EMACS editor. EMACS was extensible and configurable, and you could assign and reassign keys however you wanted. If you were used to using the old TECO editor, you could make EMACS act like TECO. If you were used to VI, EMACS could to that. If you'd been using your own home-grown editor for years and wanted to go on using the same commands you were used to, you could teach EMACS to act like your trusty old companion.

This is one of the all-time great software design papers.

A new MacOS X utility, LaunchBar, extends this idea in a new and exciting direction. The underlying idea is simple: people have so much stuff on their hard disks today that finding things through the Finder or Explorer or by searching is getting to be a bore. Instead, you type some sort of abbreviation for the item you have in mind -- and LaunchBar tries to guess what you mean. It shows you the guesses, you choose the one you meant, and LaunchBar remembers it for next time.

LaunchBar starts by compiling a list of things you're likely to want -- applications on your disk, URLs in your bookmarks file, email addresses in your address book. When you start typing, it cleverly thinks of all the conceivable things you might mean, and shows you a list of its guesses. When you choose one, it does the sensible thing (launches a program, makes a new email message, goes to the URL), and it remembers your abbreviation. So, I can use "TBX" to launch Tinderbox, and you can user "Tinder", and someone else can just use "T", or "box".