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. 


3 Responses to “Return on investment”

  1. Macdrifter says:

    Oh where do I begin Captain Drang? Just kidding. To each their own. I disagree with your premise but not all of the individual points.

    I do not think AppleScript as we know it is long for this world. I believe the future will be split between Automator and some variant of ObjC-AppleScript. Don’t get too fond of those AppleScripts (or oascript methods) because the coming of the sandbox means the end to nondescript application and file interactions. Possibly the OS libraries for Perl, Python and Ruby will still function the same (much of Automator requires that).

    Maybe I’ve got my tinfoil hat on, but I think AppleScript died a long time ago and we’ve just been carrying a corpse around to the parties. The more I look at ObjC-AppleScript, the more I can see that Apple really does prefer real ObjC calls rather than adding additional AS support (hello Mail.app).

  2. Dr. Drang says:

    Even before reading your comment, Gabe, thinking more about the Hypercard experience made me fear I was too sanguine about the future of AppleScript. But since I do as little in AppleScript as I can get away with, its death—if it happens—won’t kill my most important productivity scripts.

    I must say, though, I’d be a lot more worried about sandboxing killing off Keyboard Maestro than AppleScript. Apple may be ruthless about its own products, but it’s really ruthless about third-party software.

  3. Clark says:

    I think the difference is thatif you’ve commented applescript you can easily convert it. Its these helpful ways of doing macros you cant get to a text form thats a problem. (Quickeys has the same problem with a lot of its unique features - but I typically do what you do and just make it explicit in Python) The main places I use Quickeys extra features is where something isn’t easily scriptable with GUI scripting. I have a few printer scripts where I just break down and do it with Quickeys.