User Interface Standards

From Computing and Software Wiki

Revision as of 22:12, 22 November 2009 by Mataa (Talk)
Jump to: navigation, search

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

Window management is one of the most fundamental user activities. The main purpose is to require less effort from users to move their mouse across greater distances making window placement more predictable and therefore easier to find.

  Dialog Boxes
  Properties Windows

- The Title Bar:

All windows should have a title bar even if the window doesn’t have a title (which should be a very rare exception). Use the title bar controls as follows: • Close: All primary and secondary windows with a standard window frame should have a Close button on the title bar. Clicking Close has the effect of canceling or closing the window. • Minimize All primary windows and long-running modeless secondary windows (such as progress dialogs) should have a Minimize button. Clicking Minimize reduces the window to its taskbar button. Consequently, windows that can be minimized require a title bar icon. • Maximize/Restore down All resizable windows should have a Maximize/Restore down button. Clicking Maximize displays the window in its largest size, which for most windows is full screen; whereas clicking Restore down displays the window in its previous size. However, some windows don't benefit from using a full screen, so these windows should maximize to their largest useful size.


- The Windows Title:

A document window should display the name of the document being viewed. Application windows display the application name. Panels display a descriptive title appropriate for that window. If the contents of the window can change, it might be appropriate to change the title to reflect the current context.

For example, if you need to display more than one item in the title, separate the items with a dash (—) with space on either side. For example, the main viewer window of Mail displays the currently selected message mailbox and the selected folder, if any. When a message is viewed in its own window, the message title is displayed. Don’t display pathnames in window titles. When displaying document titles, use the display name and show the extension if the user has elected to show extensions.

- The Windows Size:

• Choose a default window size appropriate for its contents. Don't be afraid to use larger initial window sizes if you can use the space effectively.

• Use resizable windows whenever practical to avoid scroll bars and truncated data. Windows with dynamic content and lists benefit the most from resizable windows.

• For text documents, consider a maximum line length of 65 characters to make the text easy to read. (Characters include letters, punctuation, and spaces.)

• Fixed-sized windows:

o Must be entirely visible and sized to fit within the work area.

• Resizable windows:

o May be optimized for higher resolutions, but sized down as needed at display time to the actual screen resolution.

o For progressively larger window sizes, must show progressively more information. Make sure that at least one window portion or control has resizable content.

o Should avoid default restored sizes that are maximized or near maximized. Instead, choose a default size that is typically the most useful without being full screen. Assume that users will maximize the window instead of resizing to make it full screen.

o Should set a minimum window size if there is a size below which the content is no longer usable. For resizable controls, set minimum resizable element sizes to their smallest functional sizes, such as minimum functional column widths in list views.

o Should change the presentation if doing so makes the content usable at smaller sizes.

  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;[1]

  • 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.

Eight Golden Rules of Interface Design

From the book Designing the User Interface, Ben Shneiderman outlines eight key rules of good interface design;[2]

  • 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.

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;[3]

  • Consistency
    Ensure interface works in a consistent manner which enables user to build an accurate model of the way it works.
  • Set standards and stick to them
    Use a consistent interface design standard throughout. All aspects of software must follow Agile Modeling (AM)’s Apply Modeling Standards.
  • Be prepared to hold the line
    Be open to stakeholder’s ideas and suggestions. Inform stakeholders when developing the user interface of your corporate UI standards.
  • Explain the rules
    Explain all rules in a clear consistent manner to avoid problems.
  • Navigation between major user interface items is important
    Be sure the system is flexible enough to support various approaches to ensure your user will make sense of the application. A user interface-flow diagram is optional to further understand the flow of your user interface.
  • Navigation within a screen is important
    Organize navigation between widgets in a consistent manner users will find recognizable.
  • Word your messages and labels effectively
    Illustrate text (messages and labels) through clear, effective language. Avoid inconsistency.
  • Understand the UI widgets
    Adopt an effective UI widget standard in your application.
  • Look at other applications with a grain of salt
    Create authentic application which follows the user interface-standards and guidelines of your organization.
  • Use color appropriately
    Colours should be used sparingly for accessibility reasons. If colours are used, they should be used with a secondary indicator which does not discriminate. Colours should also be consistant throughout the application.
  • Follow the contrast rule
    Background and foreground should contrast enough for the user to easily read contents of the interface.
  • Align fields effectively
    Editable fields (i.e textboxes) should be aligned to be visually appealing and promote efficiency through features such as 'tabbing'.
  • 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.

Human Factors

(Use http://www.beta-research.com/standards.html)

References

[1] Nielsen, Jakob. Ten Usuability Heuristics. http://www.useit.com/papers/heuristic/heuristic_list.html
[2] Shneiderman, Ben. Eight Golden Rules of Interface Design. http://faculty.washington.edu/jtenenbg/courses/360/f04/sessions/schneidermanGoldenRules.html
[3] Ambler, Scott. The Object Primer. http://www.ambysoft.com/essays/userInterfaceDesign.html

Personal tools