Brandon Walkin has just published a fascinating article on the topic of managing user interface complexity. “I’ve spent the past year redesigning a particularly complex application with my primary focus being on reducing complexity. In this article, I’ll go over some of the issues surrounding complexity and techniques that can be used to manage it.”
An interesting concept he starts out with isthat of progressive disclosure. Progressive disclosure is the act of hiding lesser used functions of a program behind a button, a menu, or something similar. This may seem straightforward, but it brings with it two dangers; as a programmer, you need to know which functions are used less often while at the same time not taking this concept too far, which will only make the application more complex instead of less.
Walkin offers a very good example of progressive disclosure gone awry: the Internet Explorer user interface. When in its default state, with Windows Live installed, this interface has a staggering 17 disclosure points. I’ve personally harped on Internet Explorer often for its poor interface, but I’ve always put off writing a more detailed article about it. With this article, Walkin puts the finger on one of the problem points.
Another issue he points out in Windows 7 is the lack of consistency with the print button. Because Microsoft has a fetish for removing the menubar from their applications, they need to find new places for commonly accessed features – such as printing. If you browse around the default set of applications and windows in Windows 7, you’ll see that the print button jumps all over the place, and because there’s no menubar, you can’t rely on that either to find the print option.
Another aspect Walkin touches on is that of alignment and visual hierarchy. The ideal is to align user interface elements as much as possible, and to employ a thoughtfully laid out grid. By comparing the inspectors in Microsoft Expression Blend and Adobe Lightroom, and making the element alignments visible, he shows quite convincingly just why exactly the Microsoft variant looks so cluttered and overwhelming.
There’s a lot more thoughtful stuff in there, so if you’re working on an interface, or you’ve always wondered why a certain application looked cluttered to you, but you could never put your finger on it – this article could provide some answers.