This week, Neil McAllister at InfoWorld wrote about User Interface (UI) design in applications (whether for in house or general use). He argues that the UI should be left to professionals, that the professional UI designers should be given final say in UI design, and that software suffers because developers are building the UI or the usability expert's concerns are dismissed or overruled by developer interests. I certainly have seen the "damage" that software developers can do when left in charge of user interaction; terse messages, techno-babble, pointless configuration options, arcane defaults, etcetera. I'm guilty of such damage myself, but I make no claims to expert status, though I'm a bit more motivated to acquire that status to improve my consulting business.
Since I can't comment on InfoWorld without registering1, I will add my commentary here, and through the magic of hyperlinks, trackbacks and search engine spiders, associate myself with the article just the same.
Because my focus in the last several years has been on Open Source rather than Proprietary Source software, I will comment only on the challenges faced by OSS software usability.
"Linuxification" (coined by Randall C. Kennedy), is the proliferation of arcane, inconsistent, programmer-designed widgets and UIs. This contrasts with the experience on Microsoft or Apple systems, where the UIs mostly come from a single source or toolkit. This term actually encompasses two problems: UI design, layout, widget selection and sizing, and inconsistent skinning; legitimate problems with most Open Source Software (OSS).
Bad UI design stems from lack of UI expertise. Usability experts in general are scarce, which translates to high costs to employ them. The experts that I know are set up very well as consultants in conjunction with graphics artists and designers. The ones who aren't working as consultants for a very nice hourly rate are working for a very nice salary for Apple or, if you can believe it, Microsoft and Adobe. Due to their rarity, there are fewer usability gurus to contribute to OSS than there are developers to build bad UIs.
Most OSS projects do not have any UI Experts in their upper ranks. And while many projects have Human Interface Guidelines (HIG) or defer to Gnome's, they're mostly enforced ad-hoc, or worse enforced by a self-appointed user experience "czar" with no real usability credentials. There are no usability experts working with the developers to create the UI on a regular basis2.
The problems with inconsistencies in look and feel, however, are only skin deep: the reason OSS apps look so different from one another (button sizes, scrollbar styles, etc.) is due primarily varied landscape of UI toolkits available, which all use a different skinning engine. From Motif to GTK+ to Qt and others, each toolkit looks and behaves differently, and while Qt and GTK+ can be styled to look the same, many distros don't bother. If the desktop application UI landscape is bad, the web landscape is hundreds of times worse.
I don't really have solutions to any of the above problems -- the last thing the OSS world needs is another toolkit, for example -- but in engineering, understanding the problem in detail is an important step to finding a solution. I have discovered, while doing background research for this post, that the Gnome HIG has a bibliography, so I have some books to add to my reading list. It also appears that there are some commercial training courses and certifications one can acquire and a professional association.
As a plug, while I work on my own understanding of usability, if you are already a usability expert looking for work, I need to talk to you about some projects I'm working on.
While it is tempting to register just to bash Randall C. Kennedy, I recognize that he trolls regularly for the sake of controversy
I guess this is why I still prefer KDE over other desktop systems; while the KDE developers can't seem to get core desktop functionality implemented, the KDE project has a roving band of trained usability experts who review, and then call out applications that have bad UI design. They then work with the developers to fix the UI. While some think that KDE's UI is ugly (the skin and iconography), and some apps are definitely black sheep, for the most part, the applications are very usable which is a much more important metric. But then again, maybe that's why KDE is less popular among Linux developers but yet has traction in schools, governments and other non-technical places deploying desktop systems.
I've always wondered why KDE wasn't more popular with Linux people. At first they said it was because it wasn't free (because the license wasn't OSI approved). But then Qt was released under the GPL. Problem solved, right? Wrong! They were then accused of not being free enough because businesses couldn't write software without paying a license to avoid the GPL. (Um, WTF?) That logic is just completely tortured, but in any case it's now gone by the wayside because Qt is now available under both the GPL and the LGPL. At this point, I think it's just because people have too much invested in GNOME that they don't even want to give KDE a try.