Usability
10 Usability Heurisitics
Jacob Nielson & Don Norman are leaders in User Experience & Usability design and testing. Their website is Nielson Norman Group and it explains the heuristics or 'rules of thumb' for good design.
#1 Visibility of system status
Questions:
Do I know what the system is doing?
Do I know why I have to wait?
Is the process running in the background or foreground?
Do I know how much longer I will have to wait for a result?
Do I know how far along the process is?
Can I see how many steps are left in a process I am working on?
Do I know what is coming next?
"Systems should always keep users informed about what is going on with appropriate feedback within a reasonable time"
"This system status could be persistent or always visible like a battery life or a WiFi indicator OR
it could be feedback that is only shown after a user has done something"
Loading the build options
The highlighted bar shows the user the which step they are currently on
#2 Match between the system and the real world
Questions:
Does the UI use terms based on users’ language for the task?
Are meaningful icons and/or abbreviations used?
Does information appear in a natural order?
Does the order that information is accessed match user expectations?
#3 User control and freedom
Questions:
Are users offered easy ways out of as many situations as possible?
Are there clearly marked ‘emergency exits’ for users to leave unwanted situations without having to go through several stages?
Support for undo and redo, e.g. Ctrl-Z & Ctrl-Y
Cancel button (for dialogue boxes waiting for user input)
Universal undo (can go back to the previous state)
Interrupt (especially for lengthy operations), e.g. Home button, “ESC” key
Quit (for leaving the program at any time)
Defaults (for restoring a previous state)
#4 Consistency and standards
Questions:
When thinking about, designing for or analysing for consistency, ask yourself, is the product consistent:
Within itself?
With earlier versions of the product?
In its use of metaphors?
With people's expectations?
List the standards you can identify in the UI.
What makes them consistent?
Try to describe why?
"ensures that the interface is predicable and learnable"
There are two categories:
- Internal consistency: maintaining consistency with in a product or family of products
- External consistency: maintaining consistency across an industry or in general
Users spend most of their time on other sites. This means that users prefer your site to work the same way as all the other sites they already know.
#5 Error prevention
Questions:
Do dialogue boxes pop up to ask for confirmation of interactions which have an impact, like deleting?
Does it prevent the user from choosing interactions that are wrong in a certain situation, e.g. by greying out?
Does the UI prevent choices that could be wrong for the user task (e.g. dates in the past, double booking or purchasing...)
#6 Recognition rather than recall
Questions:
Does the website's menu help you find the destination for your task easily?
Does the website provide clear hints to choose appropriate functions?
Does the UI help you remember the steps of your tasks, and your progress within the task?
Does the UI use standard elements that make it easy to find your way?
#7 Flexibility and efficiency of use
Questions:
Can a user speed up tasks with shortcut functions?
Can an advanced user skip elements to speed up a task?
Does the user interface use predictive text or search?
Does the user interface show recently used functionality or files for quick access?
"flexible processes can be carried out in different ways, so a user can pick which ever method suits them"
"That flexibility helps a user be more efficient"
"An accelerator is any option which helps speed up an interaction or process" - like Ctrl-c for copy
Use accelerators to make the interface "efficient for experts and friendly for newbies"
#8 Aesthetic and minimalist design
Questions:
Does the website use brief, clear language?
Is the layout uncluttered and does it use white space?
Does it use icons where possible?
Do all elements have a purpose on the page or in the dialogue?
Does the website use a simple colour scheme?
#9 Helps users recognise, diagnose and recovery from errors
Questions:
Are error messages constructive?
Are error messages consistent in grammar, form, terminology, and abbreviations?
Do error messages blame the system, or the user?
Do error messages inform on the severity of the error?
Do error messages indicate actions users need to take to correct the error?
Does the system guide users to the place where the error occurred?
#10 Help and documentation
Questions:
Can the user consult more extensive documentation?
Is a help function always available, on each screen?
Do functions and fields have specific help content?
Is the help function easily searchable?
Is the help content aligned to the user tasks, e.g. by using verbs?