I delivered a project, today. That is, I tried to. Inevitably, the intended user found it didn't do what he expected. I could argue that the "flaw" wasn't part of the requirements. I could point out that I'm the 4th person to be given the job, a pile of notes, and some face-time to ask a few questions. Not to mention that I'm working on it without official cognizance. But hey -- who am I kidding? I'm, at best, an "Office Developer." That means, where I work, there are no requirements except "Must be whatever user wants." Regardless of that, learning something's not right at this point means I didn't understand what he wanted in the first place. It's not my fault, but it's my responsibility.
That isn't what disturbs me.
What disturbs me is that the user-interface on this thing is a 5-option selection-box, 2 "OK" buttons, a "Cancel" button, and 3 standard Windows file-selection windows. And it took the best part of a hour to explain how to use it. How is it that I can build something so obviously simple, that obviously isn't simple?
OK, yeah. I spent hours staring at it. That's got to give me tunnel vision. And I'm much more focused on getting it to do something than I am on how it looks. I have almost no experience with user-interfaces. Almost everything I've built has been either launch-when-the-file-opens or for my own use. Still. How can something with so few parts, all recognizable, performing a task that the user determined, require so much instruction?
The only thing I can think is that it's just a hard thing to do.
That isn't what disturbs me.
What disturbs me is that the user-interface on this thing is a 5-option selection-box, 2 "OK" buttons, a "Cancel" button, and 3 standard Windows file-selection windows. And it took the best part of a hour to explain how to use it. How is it that I can build something so obviously simple, that obviously isn't simple?
OK, yeah. I spent hours staring at it. That's got to give me tunnel vision. And I'm much more focused on getting it to do something than I am on how it looks. I have almost no experience with user-interfaces. Almost everything I've built has been either launch-when-the-file-opens or for my own use. Still. How can something with so few parts, all recognizable, performing a task that the user determined, require so much instruction?
The only thing I can think is that it's just a hard thing to do.
1. Good user interface design is hard.
2. There are very few good design books available.
3. The ones that do exist don't give you enough information to be able to read them and become a good interface designer.
4. There isn't very research on human interface design that hits non-journal publications.
5. Many really good/really important human interface studies were done so long ago that their results may not be as applicable as they were 20+ years ago.
Good luck, try to make your stuff do as much as possible (do what the user means/wants) with asking for the least amount of information from them.
See also:
http://stuffthathappens.com/blog/2008/03/05/simplicity