Usability testing is an essential method to measure the user experience. I write a lot about the value of having actual users attempt tasks in an interface…for good reason. Observing just a few participants attempt actual tasks can reveal a great deal about interaction problems and generate ideas on what to fix.
But if you conduct enough usability tests and observe enough users, you notice patterns in behavior. That is, despite the many variations in websites, software products, and hardware products, we see patterns across all interfaces.
Some examples of problems that consistently tend to cause problems for users are
- poorly labeled functions or menus (Where do I find X? How do I do Y?)
- lack of confirmation messages (I clicked; did it work? Is anything happening?)
- confusing error messages (What does that error code mean?)
- lack of application status (Is the app working? Is it stuck?)