Monday, October 25, 2010

8 Golden Rules of Interface Design

Any talk about interface design will not be complete unless a mention is made to the "8 golden rules of interface design". These rules are very important for designing an interface.

8 Golden Rules of Interface Design


We borrow the concept of using patterns from architecture. In architecture, we use design patterns for the construction of buildings. Wisdom is incorporated in these designs so other people can use them.

We also have the concept of architecture in computer science. Design patterns are used in computer science to solve the problem of usability and make the interface easier to use by the user and to increase user satisfaction with the interface.


                                          Ben Shneiderman, at University of Maryland lecturing
                                (Image taken from http://en.wikipedia.org/wiki/File:Ben_Shneiderman_Lecturing.jpg)



Recently, A computer scientist names Ben Shneiderman gave "8 golden rules of interface design". These rules were based on his research and empirical data collected through various experiments.

Here are the 8 rules:

1. Strive for Consistency
2. Cater to Universal Usability
3. Offer Informative feedback
4. Design Dialogs to yield closure
5. Prevent Errors
6. Permit easy reversal of actions
7. Support internal locus of control
8. Reduce short term memory

I have personally used these principles in the softwares that I have developed and found these immensely useful.

Let's discuss them one by one along with the insights I gained from these.

1. Strive for Consistency
Image taken from http://www.rockettinteractive.com/images/pic-consistency.jpg



Many forms of consistency:-

- Consistent sequences of actions should be required in similar situations
- Identical terminology should be used in prompts, menus, and help screens
- consistent color, layout, capitalization, fonts and so on should be employed throughout.

If menus, prompts, help screens are consistent, the user can quickly make out what is to be done in the next step.

2. Cater to Universal Usability



                                (Image taken from http://www.maps-continents.com/maps/globe-africa-countries.jpg)

A good interface should cater to universal usability.

There may be diverse users using your interface. You need to address the needs of diverse users.

For example, If you are creating a website, it is a good idea to create a website in such as way that it addresses both the low-bandwidth and high-bandwidth users.  Many good websites do this these days.

Sometimes implementing universal usability can be challenging because we need more resources to address a broad range of users.

3. Offer Informative Feedback


Offering informative feedback to the users for the actions they do gives the users confidence that they are proceeding in the right direction.

4. Design dialog to yield closure


Sequences of actions should be organized into groups with a beginning, middle and end.

Image taken from www.amazon.com

For example, when you checkout at amazon it takes you step by step through a sequence of actions. For example, you sign in, select payment option, place order, etc.


5. Prevent Errors


A good interface reduces errors , there can be many ways of doing so:

- Use selection instead of freestyle typing

A person may commit a typo while freestyle typing. So, selection is a good way of reducing that error.

 - Automatic completion
 Showing Google Autocomplete(http://alias-i.com/lingpipe/demos/tutorial/querySpellChecker/google-auto-complete.png)

Many search engines like Google use technology called AJAX which is used for automatic completion as we are typing in the query.

- Make error messages specific and positive in tone

An error messages should be positive in tone and most importantly specific. A specific message let's t he user know what he needs to do.

6. Permit Easy Reversal of actions


Permitting easy reversal of actions is a great way to :

- encourage user to explore new options
- Relieve anxiety

7. Support Internal Locus of Control


Every one like control in their hand!




User satisfaction is high when they feel that they are in control of the system
To do so:

- Avoid surprising interface actions, tedious data entries, etc.

User should feel that they are controlling the system.

8. Reduce short-term memory load


Human processing is limited in short term memory.
Therefore:

- Keep display simple
- Consolidate multiple-page displays , reduce windows-motion frequency.

References:

http://konigi.com/notebook/shneidermans-eight-golden-rules-interface-design
http://en.wikipedia.org/wiki/Universal_usability

14 comments:

  1. Excellent article.....Really informative and helpful...!!!

    ReplyDelete
  2. Good to provide examples for internal locus of control

    ReplyDelete
  3. Not good article. Need some good examples in here

    ReplyDelete
    Replies
    1. they are excellent, but I struggled a little bit to be honest

      Delete
  4. Great journal website.. i'll be genuinely astonished so you accomplish an excellent appreciative work.. thanks for expressing... i prefer to look at that subject. please state some factor extra... Appreciate it.


    Regards
    Citrix Web

    ReplyDelete
  5. Fantastic. It is very useful stuff for all the developer's. I also running a webdesign company in India and happy to join your points. Please visit my website http://www.viduweb.com/web/ also surely you will like our work history.?

    ReplyDelete
  6. I never ever read such type of info before this was really incredible. Word press Website Design Palm beach

    ReplyDelete
  7. amazing a really useful, so thank you

    ReplyDelete
  8. Reading on this blog you will learn more knowledge what is Interface Design is all about.

    Interactive design

    ReplyDelete
    Replies
    1. I have done a lot of my course work using this as my secondary findings, and I would like to say thank you for this

      Delete
  9. I am really happy with your blog because your article is very unique and powerful for new reader.
    Click here:
    Selenium Training in Chennai | Selenium Training in Bangalore | Selenium Training in Pune | Selenium Training in Chennai

    ReplyDelete
  10. Thanks for sharing this great article. It made me understand few things about this concept which I never knew before. Keep posting such great articles so that I gain from it. Java Training in Chennai | J2EE Training in Chennai | Advanced Java Training in Chennai | Core Java Training in Chennai | Java Training institute in Chennai

    ReplyDelete
  11. Thanks For Sharing The Information The information shared Is Very Valuable Please Keep Updating Us Time just went On reading The article
    Java Training in Chennai

    Java Training in Velachery

    Java Training in Tambaram

    Java Training in Porur

    Java Training in OMR

    Java Training in Annanagar


    ReplyDelete
  12. Excellent post!!!. The strategy you have posted on this technology helped me to get into the next level and had lot of information in it.
    Refrigerator repairing services in islamabad

    ReplyDelete