User Interface Standards
From Computing and Software Wiki
(→<span style="color:#191979">Ten Usability Heuristics</span>) |
(→Techniques) |
||
Line 123: | Line 123: | ||
:*'''Use color appropriately'''<br> | :*'''Use color appropriately'''<br> | ||
:*'''Follow the contrast rule'''<br> | :*'''Follow the contrast rule'''<br> | ||
- | :*'''Align fields effectively'''<br> | + | :*'''Align fields effectively'''<br>Editable fields (i.e textboxes) |
- | :*'''Expect your users to make mistakes'''<br> | + | :*'''Expect your users to make mistakes'''<br>Allow easy reversal of actions. See [Principles] |
- | :*'''Justify data appropriately'''<br> | + | :*'''Justify data appropriately'''<br>Left justify string, Right justify numbers, Decimal justify floating point numbers. |
- | :*'''Your design should be intuitable'''<br> | + | :*'''Your design should be intuitable'''<br>Interfaces should be easy to learn and should encourage the user to explore and become familiar with its elements. |
- | :*'''Don’t create busy user interfaces'''<br> | + | :*'''Don’t create busy user interfaces'''<br>Interfaces should be simple at best. Clutter causes confusion and stalls efficient workflow. |
- | :*'''Group things effectively'''<br> | + | :*'''Group things effectively'''<br>Related features should be effectively grouped together, whereas items which are not should be distinctly separated. |
- | :*'''Take an evolutionary approach'''<br> | + | :*'''Take an evolutionary approach'''<br>Methods such as rapid prototyping and [http://www.agilemodeling.com/essays/amdd.htm Agile Model Driven Development] are critical approaches in designing user interfaces. |
=Human Factors= | =Human Factors= |
Revision as of 19:42, 22 November 2009
User Interface Standards is created by Group 6 for 2009/2010 Software Engineering 4D03 Assignment 5. Group Members: Roshan Jesuratnam, Ashan Khan, Arturo Mata, Jaganvir Sandhu
This document specifically looks at Graphical User Interface (GUI) standards, over other types of interfaces which exist.
Contents |
Overview
TALK ABOUT TRIAL AND ERROR, SIMPLICITY,ETC
NO INDUSTRY STANDARDS BUT THERE ARE HEURISTICS AS A GENERAL GUIDLINE
EACH COMPANY HAS ITS OWN STANDARD WHICH IT FOLLOWS, THIS WIKI WILL EXPLAIN THE GENERAL, COMMON THINGS AMONG THEM.SDFSDG
The structure principle. The simplicity principle. The visibility principle. The feedback principle. The tolerance principle. The reuse principle.
APPLES AQUA INTERFACE DESIGN STANDARD
WINDOWS NEW WINDOWS 7 STANDARD
DIFFERENT TYPES OF USERS
CONSSISTENCY
(Use http://www.isii.com/ui_design.html)
Standards
ADD MORE SHIT ON THIS, NEEDS MORE COWBELL
TAKE FROM APPLE AND MICROSOFT AND MORE CRAP
http://en.wikipedia.org/wiki/Aqua_(user_interface)
http://developer.apple.com/mac/library/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGIntro/XHIGIntro.html
http://download.microsoft.com/download/e/1/9/e191fd8c-bce8-4dba-a9d5-2d4e3f3ec1d3/ux%20guide.pdf ********************
http://www.usabilitynet.org/tools/r_international.htm
http://www.beta-research.com/standards.html <---GOOD RESOURCE
Windows
Window Management
Dialog Boxes
Properties Windows
Common Dialogs
Asthetics
Sizing
Formatting
Titles and Icons
Fonts and Colour
Interaction
Shortcuts
Mouseovers
User Input
Keyboard
Pointers
Accessibility
Messages
Errors and Warnings
Confirmation and Notifications
Text
UI Text
Style and Tone
Commands
Menus
Toolbars
Ribbons
Controls
Principles
These principles are in nature heuristics of interface design. They are guidelines that "should" be used in the design of interfaces, since there is no one industry standard. These general rules provide a basis to build on for an user interface designer.
The similarities between these two sets of guidelines is indicative of the rules interface designers should follow to offer end users efficient ease of use.
Ten Usability Heuristics
Jakob Nielsen, a user adovacate and principal of the Nielsen Norman Group for enhancing user experience, outlines the following heuristics;
- Visibility of system status
System should indicate the state/progress it is in through appropriate feedback. - Relate system and real world
System should be 'natural' in order to speak the user's language. Concepts should be similar to real-world conventions. - User Control and freedom
Interface should encourage user to explore features and give them a sense on control over the system. - Consistency and standards
Interface should have same meanings of words as other applications. Other interfaces in the system should be used as a guideline when designing a new one. - Error Prevention
System should be designed to prevent errors from happening. By implementing various error handling mechanisms (autocorrect, messages, etc.), users should be able to fix and continue with workflow. - Recognition rather than recall
Controls of the interface should be easily visible in order to reduce short term memory load. - Flexibility and effciency of use
Allow shortcuts for frequently used features for experienced users to maximize effciency through flexible alternatives. - Aesthetic and minimalistic design
Discard irrelevant information in dialogues to ensure relevant units of information does not lose their relative visibility. - Help users recognize, diagnose, and recover from errors
All error messages should be illustrated in clear, simple language (no codes) where users undoubtedly recognize the problem and follow a constructive solution. - Help and documentation
Help and documentation should be easy to search focused on the user’s task with a list of clear concrete steps to be carried out. Limit all possible ambiguities.
- Visibility of system status
Eight Golden Rules of Interface Design
From the book Designing the User Interface, Ben Shneiderman outlines eight key rules of good interface design;
- Strive for consistency
Consistency must be implemented within itself and other interfaces. This ensures a "global" understanding of where things are and where one would look for it. See Figure 1 for example. - Enable frequent users to use shortcuts
Expert users should not be bound by interaction styles that may slow progress. Thus, enabling shortcuts through speed keys, hidden commands, marcos, etc. will optimize pace of interaction while reducing the number of interactions. - Offer informative feedback
Major or infrequent actions should make aware the user, with descriptive and clear information of what is occuring. - Design dialog to yield closure
Sequences of actions should be grouped with a beginning, middle and end. This gives the user a sense of direction and accomplishment of the task. - Offer simple error handling
Design the interface in a manner which the chance of human error is impossible. However, since it is impossible to predict every behaviour, design it in a way such that it offers informative feedback explaining the details of the error and how it could be solved. - Permit easy reversal of actions
Allow users to undo their mistakes. This allows users to have a sense of security in case a mistake occurs. It also allows users to explore without consequences. - Support internal locus of control
Users should be the initiators of actions rather than responders. Actions should respond quickly with delay and offer response. - Reduce short-term memory load
Reducing sequences of events and commands allows the user to be aided in tasks. Keep the display simple so it is intuitive for the user.
- Strive for consistency
Design
(Use http://www.ambysoft.com/essays/userInterfaceDesign.html)
PUT INTERACTIPON STYLES IN HERE
Techniques
In the book, The Object Primer by Scott Ambler. It outlines the following tips and techniques that one should think about when creating a user interface;
- Consistency
- Set standards and stick to them
- Be prepared to hold the line
- Explain the rules
- Navigation between major user interface items is important
- Navigation within a screen is important
- Word your messages and labels effectively
- Understand the UI widgets
- Look at other applications with a grain of salt
- Use color appropriately
- Follow the contrast rule
- Align fields effectively
Editable fields (i.e textboxes) - Expect your users to make mistakes
Allow easy reversal of actions. See [Principles] - Justify data appropriately
Left justify string, Right justify numbers, Decimal justify floating point numbers. - Your design should be intuitable
Interfaces should be easy to learn and should encourage the user to explore and become familiar with its elements. - Don’t create busy user interfaces
Interfaces should be simple at best. Clutter causes confusion and stalls efficient workflow. - Group things effectively
Related features should be effectively grouped together, whereas items which are not should be distinctly separated. - Take an evolutionary approach
Methods such as rapid prototyping and Agile Model Driven Development are critical approaches in designing user interfaces.
- Consistency
Human Factors
(Use http://www.beta-research.com/standards.html)