This chapter introduces the principles of user interface design as it relates to the development of software products. Proper interface design begins with careful analysis of the user, the task and the environment. Once the user's tasks are identified, user scenarios are created and validated. Good user interfaces are designed, they don't happen by chance. Prototyping is a common approach to user interface analysis and design. Early involvement of the user in the design process makes her or him more likely to accept the final product. User interfaces must be field tested and validated prior to general release.
Place User in Control
Define interaction in such a way that the user is not forced into performing unnecessary or undesired actions
Provide for flexible interaction (users have varying preferences)
Allow user interaction to be interruptible and reversible
Streamline interaction as skill level increases and allow customization of interaction
Hide technical internals from the casual user
Design for direct interaction with objects that appear on the screen
Reduce User Memory Load
Reduce demands on user's short-term memory
Establish meaningful defaults
Define intuitive short-cuts
Visual layout of user interface should be based on a familiar real world metaphor
Disclose information in a progressive fashion
Make Interface Consistent
Allow user to put the current task into a meaningful context
Maintain consistency across a family of applications
If past interaction models have created user expectations, do not make changes unless there is a good reason to do so
Usability Assessment by Observing Users
Is system usable without continual help of instruction?
Do rules of interaction help a knowledgeable user work efficiently?
Do interaction rules become more flexible as users become more knowledgeable?
Has system been tuned to the physical and social user environment?
Is the user aware of the state of the system?
Does the user know where he or she is at all times?
Is the interface structured in a logical and consistent manner?
Are interaction mechanisms, icons, and procedures consistent across the interface?
Does the interaction anticipate errors and help users correct them?
Is the interface tolerant of errors made?
Is the interaction simple?
User Interface Design Models
Design model (incorporates data, architectural, interface, and procedural representations of the software)
User model (end user profiles - novice, knowledgeable intermittent user, knowledgeable frequent users)
User's model or system perception (user's mental image of system)
Implementation model (look and feel of the interface and supporting media)
User Categories
Novices - have no syntactic knowledge of the system and little knowledge of the application or general computer usage
Knowledgeable intermittent users - have reasonable semantic knowledge of the application, but low recall of syntactic information necessary to use the interface
Knowledgeable frequent users - good semantic and syntactic knowledge of the application, look for interaction shortcuts
User Interface Design Process (Spiral Model)
User, task, and environment analysis and modeling
Interface design
Interface construction
Interface validation
Analysis of Physical Work Environment
Where will the interface be located physically?
Will the user be sitting, standing, or performing other tasks unrelated to the interface?
Does the interface hardware accommodate space, light, or noise constraints?
Are there special human factors considerations driven by environmental factors?
Validation Considerations
Does the interface implement every user task correctly, accommodate all task variations, and achieve all general user requirements?
To what degree is the user interface easy to use and easy to learn?
Do users' accept that the user interface as a useful tool in their daily work?
Interface Analysis Goals
Understand people who interact with system through the interface
Understand tasks end-users must perform to do their work
Understand the content presented as part of the interface
Understand the nature of the environment in which tasks will be performed
User Analysis Sources
User interviews - designers meet with end-users individually or in groups
Sales input - sales people help designers categorize users and better understand their needs
Marketing input - marketing analysis can help define market segments and help understand how each segment might use the software
Support input - support staff can provide good input what works and does not, what users like, what features generate questions, and what features are easy to use
Task Analysis and Modeling
Use-cases
What work will the user perform in specific circumstances?
Task elaboration
What tasks and subtasks will be performed as the user does the work?
Object elaboration
What specific problem domain objects will the user manipulate as work is performed?
Workflow analysis
What is the sequence of work tasks?
Hierarchical representation
What is the hierarchy of tasks?
Interface Layout and Content Review Questions
Are different types of data assigned to consistent geographical locations on the screen?
Can user customize screen locations of content?
Is proper on-screen identification assigned to all content?
How should large report be partitioned for ease of understanding?
Will mechanisms be available for moving directly to data summary information for large data collections?
Will graphical output be scaled to fit bounds of display device used?
How will color be used to enhance understanding?
How will error messages and warnings be displayed to the user?
Interface Design
Use the information developed during interface analysis to define interface objects and actions (operations)
Define events (user actions) that will cause the state of the user interface to change and model this behavior
Depict each interface state as it will appear to the end-user
Indicate how the user interprets the state of the system from information provided through the interface
User Interface Design Pattern Examples
Top-level navigation
Card stack
Fill-in-the-blanks
Sortable table
Bread crumbs
Edit-in-place
Simple search
Shopping cart
Progress indicator
Interface Design Issues
System response time - time between the point at which user initiates some control action and the time when the system responds
User help facilities - integrated, context sensitive help versus add-on help
Error handling - messages should be non-judgmental, describe problem precisely, and suggest valid solutions
Menu and command labeling - based on user vocabulary, simple grammar, and have consistent rules for abbreviation
Application accessibility - ensuring that interface design contains mechanisms for accommodating user with special needs (vision, hearing, mobility, speech, learning impairments)
Internationalization - interface accommodates needs of different locales and languages
User-Interface Development System Capabilities
Managing input devices
Validating user input
Error handling and displaying error messages
Providing feedback
Proving help and prompts
Handling windows and fields
Establishing connections between application software and interface
Insulating application from interface management functions
Allowing user to customize the interface
User Interface Evaluation Cycle
Preliminary design
Build first interface prototype
User evaluates interface
Evaluation studied by designer
Design modifications made
Build next prototype
If interface is not complete then go to step 3
User Interface Design Evaluation Criteria
Length and complexity of written interface specification provide an indication of amount of learning required by system users
Number of user tasks and the average number of actions per task provide an indication of interaction time and overall system efficiency
Number of tasks, actions, and system states in the design model provide an indication of the memory load required of system users
Interface style, help facilities, and error handling protocols provide a general indication of system complexity and the degree of acceptance by the users
To learn more about the book this website supports, please visit its Information Center.