June 02, 2008

Some thoughts about platform consistency

[Note: I’m motivated to write the following as I’m hearing increasing speculation about future Adobe UI changes based on what’s appeared in screenshots, the Fireworks beta, etc. That topic deserves its own post, and I’ll work on publishing one in the next couple of days. Until then I won’t be tackling any of those specific issues/questions.]

I had a rather eye-opening experience the other day. I over heard an Adobe employee using Photoshop exclaim, “No way… they overloaded Cmd-H!” In other words, he was surprised that pressing Cmd-H didn’t hide the application. He was obviously A) a Mac user, B) relatively unfamiliar with Photoshop, and C) assuming that Photoshop had made a decision to go against Mac OS conventions.

Er, no. :-)

The actual history is that Photoshop has used the Cmd-H shortcut since something close to the dawn of time (at least as far back as 1993, when I started using the app) to hide/show the current selection (the “marching ants” that go around a selection). This convention (like essentially all PS shortcuts) is consistent between Mac and Windows, and it’s worked the same way in Illustrator for a similarly long time.

When Apple introduced OS X, they decided to implement some new conventions for shortcuts. Notably, Cmd-H hides apps; Cmd-M minimizes docs to the Dock; and Cmd-~ (technically Cmd-`) cycles among open documents. Over time the OS has appropriated more and more shortcuts that have been used by Photoshop (F9-F12 were for actions, Cmd-Space/Cmd-Opt-Space was for zooming, etc.).

This puts us in a tough position. On the one hand, I totally appreciate Apple’s efforts to drive consistency across the platform. On the other, we have to tread very carefully around keyboard shortcut changes. Pros’ fingers dance over Adobe apps like musicians’ on instruments. When certain things have worked a certain way for 10 or 15 years across multiple Adobe apps, you don’t just toss out those conventions and all the associated muscle memory.

My colleague’s comment reminded me, though, that new users don’t know or care about the history here. For them, it just looks like Adobe is blowing off useful, consistent shortcuts, going its own way for no reason.

So, what do we do? “Let me customize shortcuts,” you might say–but of course we do already (and have for years), and that doesn’t affect the default experience. No matter what we do–change or sit tight–someone is going to be P.O.’d.

I think we have to take things case-by-case. As it happens, I expect we’ll change Photoshop to use Cmd-~ to cycle among document windows. PS already supports the Windows-standard Ctrl-Tab for this function on both platforms, and by honoring both conventions we can offer cross-platform consistency. This move will undoubtedly frustrate people who rely on Cmd-~ for displaying the composite channel, but we’ll do our best to ease the pain. Remapping Cmd-H and Cmd-M are a progressively tougher sell for me, given the importance of selections & Curves in PS. Note, however, that on the Mac by default Photoshop assigns Cmd-Ctrl-H to hiding & Cmd-Ctrl-M to minimizing–i.e. the standard conventions + the Ctrl key.

I mention all this in order to shed some light on the tricky issues we face with the Photoshop & other Adobe tools. No one I know here views OS conventions as unimportant; on the contrary, they’re always among the first issues considered. It’s just that we have to weigh them against possible disruptions to user habits and workflows, and against the user benefits of consistency between applications and platforms.

[PS–I know people are eager to hear more & to discuss the application frame idea, etc. As I say, I plan to post plenty of detail shortly. (In other words, please don’t fill the comments with tons of questions/rants just yet. :-)) More to come… –J.]