Command-Tab

Monday, 27 October 2003

One of the many new features in Panther is a vastly improved keyboard application switcher. The way it works: Hit Command-Tab, and you instantly switch from the current app to the next-most-recently-used app; if you keep the Command key pressed, you get a display of all running applications, and as you continue hitting Tab, you can choose which app to switch to. You can hold down the Shift key to cycle in the opposite direction, and, while continuing to press the Command key, you can use the H and Q keys to hide and quit applications without switching to them.

Proteron is a small Mac developer; one of their products is LiteSwitch X, a $15 utility that implements Command-Tab keyboard switching. In response to the aforementioned newly improved switcher built into Panther, Proteron’s Samuel Caughron has published an “open memo”, addressed to “Steve et al at Apple Computer”, wherein he claims, more or less, that Apple has ripped off Proteron.

Let us count the ways that Caughron’s claims are ridiculous.

Caughron writes:

For tens of thousands of users the feature has existed since May
2002. A developer at Proteron first conceived of it. Proteron
developed and published it.

Oh, really? For hundreds of millions of users, the feature has existed for over 10 years, after it debuted in version 3 of Microsoft Windows. The feature was a hit, and was clearly one of the few good UI designs in Windows 3 that didn’t come from the Mac. Nor did it take long for third-party developers to bring the feature to the Mac OS; e.g. Michael Kamprath’s Program Switcher debuted in 1994, and continues today on Mac OS X as a part of Keyboard Maestro.

Apple itself implemented Command-Tab switching back in Mac OS 8.5, in the form of the “Application Switcher” extension (which was actually a faceless background app, not a true system extension).

Caughron writes:

Now Apple has made it their own, an “Apple innovation”, without
recognizing Proteron.

Where has Apple, or anyone who works for Apple, claimed that Panther’s improved switcher is a quote-unquote “Apple innovation”? As far as I can tell, this is a completely false attribution. You can argue about whether Microsoft truly invented the feature, but there can be no doubt that they popularized it. Everyone knows this.

The idea that Proteron deserves credit as the “original authors” of this feature is patently absurd. It’s like claiming to have recently invented drag-and-drop.

Command-Tab switching was also present in previous versions of Mac OS X — it’s just that it stunk. And that’s exactly what this boils down to: Mac OS X’s Command-Tab switching used to stink, thus leaving an opening for third-party developers to fill. Starting with Panther, that opening is gone, and Caughron is pissed.

Part of Caughron’s argument is that Panther’s implementation is “a near pixel duplication of […] LiteSwitch X” — meaning that they look the same.
Proteron did a fine job designing how LiteSwitch X looks, but it is not a novel design — it looks good because it looks like something designed by Apple. Is it any surprise that Apple’s new switcher does too?

Again and Again

The entire episode doesn’t even deserve attention, but it’s too late for that. Caughron’s memo has succeeded in drawing attention from sites like MacInTouch and MacNN, both of which simply quoted from Caughron’s letter without comment. (At least MacMinute offered a link to a dissenting opinion.) What’s maddening is the “Apple’s done it again” meme (e.g. Rob McNair-Huff’s Mac Net Journal: “Did Apple engineers rip off a third party, again?”). The again part, invariably, being a reference to the Sherlock-Watson saga, which itself is not as clear-cut as conventional wisdom would lead you to believe.

There’s a lot to argue about regarding Apple’s relationship with third-party Mac developers, but not this.

If Caughron were right, that Apple has indeed ripped off an idea from an independent Mac developer, one would expect other independent Mac developers to be up in arms, no? But instead, they’re calling Caughron on his bluster.