Usability heuristics 1
February 14th, 2006 by Sonja DuijvesteijnHeuristic is the art and science of discovery and invention. The word comes from the same Greek root as “eureka”: εὑρισκω, which means “I find”. A heuristic is a way of directing your attention fruitfully. The term was introduced by Pappus of Alexandria in the 4th century.
Heuristics are more known as a ‘rule of thumb’. A few easy guidelines to follow to make sure your site/application is user friendly. Jacob Nielsen set up this list in 1990, and updated it in 1994.
The weird thing about these rules of thumbs are that you instinctively know most of them, if not all. The added value in having them written out is that you’re more easily to check all of them. So, let’s go through them once again, with a short (new) example of each. Today part 1.
Visibility of system status
This one is quite obvious in flash applications that take forever to load and have a nice preloader to show how far they are. So why is this still lacking in ajax applications? Every time something is being processed in the back and you expect it to take longer than (half) a second you should show this to the user.
Match between system and the real world
Did you ever notice what a submit button says if you don’t give it a value? “Send query”. Most people think that that doesn’t look good and change it to ’send’. Good, now you can send the data to the server! However, your user probably isn’t looking to ’send’ data, but is trying to ask a question. So why isn’t that button called ‘Ask’ ?
User control and freedom
Do not decide for your user how he or she should experience your website. So, no popup saying ‘This site is best viewed in internet explorer 5.0 and up’.
Fortunately most browsers help a lot with freedom of a user. When someone feels they’re stuck somewhere, or did something they didn’t want to do, they can press the back button to get back to where they came from. So don’t break this functionality! An emergencey exit is an important feature.
Consistency and standards
Make sure that all words, acronyms, and sayings you use are known to your intended public. When in doubt see the standards, that’s what they’re there for. This definately doesn’t mean you can’t use difficult terms. Just write something that the target group understands. And, be consistent in what words you use.
An example of this is RSS, meaning either ‘Really Simple Syndication’ or ‘Rich Site Summary’. If you use both these two terms in one text chances are, you’ll confuse people. And confused people don’t get what they want, information.
Error prevention
Suppose a form of 20 different questions some existing of a number of checkboxes, or radiobuttons, and having to select a specific number of answers per checkboxgroup. In this large form chances are you’ll get lost. Especially since the input that is requested from you is different for each question. Now this might be good if you’re testing the intellect of your users. But for normal use, this is something you might want to prevent.
Another horrible example is a site about usability, which has two menu items named ‘testing’. One for information about how to test the usability of a site, and the other for tests that has been performed on the site.
So far for the first part of usability heuristics. Later this week I’ll write the next part.
Related posts
Usability heuristics 2
First annual Naked day - April 5
Flash and search engines
Cool use of css
Microsoft expression family
February 19th, 2006 at 12:53
What I also usually add under “visibility of system status”, is navigation status. Indicate where a user is at the moment, show visited and active links etc.
And consitency and real world matching should always come together. Use the language of your (potential) users/ customers. Don’t let a horny marketing department invent cute names for stuff. Just check the search engine volume, see where (on which keywords) your conversion lies and use those terms.
Anyway, I think Nielsen’s usability heuristics are nice, but a more comprehensive low-level list is worth more. His list is too hard to make a checklist out of, there are tons of other nice lists that are more concrete. Moreover, I think he created the list for his book “Usability engineering”, which isn’t about websites, but more about systems in general, while most people think of websites when they want to learn about usability.
PS: Why write in English? The Dutch community needs more quality content like this. The stuff you write here seems quite dupe-like, in English.