Return on investment

Keyboard Maestro has been on my mind recently. Several bloggers I follow use it, and Gabe Weatherhead in particular has done such a good job explaining how and why he uses it—on both his blog and with David and Katie on an episode of the Mac Power Users podcast—that it seemed inevitable that I’d give it a try. I’m not the only one who’s been thinking this way.

Oh god. Keyboard Maestro just consumed way too many hours of my life that I haven’t even gotten to yet.
  — Brett Terpstra (@ttscoff) Mon Feb 20 2012

(There’s some weird link between Brett and me, like he’s my son from another dimension.)

Last week, I downloaded the Keyboard Maestro trial and started exploring the documentation.1 It’s easy to see why it’s so popular: lots of capability with a clean layout. But I don’t think I’ll be turning into a Keyboard Maestro devotee.

The problem, paradoxically, is that it’s too capable. Unlike, say, FastScripts, which simply runs scripts written in AppleScript or bash or Perl or Python or Ruby or whatever, Keyboard Maestro has its own set of commands in which you write your macros—these KM-specific commands are, in fact, what makes Keyboard Maestro useful. It’s distinctly more powerful than FastScripts. But as you write more macros, your workflow becomes more dependent on Keyboard Maestro, a niche product that could disappear at any time.

This is not a theoretical problem. The other well-known macro program for the Mac, QuicKeys, hasn’t been updated for Lion because one of its lead programmers died and the publisher has had trouble finding a replacement. And there was the halt to Quicksilver development a few years ago that caused many of us to switch to LaunchBar.2

Now, obviously, any piece of commercial software can be pulled from the market or become orphaned if it’s developer goes out of business. And, despite the claims of open source advocates, free software projects can also be abandoned and fail to get critical updates. But I still buy commercial apps and use open source software—how is Keyboard Maestro any different?

It’s different, I think, in the size of its user base and its uniqueness. I feel safe writing scripts in languages like Perl, Python, and Ruby because they’re used by so many people and have large, strong development teams working on their implementations; I’m certain they’ll be around for many years to come. I am, frankly, less certain about Apple’s commitment to AppleScript, but I still think it’s a fairly safe language in which to program because of its large user base—Apple may want to dump it, but I don’t think it’ll be able to do so for quite a while, if ever.3

If Red Sweater went out of business tomorrow and FastScripts was never updated again, it would probably stop working in some future version of OS X. The same can be said of Objective Development and LaunchBar. But if those things happened—or if the developers made changes to those applications that I just couldn’t live with—I could, without too much disruption, switch to Alfred or the revitalized Quicksilver. I might even use Spotlight.4 Similarly, if Smile Software ever ruined TextExpander, I could shift to TypeIt4Me or Typinator pretty easily. My snippets are in plist files that are easy to convert to another system.

Keyboard Maestro, though, is different. If I became heavily invested in it and then had to leave it, where would I go and how would I get there? Even if I felt comfortable switching to QuicKeys—and I can’t imagine I would—the conversion of my macros from one system to another would, as best I can tell, have to be done by hand. That’s not a situation I want to get into.

You may be thinking that I’m too pessimistic, that the productivity increase I’d get with Keyboard Maestro is worth the risk that I’d have to abandon a set of macros years from now. Could be. I certainly wouldn’t recommend that others stay away from Keyboard Maestro, but I’m going to. At least for now.

You may also be thinking that change is inevitable and that I’m foolish to think that any productivity enhancements I use now will still be useful several years down the line. I can only respond that I still regularly use scripts that I wrote 10-15 years ago. Those scripts were written in Perl, and I fully expect to be using them 10-15 years from now. That’s a strong return on my investment.


  1. I suppose for completeness I should say what Keyboard Maestro is, but I find it hard to believe anyone reading this blog doesn’t already know about it. On the off-chance you don’t: it’s a system-wide macro program for the Mac that can activate commands in other programs and has its own built-in actions and control flow commands. You can set up macros to be triggered by hot keys, typed strings, time, outside scripts, and other actions. 

  2. The problem with the Quicksilver halt wasn’t the halt per se; it was that Alcor stopped development with QS in an unstable state. I have no problem using old software, but I can’t work with old software that’s in desperate need of bug fixes. 

  3. I say this with a shaky voice and crossed fingers. Hypercard had a large user base, too. 

  4. OK, I’m pretty sure I wouldn’t use Spotlight.