Jono DiCarlo at Mozilla Labs documented his feelings about user interface design in a great post titled These Things I Believe. While I do not agree with him across the board, he does make some interesting points, and helps guide software developers toward the (great user experience) light. I’ll call out a few of his assertions here:
Software is for humans, not computers
This is the only absolute truth in the world of technology. Software architectures change, programming languages go through cycles of popularity, and code design patterns will be preferred by some over others. At the end of the day, though, the software we build is always being built to help some human be more productive, happy, or both, even if it literally has no user interface. Before building your next piece of software, I implore you to ask yourself how this software will make the world a better place, as Jono suggests.
People use computers to connect with other people
’nuff said. This is the only reason 99% of people use computers at all. (If you’re reading this, you’re probably not part of the 99%. That’s ok though, because you are not your user.)
There’s no such thing as free software
Open Source software is, by and large, really difficult to use. I would never leave my mom alone in a room with Linux, it’s just too cruel. Like Jono says, “Linux is only free if the value of my time is zero.”
The job of the UI Designer is to provide what the users need, not what they say they need
This paradoxical statement succinctly defines what it is that I do for 40+ hours every week. There are various methods that provide clues as to what users really need, other methods that design for those clues, and still other methods that test whether the users’ needs have been fulfilled. What I do at work all day is carry out those methods.
User interface design can be approached scientifically. But usually isn’t.
This is where Jono and I will disagree. He lays out a list of metrics that can bring about statistically significant results when it comes to usability testing software. My clients frequently argue to me that if we drive down the number of clicks in an application it will be easier to use. I don’t care about click counts. I’ve seen well liked software with high click counts, and hated software with low click counts. On top of this, while gathering metrics based on click counts, frequency of use, time on task, error rates, and error frequency may get you some information about your software (which is good), these methods never tell you how to fix the problems. Real world, in-situ usability testing will tell you these problems, and suggest solutions.
It is a sin to waste the user’s time, break the user’s train of thought, or lose the user’s work.
Yup, sin is the right word to use here. Have you sinned lately?
Thanks to Jono for creating this list. Maybe one day I’ll make one of my own. 🙂