Menu Icons Considered Ugly

Monday, May 28th, 2007

There’s a common but mistaken belief that proper user interface design requires lots of pictures and icons. In fact, it doesn’t. Many concepts and actions can be fully and best conveyed by text. While standard icons for directories and disks and the like can be helpful, custom icons for an application’s unique actions rarely are. The fact is, most icons are not self-explanatory; and if they’re not common enough to be standardized, they’re not common enough to be learned easily.

Nonetheless, many applications persist in creating pointless, incomprehensible toolbars. Icon design is hard. It is not something that just any art school graduate with mad Photoshop skills can accomplish. Icon design is about conveying an idea with pictures. not merely making a 32×32 bitmap look pretty. It’s hard enough coming up with a good icon for basic actions like cut and paste. Now try imagining one for “Analyze Module Dependencies” or “View Breakpoints”. There’s a reason Susan Kare gets the big bucks.

Lately, this trend seems to have seeped into menus, where text used to rule supreme. For instance, look at this File menu from IntelliJ IDEA 6.0:

menuicons.png

Not only do the icons add nothing to the menu items. They actually make the menu harder to scan and read because the items are no longer left aligned.
(more…)

User Interfaces Are Like Robots

Friday, May 18th, 2007

IBM’s Bill Higgins takes a very unusual way of explaining why Mac apps should look like Mac apps and Windows apps should look like Windows apps. It also explains why desktop Java failed.

I’m not sure his analogy really holds, but I’m not sure it doesn’t. His conclusions are correct, even if his reasoning and/or evidence turns out to be faulty.

He makes a good argument that SWT is the right way to design a cross-platform GUI, and Swing is the wrong way. The problem here is that empirically Swing delivers more native cross-platform apps than SWT does. When theory clashes with experience, either the theory is wrong or there are factors not accounted for in the theory. I suspect the latter here.

Home means the Beginning; End means the End

Saturday, April 28th, 2007

While Mac programs usually have very consistent user interfaces, and most programmers religiously adhere to Apple’s human interface guidelines, there is one persistent glitch that continues to annoy us: the behavior of the Home and End keys. On a Mac, these keys should always, always, always move the cursor to the beginning and end of the document respectively.
(more…)

Why VRML Failed and What That Means for OpenOffice

Wednesday, April 25th, 2007

Why was VRML an also-ran in the flood of new technologies introduced in the 1990s? It wasn’t fundamentally broken or a bad idea. It wasn’t worse than other technologies of the day like Java 1.0 and Shockwave. It certainly didn’t suffer from a lack of hype, investment, or development resources compared to the winners. VRML fail for one reason and one reason only: it didn’t run on the Mac; and OpenOffice is failing now for the same reason.
(more…)

Steve is the conductor. We just play in his band.

Sunday, February 18th, 2007

(Custom look and feel considered harmful)

Suppose you’re playing piccolo in a marching band. You want to play the Stars and Stripes Forever because it really shows off your skills as a piccolo player. However the rest of the band is playing the Star Spangled Banner. The talented piccolo player plays the Star Spangled Banner like everyone else. The pointless prima donna plays Stars and Stripes Forever. It sounds awful and everyone stops listening to the band.

User interfaces are no different. Some are advocating that we each choose our own tune, and indeed designing libraries to help us do that. However this serves only the egos of the players (or programmers). It does nothing for the audience (or end users) except make them walk away in disgust. I reiterate: it is the goal of a Java application (or any other application for that matter) to fit in with other applications, not to stand out.
(more…)