Skip to main content

I Don't Want to Miss a Thing

Posted by editor on February 26, 2007 at 8:47 AM PST


...and that's why I'm putting 75 buttons in my GUI

Apropos of nothing on the front page, but just because it's spectacularly bad, check out the GUI presented in Worse Than Failure's Classic WTF - Enter the Matrix.

By my count, this GUI has 75 buttons, and I may have missed some. Throw in four lists of various sizes, six popup menus, eleven drop-down menus, a dozen or so text fields, two text areas... hey, maybe if we're lucky, some of those buttons are effectively tabs and we can turn up more inscrutable controls.

On the one hand, there's a theory from the field of cognitive psychology that since human short term memory can contain 7 plus-or-minus 2 objects, you don't want to have more than five related items in one meaningful block of screenspace. But the other theory that seems to be more a product of habit or emulation than science is this idea that a GUI needs to have all its functionality graphically represented on screen at all times, perhaps because users wouldn't know it's there otherwise. This is the only thing I can think of to justify the trend in Office suites to have 5-10 toolbars of 10-20 widgets each. It's a doomed effort, because many of these actions don't lend themselves well to a visual representation -- images are well suited to showing things, not abstract actions -- and doing so in the space of a 16x16 icon is madness epitomized.

But I know the real-world considerations that lead to this kind of monstrosity. After all, nobody creates a screamingly crappy GUI like this on purpose. When I worked for Worthless Piece of Crap Wireless Software Company #1, our president spelled out his vision for our GUI in remarkable detail -- seven tabs to represent the major areas of functionality, each split three to five ways with JSplitPanes, with dockable tear-off windows, multiple rows of toolbars, complete madness. All for a glorified XML editor.

Oh yeah, we got merged and laid off en masse before seriously trying to write that monstrosity. A very Dilbert experience, in retrospect...


On the other hand, there's nothing wrong with trying to improve the appearance of a well-conceived GUI. That's what Simon