Adam

An Analysis of Amazon against Neilson’s Usability Principles

by Adam on November 4, 2009

in Software Engineering

If you're new here, you may want to subscribe to my RSS feed. Or for more frequent updates you can follow me on Twitter. Thanks for visiting!

Using Nielson’s Usability Principles devise an evaluation plan to assess the ‘quality’ of the site. Your answer should clearly identify where improvements can be made.

Neilson’s Usability Principles provide a set of guidelines or principles that should be kept in mind when developing user interfaces. The following analysis will look at each of the principles and aim to establish whether or not the Amazon website has followed the principles successfully.

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

Reasonable time could be effected by the hardware running the Amazon website. For example, if the website continually times out this would create a poor user experience and the user would be left hanging, unsure what was going on. This would be particularly worrying on any of the purchasing pages as people are always much more concerned by errors when they have entered their payment details. How can a user be sure that the order was successfully made if the page timed out? Fortunately, timing out and server errors are infrequently seen on the Amazon website.

In the context of a website, keeping users informed could refer to a few things. Firstly, feedback when filling in forms is extremely important. It is highly frustrating to fill in a form only to have it thrown straight back at you with no indication of what has gone wrong.

Amazon Failed Login

Amazon Failed Login

Amazon handle form feedback very well, if you look at the above screenshot you can see there is a big box at the top telling me there is a “problem with the order”. This is followed by more contextual information underneath the field in question (the password field). Amazon helpfully alert the user that the username and password do not match any accounts on the system, they also provide a link for retrieving your password if you’ve forgotten it and even provide an extra hint that you may be at work trying to login with your home password or vice versa (they must have some evidence to indicate that being a common scenario).

All the while they manage to follow Schneiderman‘s error message guidelines.

One improvement that can be made to form accessibility, for users with more modern browsers, is through the user of client side form validation, e.g. using Javascript/AJAX to dynamically validate each field of a form before the user has submitted the whole form.

There are some drawbacks to this in that it has to still work for users with less modern browsers, i.e. it must gracefully degrade and also you must either maintain two sets of form validation logic, both client side and server side, and keep them in sync or you must use AJAX but often times AJAX can seem unresponsive if it is not instantaneous.

Also, once an order has been successfully place, Amazon are good at letting the user know what is going on. Firstly the user is presented with a confirmation screen and then over the next few days the user receives email updates about exactly when the order is being shipped and when it should be received so the user can be sure of how their order is being handled in the system.

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.

There are strong analogies between the “amazon web store” and a “real life store”. For example, you place items you would like to purchase into your “basket” rather than an “item repository” or some other technical phrase. Also, the different sections of the website are named as “departments” rather than “categories”. This allows a user to look for an item in a “department” which matches what one would do in the real world.

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.

There is really not any freedom for the average user using the Amazon website. It is a deliberately simple, conversion focussed design with the sole purpose of having the user place an order. There’s no ability of accidently choosing system functions – it is simply not an option. Undo and redo don’t entirely make sense in the context of a website. Having said this, with Amazon’s one click purchasing there is the ability to undo a purchase.

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

The Amazon website is consistent with itself – platform conventions do not apply in the context of a website. The logo, colours, fonts and general layout are the same throughout the whole website. It’s very obvious when you are on the Amazon website and the menu items and words or phrases are standardised throughout the site to avoid confusion.

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.

Amazon do a good job of error prevention purely by the fact that the website really is quite simple. The user simple browses around the site, looking at different products, which they may or may not add to their basket and then the user may or may not go on to make a purchase.

There is not much scope for errors within the website. If you search for Jazz in all departments but meant CDs this is not an error because you can simply drill down further more specifically through the “departments”.

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.

Users certainly do not need remember how to do anything on the Amazon website. When a user visits the homepage they are presented with a huge search box above the fold and then throughout the website there are important “calls to action” highlighted with brightly coloured, distinctive buttons designed to encourage the user to perform the desired action, e.g. buy a product.

Also, if you’ve logged in before, you don’t even need to remember what you came to buy! Amazon will happily recommend products based on what you’ve previously viewed and purchased and it is a surprisingly decent recommendation engine.

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.

It’s not often that websites have accelerators, they may have access keys for users without mice but this is more of an accessibility aid than an accelerator.

The reason for the lack of accelerators is the fact that the web doesn’t have any functionality like that, it would require client side scripting to intercept key strokes which would only work on certain browsers.

Aesthetic and Minimalist Design – Dialogues should not contain information which is irrelevant or rarely needed. Every extra unit of information in a dialogue competes with the relevant units of information and diminishes their relative visibility.

The Amazon website is certainly very minimalist considering how much information there is. It is simple to navigate and browse, drilling down through more specific options to find what you are looking for.

There is rarely every any irrelevant information. There is a small amount of advertising on the homepage but after that it is very minimalist and purely designed to maximise purchases.

Help Users Recognize, Diagnose, and Recover from Errors – Error messages should be expressed in plain language (no codes), precisely indicate the problem, and constructively suggest a solution.

This is an area where the Amazon site is particularly strong. As seen previously the error messages are plain, precise and suggest multiple solutions.

Help and Documentation – Even though it is better if the system can be used without documentation, it may be necessary to provide help and documentation. Any such information should be easy to search, focused on the user’s task, list concrete steps to be carried out, and not be too large.

Amazon Help Section

Amazon Help Section

Help is another area where Amazon seem to be particularly strong. There is a dedicated section of the website, that is searchable and highlights the most commonly search help topics.

Individual help information is short, to the point and concisely tells the user how to solve their problem.

Related posts:

  1. Usability and Human Computer Interaction (HCI) Analysis of Amazon
  2. What Is Interaction Design?
  3. How Interfaces Affect Users
  4. Software Accessibility
  5. What is search conversion / captology / usability optimisation?

{ 1 comment… read it below or add one }

Liz November 11, 2009 at 7:05 pm

This is a very good start to an evaluation, I like the way in includes frameworks of other researchers and structures comments around them. This is a good way of achieving higher marks

Things that you could consider to improve (push towards a 1st…):

1. check your language in places its quite informal. Also in a bench test you will have limited time so per quite precise. The structure you use will help, but you can almost resort to bullets of good / negative points when you carry out this form of evaluation.
2. I think your inclusion of examples, I realise that you can’t easily do this in a blog, but in the BT draw diagrams and highlight points directly on the diagram.
3. present also examples (such as sites or styles) that are correcting any areas issues that you identify
4. another way of collecting marks is to cross link work with other researchers so if you raise a point of researcher 1 on X, link this to others that have also worked in the area.

Reply

Leave a Comment