Houjun Liu

User Experience

The User Experience design sprung out of WWII—in Aerospace engineering.

The Design Process

The “Double Diamond” Process

First Round of Going Broad

  • Explore the problem space (what are you users trying to do? why? why is it hard?)
  • Decide what to fix (what is the most high impact problem?)

Second Round of Going Broad

  • Test potential solutions (does this fix the problem?)
  • Refine final solution (do all users understand this? can they use them?)

Usability Heuristics

Usability Heuristics is a set of principles used in User Experience design to identify problems and potential solutions.

Visibility of System Status

Keep the users informed about what’s actively going on, through appropriate visual feedback placed at an appropriate amount of time.

Match Between System and the Real World

Use language that’s familiar to the user, using words, phrases, concepts familiar to the users rather than internal jargon.

Balance User Control and Freedom

User often perform actions by mistake; mark “emergency exits” to leave unwanted pathways/actions without causing side effects.

Consistency and Standards

Having consistency between different versions/family of products: putting buttons that do the same thing to the same place across the app, at the same region.

Error Prevention

Eliminate error-prone conditions (prevent the users from doing it), or present users with a confirmation before they commit to an erroneous action

Recognition vs. Recall

Users should’t need to remember when they are going through an UI; instead they should be able to recognize the intended behavior from the UI

Flexibility and Efficiency of User

Catering functionality to both novice and advanced users. Make advanced actions hidden to novice users, but easily accessible for advanced users.


Keep the UI focused on essential actions and information—maintaining an aesthetic and minimalist design

Help Users Recognize, Diagnoses, and Recover from Errors

Errors should…

  1. give context for what the problem is
  2. instruct the user for possible next actions


It maybe necessary to provide documentation to help users understand how to complete their tasks; the documentation should be clear