Linked by Nicholas Blachford on Wed 11th Aug 2004 07:53 UTC
Editorial Computers are complex systems but it's a mistake to assume they need to be complex to use. However, usability is not as easy as it may first seem. It is a different discipline from software development lacking the strict logic or having a "right way". There are only differing requirements and differing collections of guidelines. Making things easy is difficult.
Permalink for comment
To read all comments associated with this story, please click here.
by tlc on Wed 11th Aug 2004 10:09 UTC

First and foremost I don't agree programmers and usability don't mix. Actually it's what separates a good programmer from a sloppy one in my opinion. I'm sure if you let some programmer code an application and the interface is nice and clean, the source code is very well structured too. As you mentioned in the article, making a usable interface is an art, but software design is an art too, like architecture. Anyway this is my personal view. I enjoy designing software more than actually coding it.

Next, usability covers two things in my opinion. The first thing is when you first start an application you should be able to directly find your way arround. In other words, the interface should be intuitive, easy, clean, consistent, etc. This is what is traditionally thought of when talking about usability and this is what commercial software is usually better at, because they have the usability teams as you mentioned.
The other aspect of usability is allowing the user to learn new things, allowing him to manipulate more and more, in theory until he reaches the source code level. This is what free software is better at, because it's against commercial interest to open up a document format or use a human readable format for example.
I think both aspects are equally important to allow people to learn using computers.

Then about the cli, if there's one thing that needs polishing in the unix shell it's the way to pass arguments. Some want one dash, others two, some use whole words, others just one letter, some put the input files first then output, others the other way arround, some use "-R" for recursion, others "-r". It's stuff like this that got the cli its geek-only reputation.