Generally accepted principles for Graphical user interface design are:
1. Aesthetically pleasing Provide visual appeal by following these presentation and graphic design principles: • Provide meaningful contrast between screen elements. • Create groupings. • Align screen elements and groups. • Provide three dimensional representation • Use colors and graphics effectively and simply.
2. Clarity The interface should be visually, conceptually and linguistically clear, including • Visual elements • Functions • Metaphors • Words and text
3. Compatibility Provide compatibility with the following: • The user • The task and job • The product • Adopt the user’s perspective
4. Comprehensibility • A system should be easily understood and learned. A user should know the following o What to do o What to look at o When to do it o Where to do it o Why to do it o How to do it • The flow of actions, responses, visual preparations and information should be in a sensible order that is easy to recollect and place in context.
5. Configurability Permit easy personalization, configuration and reconfiguration of settings. • Enhances a sense of control • Encourages an active role in understanding
6. Consistency • A system should look, act, and operate the same throughput. Similar components should: o Have a similar look o Have similar uses. o Operate similarly • The same action should always yield the same result. • The function of the elements should not change • The position of standard elements should not change.
7. Control • The user must control the interaction. o Actions should result from explicit user requests o Actions should be performed quickly o Actions should be capable of interruption or termination o The user should be never interrupted for errors • The context maintained must be from the perspective of the user. • The means to achieve goals should be flexible and compatible with the user’s skills, experiences, habits and preferences. • Avoid modes since they constrain the actions available to the user. • Permit the user to customize aspects of the interface, while always providing a proper set of defaults.
8. Directness Provide direct ways to accomplish tasks • Available alternatives should be visible, • The effect of actions on objects should be visible.
9. Efficiency • Minimize eye and hand movements, and other control actions. o Transitions between various system controls should flow easily and freely. o Navigation paths should be as short as possible. o Eye movement through a screen should be obvious and sequential. • Anticipate the user’s wants and needs whenever possible.
10. Familiarity Employ familiar concepts and use a language that is familiar to the user. • Keep the interface natural, mimicking the user’s behavior patterns. • Use real world metaphors.
11. Flexibility A system must be flexible to the different needs of its users, enabling a level and type of performance based upon: • Each user’s knowledge and skills. • Each user’s experience. • Each user’s personal preference • Each user’s habits • The conditions at that moment
12. Forgiveness • Tolerate and forgive common and unavoidable human errors • Prevent errors from occurring whenever possible. • Protect against possible catastrophic errors. • When an error does occur, provide constructive messages.
13. Predictability • The user’s should be able to anticipate the natural progression of the task. o Provide distinct and recognizable screen elements o Provide cues to the result of an action to be performed • All expectations should be fulfilled uniformly and completely.
14. Recovery • A system should permit: o Commands or actions to be abolished or reversed. o Immediate return to a certain point if difficulties arise. • Ensure that user never lose their work as a result of o An error on their part o H/W, S/W or communication problems.
15. Responsiveness • The system must rapidly respond to the user’s requests. • Provide immediate acknowledgement for all user actions o Visual o Textual o Auditory
16. Simplicity • Provide as simple an interface as possible • Provide defaults • Minimize screen alignment points. • Make common actions simple at the expense of uncommon actions being made harder. • Provide uniformity and consistency • Five ways to provide simplicity: o Present common and necessary functions first. o Prominently feature important functions, o Hide more sophisticated and less frequently used functions
17. Transparency • Permit the user to focus on the task or job, without concern for the mechanics of the interface. • Workings and reminders of workings inside the computer should be invisible to the user.
18. Trade-offs • Final design will be based on a series of trade-offs balancing often-conflicting design principles People’s requirements always take precedence over technical requirements
19. Accessibility • aspects of system design to improve the ease of use of the system including making the system usable by all people (regardless of whether they have a disability or not).