Compare this trend to the mainstream. According to the consultancy Net Applications, Linux commands less than 1 percent of the client market, and there's no growth trend in evidence. Whatever Linux has that's winning the hearts and minds of developers, it's not working on casual users. At all.
Similarly, remember when Sun Microsystems proposed a new UI for OpenOffice.org that resembled the Scenic Ribbon UI from Microsoft Office 2007? The OpenOffice community recoiled in horror. But hold on: Current research by Devil Mountain Software suggests that Office 2007 is far and away the most popular version of the suite today. Can all those paying customers really be wrong? Or were vocal OpenOffice developers against the new UI simply because the kind of UI that appeals to programmers and the kind that appeals to mainstream users are two different things?
Leave this job to the professionals
In other words, maybe programmers produce bad UIs because most programmers wouldn't know a successful mainstream interface if it bit them. Computer science graduates aren't trained in typography, iconography, spatial arrangement, or cognitive science. Their taste in UIs follows naturally from their training and their personalities. They like to tweak things and discover things. They don't want their hands held. They don't just want a light on the dashboard; they want to see under the hood. Unfortunately, any UI that has these characteristics is a potential disaster in the hands of a casual user.
That's why it's inexcusable that more software development projects don't hire UI designers and usability experts to do what they do best. The goal of custom software development is to automate business processes for increased efficiency, but no matter how well your software performs, each step in a process that requires input from a human is a potential bottleneck. Doesn't it make sense to optimize each of those interactions also, the same way that programmers optimize their code? That's where interface design comes in.
Unfortunately, even when organizations do employ UI experts, too often their input is downplayed or ignored. They're treated something like high school counselors: The developers all smile and nod, promise to consider the advice seriously, and go right back to doing what's expedient. It's up to development managers to break this cycle and give usability experts a first-class seat in the software design process.
Let programmers concentrate on computation -- it's what they do best. As for interface design, however, let's leave that job to the professionals. A good UI isn't just about making software "pretty"-- it's about building interfaces that increase productivity by streamlining the interaction between human and machine. No company would deploy a public Web site today without the full participation of a design team. Why shouldn't in-house software get the same treatment? Anything less isn't just a wasted opportunity; it's a waste of money.