Works as designed--
I did a webinar yesterday for STC on pattern language for managing usability knowledge. Every now and then I listen to myself during these presentations and hear something in a new way. Yesterday was one of those moments for me. What I said and what I understood with a renewed clarity was that any usability problem can be described as a mismatch among the following three forces:
- What the user wanted to accomplish
- What the user did
- How the system responded
I can now see a strong parallel with John Carroll's definition of the human-computer system as comprising the the user context, the user interface, and the machine's architecture. It is the first item in these two lists, essentially the user goal, that drives the difference between "works as designed" and "this is something we've got to fix."
As an example, I did two searches this week where I misspelled the term I was searching for. One engine returned the message "No results found for usbility." Worked as designed! The other search engine returned the message "Did you mean usability?" Guess which search engine is my product of choice from here out.
Bugs are easy to find and fix. The user failed because the code failed. It's when the user fails but the code did exactly what we programmed it to do that we face usability issues. And it is precisely the fact that the code works is why it is sometimes hard to get people to fix these problems.
The solution is based in Carroll's system definition. The user context is part of the system, and all definitions of success and all test plans for the system must include this element. Error and ignorance are part of the human context and good system designs are programmed to deal with both.