October 09, 2005
Psst–wanna see Photoshop 15?
Yeah, well, so do I. It doesn’t exist yet, of course (we just recently introduced version 9.0, a.k.a. CS2), and it won’t exist for many years. But what form will it take?
Software developers know how to do one thing really well: develop more software. We build features, and when we’re done, we build more. This isn’t inherently a bad thing. Customers have far more good ideas than we have time or resources to support, and having to choose just a fraction to implement each cycle keeps us focused on those we think really matter.
But what’s the net result of a million good features? Yep–a million little pieces, all multiplying off one another. An app like Photoshop becomes a warren of commands that are available sometimes but not others, in ways that aren’t self-explanatory (e.g. you can’t start painting on a vector text layer, or create layers in 32-bit mode). And the sheer volume of options can be overwhelming. At one point I counted 494 top-level menu items in Photoshop CS. In CS2 we’ve added roughly 60 more, and that’s not counting the new Adobe Bridge application.
So, back to the hypothetical Photoshop 15: at our present course and speed, we’d add at least 350 more menu commands. We’ll need to raise the minimum screen spec just to hold the menus! And then, you know, it’s wafer-thin mint time.
Incidentally, we’re all complicit in this–we (Adobe, or [insert other software vendor here]) and you. (If you’ve read this far, you’re interested in this stuff and have almost definitely requested new features.) We can add things, but we can never take them away. When we decided to stop maintaining the archaic, seldom-used 3D Transform filter, we made it optional content (not disabled, just moved). The tech support boards lit up with all kinds of complaints. And at MacWorld, a guy browbeat me for–no kidding–25 minutes about the shortcut for Brightness/Contrast changing–in version 4! Can you imagine if we tried to remove something significant?
What to do? What about making Photoshop customizable–”everything you need, nothing you don’t,” to borrow from the Nissan ad? In CS2 you can now turn menu items on and off, assign them colors, and switch among sets rapidly. It’s a step towards reducing complexity, but will anyone care? Do you? Does this capability help new users, or does it hide tools they’d otherwise stumble across?
We can also package functionality in task-oriented sets. Camera Raw is popular as much for the way it pulls together color-correction functions as for its underlying math. Of course, with popularity come feature requests, and we have to be wary of building Russian dolls (Photoshop gets huge, so we build CR, which then gets huge, so we nest something inside of it…).
What do you think? Do we just keep putting one foot ahead of the other, or is something more radical required? I’d like to hear your thoughts.