As the generally magnificent Mac OS X matures, it has suffered complexity creep as new UIs are bolted on year after year.
Front Row, Spaces, Exposé, Dashboard, Time Machine, Stacks and the iApps have continually expanded the basic rules by which the graphical user experience operates, making it harder to predict, harder to learn, and unnecessarily complex. No new Mac feature appears without another surprising jack-in-the-box animation or mind-bending world-within-a-world paradigm shift.
This is not so bad for people who have been continually using Macs every step along the way since 1984 (like Steve Jobs, or me). But it’s an increasing challenge for the new user, the less technically savvy, and the switcher.
Features that are bolted on violate two of my top principles of user experience architecture:
- Minimize the bag of things the user needs to learn. Do not add things to the bag lightly. Try and find something to remove from it. [Consistency, by the way, is a sub-case of this rule.]
- When adding features, blend them in, don’t bolt them on. Each bolted-on UI adds to the bag and diminishes the coherence, elegance and simplicity of the whole.
With all those trademarked features and their funky UI’s, Mac OS’s bag of things to learn is becoming positively santaclausian.
This is not a push for UI conservatism. It’s wonderful that Apple continually challenges and improves past conventions. But please, don’t leave us with seven different conventions in one package, which is where we are today.
As software ages, the fun and important architectural challenge — and a real test of a designer’s ability — is to work out how to blend new features in, rather than just bolting them on. We have to ask, “If the system had these features from the beginning, how would it have been designed?” The user shouldn’t be able to tell where one era’s design team left and another one picked up.
Blending Alt-Tab behavior into the Dock
Take, for example, the Alt-Tabbing UI to switch apps, which was (rightfully) stolen from Windows for inclusion in Mac OS X.
We already had a way of switching apps: clicking on icons in the dock. But it required reaching for the mouse. Alt-tabbing provided a way switch apps without moving one’s hands from the keyboard. Here is how it has looked for several years:

Here, with the Dock and the Alt-Tab UI visible, we see two ways of displaying open apps, and two ways of switching between them. They are shown in different places, in different ways with different rules.
The Alt-Tab UI sorts its icons unpredictably. (The order mirrors the Z-order of open windows, a deck that is shuffled as you switch windows.) The user cannot develop a spatial memory of what is where because they keep shuffling around. And the location of items in the Dock has no bearing on the order in which the same icons are presented in the alt-tab UI.
The interaction design challenge is: rather than bolting on the Alt-Tab UI, could the functionality be blended with the existing Dock without diminishing the effectiveness of either? Here is an approach I’ve been sitting on for a while:

Before the alt-tab: Dock appears as usual
When the user keys down on Alt-Tab, the Dock icons of the open apps stand apart from the others. Here is a quick & dirty mockup of one way to do that:

During Alt-tab (alternative 1): active apps jump forward; inactive apps which aren’t part of the alt-tab cycle are suppressed
Alternative 2
In this variant, the icons jump out of the dock into the familiar Alt-Tab UI. Suppressing the inactive Dock icons lets the user visually estimate how many key presses are needed. The most recent app is the first one to be highlighted, preserving the ability to toggle between the two recently used apps with one keystroke. Subsequent Alt-Tabs walk through successive open apps, in the usual order they appear in the Dock.
Here is a variant that is even more naturally blended in with the Dock:

During Alt-tab (alternative 2): inactive apps are dimmed back; alt-tab grows the current selection
In this alternative, the inactive apps are dimmed back, and the current selection grows. This borrows the Dock’s pre-existing magnification feature. It’s even more seamlessly blended with the Dock behavior.
Et voila, Alt-Tab functionality without having to bolt on another paradigm. The order of the apps is stable and predictable, and leverages the user’s spatial sense of what apps are where.
The key lesson: as software ages, be wary of layering on new UI paradigms. Take the time to study how things already work, and find ways to make the new features and old features feel like they’ve been together all along, and were designed by the same team.
See also:
—
Philip Haine is principal of Product Vision Associates, a product innovation consultancy that helps product leaders and their teams envision new, breakthrough products and reboot older ones. To follow him on Twitter click here.


It’s a good idea, Phil, but you can’t have it both ways. You can’t preserve the order of icons in the dock and also allow the user to toggle between two recently used apps. In your example, what if Firefox was the app I had last used, and I was copy/pasting some text from a web site into TextEdit. How would I do that easily in your design?
Dave, when you alt-tab, the first one to pop up is the last one that was front-most. So if you are in FF then you alt-tab a couple of times to get to get to TextEdit and do your paste. Then the next time you alt-tab Firefox is the first. Yah?
Got it. Makes sense. I was trapped in the old way of thinking where the current app is always highlighted by default. I did the worst thing a designer can do: not challenge established conventions.
Interesting. However, careful when using the term Alt-Tab. The original concept introduced by Windows refers to switching between windows. OS X’s version, Command-Tab, switches between running programs.
Arguably, it could be interesting to figure out how to combine Expose with Command-Tab to provide the best switcher.
Thanks, Johnny Winters, you’re right that on the Mac it’s Cmd-Tab, not Alt-Tab. (I use the Goldtouch keyboard so I happen to actually press Alt-Tab.)
Also a good point about Exposé being yet another way to switch apps and docs, and that it, too, should be examined for possible ways to simplify by blending together.