Friday, October 12, 2012

Heuristic evaluation

 System status 
Feedback on where the system is and where the user is.


  • show time (over one sec - you need to provide feedback).
    • use progressbar
  • show space - how much space does the user have left to use etc.
  • show change - ask user if he wants to save something etc - when user changes something.
  • show action - for example traffic lights have the color coding but also the most important color "red" is at the highest position. This indicates what user can do.
  • show next steps - it can be also as a text.
  • show completion  - the picture with a message "Put down that cocktail .. your smth is ready"
 Familiar metaphors & language 
Mach some UI features to the real world where the user has experiences. Speak the users language and use conventions that are used in online world and in real world.
  • identify the terms and language the users understand
  • use familiar categories
  • use familiar choices - explain the choices to the user that he could make the decision
 User control and & freedom 
Don´t force user to fixed paths. Let them redo, undo and exit.
  • preview of the path can be really valuable for making decisions
  • freedom to explore
 Consistency & standards  
  • consistent layout
  • consistent names and using your language
  • don´t use system terms in UI - for example behind the curtains a big company devides a term into many different ones  but for the users those actually mean the same. (note to myself - think about ITB).
  • ask people how would they categorize things
  • you can use the type 'other' and afterwards analyze the results bow people describe the categories 
  • consistent choices - "yes" is always something positive.. like yes i want to continue, yes i want to save etc. Do not violate it by asking the question through negative perspective. For example those two mean the same thing but the user has to give different answers to continue his doings:
    • do you want to close the application? - NO
    • do you want to continue - YES
  • clearer choices - don´t use always yes and no buttons - sometimes it is useful to describe the actions behind them
 Error prevention  
  • prevent data loss - for example before asking if i would like to overwrite files i would like to see the preview to make my decision.
  • prevent clutter (segadus) - quite the same explanation ad by data loss
  • prevent confusing flow - for example you use button named 'cancel' to actually continue the flow and the user can suffer under data loss etc.
  • prevent bad input - for example there is no datepicker associated with the input fielt that should take date as his value
  • prevent unnecessary constraints - don´t limit the user 

 Recognition over recall  
Recognition (äratundmine)

  • avoid codes!
  • avoid extra hurdles (takistusi?) - set up reasonable defaults to avoid those
  • recognition with previews
 Flexibility and efficiency  

  • flexible shortcuts
  • flexible defaults with options - commonly used options are already listed to you - last one is a option where you can enter freely your value
  • ambient (ümbritsev) information - for example you can see weather forecast in your weekly calendar
  • proactive - for example Gmail offers you to unsubscribe from a list which is probably just a spam list. PS! If you use it, you have to do it well.
  • provide recommendations 
  • keep it relevant (asjakohane)
 Aesthetic & minimalist design  

  • above the fold - the screen that a user can see at first - for example you could see only one third of a long page at the time, this is above the fold. Think what people should see there. Put core information above the fold!
  • signal to noise - use colors when they need something -- not just randomly all over the page. Another example - using tables with borders where the data is much more important - at a glance users would see the table not the data inside it
  • minimalist login
  • using redundancy you will loose in webpages real estate - you push more important information off the page.
 Recognize, diagnose & recover from errors  


  • make the problem clear that the user faces
  • provide a solution
  • show a path forward - for example you as a user try to open a file but there is no right application for it -- the message should provide a solution how can i open that file.
  • purpose an alternative  (paku alternatiive)
 Help  
  • learning with examples
  • choices with examples
  • guide the way
  • show the steps
  • point things out (for example tooltips)
  • provide more information  - for example you want to unsubscribe from a mailing list and you choose the reason 'I received too many e-mails' --  the application then prompts a possibility to you -- you can change the frequency.
  • be clear by helping - not too many info! For example no-one reads ULA-s (user licence agreements), but you could summarize the key points and force users to accept them - then you can be sure they know the very most important terms.
  • help people have fun :)

No comments:

Post a Comment