This is a great essay Ronco Spray-On Usability on usability in Linux and open source applications. I love open source. But most of my experience has been in using server side code like Apache. In the past few months I've started using (or trying to use) PHP based applications and...have yet to find one I've liked. They are all quite technically functional, but the UI is frequently absolutely bizarre. It wouldn't be so bad if you could update the UI (since the UI itself is typically templated, using CSS and macros for style and function), but more often than not you can't touch the UI. You're stuck with !!!! as the label for the Settings/Preferences, ?? for Help (ok, that wasn't too bad, but I'd like to change it to the more obvious "Help") and » » » for a function which I'll let readers guess.
Coders suck as designers. Graphic designers, UI designers, anything requiring visual design: coders suck at it.
I love hacking code, I've also taken a number of design classes. I freely admit that I suck at design and avoid having to do any design as much as possible. I try to separate out the design of anything I write from the application as much as possible. It's easy to do, and CSS makes it even easier (though you still have to deal with the monopolist's penalty browser).
But, to repeat myself, coders suck at design and especially UI. There have been various attempts at making it easier, IBM had CUA and Apple had its Inside Macintosh series and tighly controlled the UI libraries. But with CUA there were variants, PF1 almost always meant Help and PF7 and PF8 meant page up/down, but everything else was a mish-mash, on product code as well as internal code. On the Mac...well, there was a lot of consistency within applications and across applications, but programmers and the marketeers behind them frequently had to be different so you'd frequently get a change up.
I don't recall any absolutely devastating mistakes due to UI confusion when I heavily used Macs in the early 1990s, but I do recall having to remember allegedly common keys meant one thing for a Microsoft application, and another thing for an Adobe or Aldus application (and frequently, meant different things across Microsoft written applications).
At IBM, I frequently deleted files or notes by accident because I didn't catch that PF4 meant Delete in one application and PF12 was Print, and in another application the roles were reversed. Was easier when I switched to OS/2 and eventually Microsoft Windows, but even there you get oddities. Instead of consistency, you get tooltips to try to further explain what Replicate is supposed to mean.
I don't have a recommendation on how to improve UIs in open source "free" applications. It's easy for me to contribute a patch to open source code. I don't know how you contribute a bit of a UI.
When I was in grad school, I briefly contemplated interning at the FSF. I was to work on manuals related to the GNU project. At the time I was quite into Unix and really needed to do some hard core writing and rewriting to get up to speed as a technical writer and thought this would be a great opportunity. The stumbling block was money: there was none. No salary, no stipend, nothing. Furthermore, the person I was communicating with was horrified that I would even ask for such a thing. Now, I believed then and still believe in the idea of open source / "free" software: that a programmer or company can choose to ship the source code along with the product to the product's users. But I also believe that this is possible while charging some sort of fee. I also believe in eating, paying rent, and paying off your debts (which in my case at the time were disturbingly high due to student loands). So, instead of the FSF I ended up at IBM and the four of you who have read this far know how that worked out.
Coders suck at user interface design.
And open source coders, advocates, and users need to accept that you get what you pay for. If you want better interfaces, hire a designer and offer to pay for the work. Money is involved in getting things done in the world, even in coding your open source projects, and especially in getting good UIs. If you're not willing to do so, then at least separate out the UI component so someone can do a better job than you have.
e.p.c. posted this at 19:24 GMT on 3-Apr-2004 .
Archive Link