We are back to the design process! The testing step in the user-centered design process is the chance for you to get feedback on your prototype design and refine what you have built. Here, your goal is to evaluate if they support the users as you intended. Testing informs the design of the next iterations of prototypes. We introduce two methods to qualitatively inspect the design of the user interface: cognitive walkthrough and heuristic evaluation.

Both cognitive walkthrough and heuristic evaluation does not involve working with actual target users described in a persona. Instead, you will find people who are experienced in assessing usability of a software system. Compared to the actual target users of your prototype, they are often easier to recruit and they are used to giving constructive feedback. Working with experienced usability evaluators can let you identify many trivial problems. Such trivial problems should be addressed before evaluating the prototype with actual target users, that tend to be harder to recruit and more expensive and time consuming to work with. The methods require less ethical and practical consideration given their informal nature.

But they cannot substitute the real users as they can miss important problems that only real users would face. In the future modules, we will discuss other evaluation methods that involve the target users like usability testing in 12. Evaluating Design.

Cognitive Walkthrough

https://youtu.be/Edqjao4mmxM

A cognitive walkthrough involves letting a UI evaluator walk through the usage scenario of your system (Preece et al., p.511). Your goal is to identify your system's problematic features by seeing a UI evaluator go through a series of tasks described in a scenario and observing where they encounter problems. As noted above, walkthroughs are conducted by UI evaluators rather than experts (i.e., target users).

Cognitive walkthrough involves the following steps (Preece et al., pp.511-514):

  1. Give the evaluators the interface prototype. Explain to them the assumptions that you make about the user. It would be a good idea to share the persona and explain who are the intended users of the prototype. Using a scenario, explain to them the task that they should perform using the interface prototype. This will allow you to share what the intended context of use is, what tasks the users have to perform, and what the end state is.
  2. Then ask the evaluators to walk through the scenarios using the prototypes.
  3. In going through the scenarios, you want the evaluators to assess if they can identify what task they have to perform, see how to do it, and understand from feedback whether the action was correct or not. You could encourage the evaluators to ask questions such as the following:
  4. As the evaluators assess the usability of the system, record what caused usability problems so that you can later fix those issues.

Heuristic Evaluation

Heuristic evaluation is a lightweight usability evaluation method. It involves having a small set of evaluators examine the interface and judge its compliance with widely recognized usability principles or rules of thumb (i.e., "heuristics"). Nielsen's Heuristics are commonly accepted principles. There are ten items as follows:

https://youtu.be/cTtc90jCULU

  1. Visibility of system status The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.

https://youtu.be/0TAt9Pln51g

  1. Match between system and the real world The system should speak the users' language, with words, phrases and concepts familiar to the user, rather than system-oriented terms. Follow real-world conventions, making information appear in a natural and logical order.

https://youtu.be/MXuk-fdbr0A

  1. User control and freedom Users often choose system functions by mistake and will need a clearly marked "emergency exit" to leave the unwanted state without having to go through an extended dialogue. Support undo and redo.

https://youtu.be/Ibndy9KLOSQ

  1. Consistency and standards Users should not have to wonder whether different words, situations, or actions mean the same thing. Follow platform conventions.

https://youtu.be/imS9s1DUY-I

  1. Error prevention Even better than good error messages is a careful design which prevents a problem from occurring in the first place. Either eliminate error-prone conditions or check for them and present users with a confirmation option before they commit to the action.

https://youtu.be/6glQPp6q4Jc

  1. Recognition rather than recall Minimize the user's memory load by making objects, actions, and options visible. The user should not have to remember information from one part of the dialogue to another. Instructions for use of the system should be visible or easily retrievable whenever appropriate.

https://youtu.be/LoTdRTBB8BQ

  1. Flexibility and efficiency of use Accelerators—unseen by the novice user—may often speed up the interaction for the expert user such that the system can cater to both inexperienced and experienced users. Allow users to tailor frequent actions.