[Usability] More UI principles from the Nielsen guy



Visibility of system status: The system should always keep users informed 
about what is going on, through appropriate feedback within reasonable time

Match between system and the real world: The sytem 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.

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.

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

Error prevention: Even better than good error messages is a careful design 
which prevents a problem from occurriong in the first place

Recognition rather than recall: Make 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

Flexibility and efficience of use: Accelerators --unseen by the novice user-- 
 may often speed up the interaction for the expert user to such an extent 
that the system can cater to both inexperienced and experienced users. Allow 
users to tailor frequent actions.

Aesthetic an minimalist design: dialogues should not contain information 
which is irrelevant or rarely needed. Every extra unit of information in a 
diialogue competes with the relevant units of information and diminishes 
their relative visibility

Help users recognize, diagnose and recover form errors: Error messages should 
be expressed in plain language (no codes), precisely indicate the problem, 
and constuctively suggest a solution.

Help an 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 necessary to provide help and documentation 
Any such information should be easy to search, focused ont the user task, 
list concrete steps to be carried out, and not be too large


These are alle simple concepts.  But are easily overlooked. When programming. 
It is a list which from a text which talks about the use of heuristic 
evaluation of interface design. Sounds scarry :) It is actually the opposite. 
Basically, the "programmar" or UI designer gets a couple of people (about ten 
should be enough). He asks each of the to perform a number of tasks with his 
program. Communication and explanation during the tasks are allowed. You 
write down the obstacles that the user encountered. You iterate with a number 
of people and eventualy you wil find no more problems. Improve your program 
and start again. Your program actually can not get worse by doing this. Hey 
it can even be fun doining it.  User experience level is not that important. 
Just go over it a few times and use your common sense. 




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]