| Monday, March 12, 2007 |
16:49 - Windows: Now with 50% More Dimensions!
|
(top) |
Now everybody's got their own Quartz clone. Various X managers, Vista... the graphics compositing technology that has made possible things like Exposé and Dashboard is now pretty much universally available to any programmer regardless of platform.
Case in point: Beryl, which has exuberantly 3D-ified answers to everything from Exposé to Spaces, the new multi-desktop solution coming in Leopard. (It's at about 0:36 in the video.)
Meanwhile, Apple keeps doing their same old 2D tricks: Time Machine and Front Row do their thing with simple layering and scaling; and Spaces works by spreading out your virtual desktops across your monitor, shrinking them each to a quarter of your screen; then, because all the windows are still "live", you can drag and drop apps from one desktop onto another, and then zoom back in to the desktop you want to use. It's sure to be a joy to use, but just like Exposé and Time Machine, it makes for lousy screenshots, as you can tell by my not bothering to include any.
Beryl certainly has it over Spaces and Exposé and everything else in Quartz-land, from a pure eye-candy point of view. But is it actually any more usable?
John Gruber linked to Tantek Çelik's three hypotheses on interface design, which are:
- Human interface cognitive load is proportional to the number of clicks/keystrokes/gestures
- Human interface cognitive load is proportional to interface latency
- The usability of an interface is inversely geometrically proportional to its cognitive load
Or, as the article sums it up:
When designing human computer interfaces (including web UIs):
- Minimize the number of text fields in your interfaces down to the absolute minimum necessary.
- Minimize the number of click/keystrokes/gestures necessary to accomplish actions in your interface.
- Make your interface as responsive as possible - minimize the latency of each and every action a user might take in your interface.
And be prepared for both lots of users, and frequent users.
I would add one more to that list, and it would be:
- Human interface cognitive load is proportional to the number of ways the information you're trying to see can be hidden.
In other words: a window management system that requires you to spin a cube around or rotate around inside a sphere or shuffle through a stack to see all the windows you're working with is a pain in the ass.
They sure do make for nice screenshots, though, huh?
Sure, the eye-candy isn't as fattening if you force yourself to stay within the boundaries of two dimensions. But it means you get to spread things out on a virtual light table and move them around, with everything always in view at all times, and nothing ever obscured by other windows or by any architectural elements. And I think that that's a genuine boon for usability. Far more of one than the dubious benefit of being able to twirl a cube around in three dimensions just because you can.
Sometimes being able to hide a face of your data from view is a good thing; that's why the "Cube" transition actually makes sense for Fast User Switching in OS X—you aren't ever in a position where you want to (or should!) be able to see the contents of more than one user's desktop at once. But if the whole point of the exercise is to let you see everything in your system without anything obscuring anything else (i.e. in a window management system such as Exposé, where you're trying to see all your windows at once), anything that introduces more ways of obscuring your stuff just defeats the purpose.
... The reason I bring this up is that I found myself wondering why it is that everybody—and I mean everybody—seems to run their Windows apps in full-screen maximized mode. All kinds of power users do this, not just novices. I've seen engineers browsing their filesystems, where they'll have a single Explorer window with three files in it taking up an entire 1280x1024 monitor. All the rest of it is just white. Like they're trying to blot out their icon-strewn Desktops, to push them out of mind.
This is particularly bizarre when you're talking about the Web. Maximizing your Web browser means you tend to get this horrible wide-load whitespace-padded unreadable-blocks-of-single-giant-column-text page layout that the designers never intended; and, if a link happens to open a new window, it neatly covers up the previous window, and the user never even knows it happened unless he should happen to look in his taskbar and notice that another tile got created, or at the toolbar and notice that the "Back" button is grayed out.
A friend I posited this to in IM said:
It stems from the fact that (most) operating systems other than MacOS don't really support drag-and-drop in any meaningful way.
Therefore there isn't the incentive to see more than one window at once, since there really is very little you can do that involves using more than one at once.
Users therefore feels that unmaximised windows are wasting screen space - this same philosophy is what causes Windows programs like instant messengers to "dock" to the sides of the screen - they use up as much space as possible.
It is certainly ironic that "Windows" uses "windows" much less effectively than pretty much any other GUI around.
Now, this isn't to say that Mac OS X gets it right all the time either. One example: the Genie effect is just plain annoying in day-to-day computing, and served primarily to show off the capabilities of Quartz in the very first iteration of Mac OS X back in 2001. Simple scaling (which they let people start selecting back in 10.2 or 10.3) is much quicker, much less distracting and weird, and just as effective at showing you where your minimized window icon is going. And the "ripple" effect when you create a new Dashboard widget—conceived as a way to conceal load times—is really irritating after a while, especially because you can't turn it off. (I worry that it might become cargo-cultish, too... someone a generation from now might think the ripple is a feature unto itself, and will make it a blocking process, not concurrent with the widget load time that it's trying to mask.)
But this same friend had this to say:
Just a few hours ago, <Roommate> and I were going through Vista's new sounds.
We played a game. He looked away from the screen, I played a sound, and he had to guess if it was "good/informational" or "bad".
He was over 75% wrong.
Things like the "your battery is about to die" sound are pleasant and jingly.
The "your USB device is now active" sound is BA-BA-BONG!
You'd almost think they did it on purpose.
Oh, and to top it all off, the quietest, subtle-est, least-noticable noise on the entire system is "You have mail".
If you ever get to try Vista, check 'em out. I'm not making this up.
I think that's just hilarious.
I wonder if sound counts as another "dimension" that can potentially add as much to the user's confusion over his data as wondering whether the app window he wants is on the opposite side of the floating cube or inside-out sphere?
But the upshot of all this is that the wherewithal to do super-cool interface designs that are not bound by the limitations of the physical monitor and input devices is now ripe for the implementing by anyone with an API manual. All it takes is for someone to get fed up enough with the existing metaphors and, well, code it up.
What I wonder is: is there anyone out there who's a) willing to put in that kind of thankless design and coding effort, b) has the understanding of the subtle art of interface design that enables him or her to know when to say when and when less is more, and c) hasn't already jumped ship to the Mac?
|
|