Chapter 11 - Designing and Implementing a User Interface
- User Interface Design Objectives
- User Understanding of alternatives and choices
- User Understanding of input requirements and output content
- User error prevention, reduction, and recovery
- Efficient system use
- User Interface Design
- User Interface and the System User Mental Model
- User model - how the user things the system works
- Design model - how the designer thinks the system should work
- results in a System image
- User Interface Design Guidelines: Ben Shneiderman's 8 "golden riles" for user interface design
- strive for consistentcy
- enable frequent users to use shortcuts
- offer informative feedback
- design dialogs to yield closure
- offer simple error handling
- permit easy reversal of actions
- support user-centered interaction
- reduce short-term memory load
- Different Interface Designs for Different Users
- novice or new system user
- provide a small set of alternatives or choices for each action
- provide easily accessible help
- provide built-in training and tutorials
- knowledgeable intermittent user
- present choices in a "recognition" mode
- provide accessible but condensed help
- protect user from "dangerous" activities
- frequent or "power" user
- provide limited feedback
- provide frequent shortcuts
- Types of User Interfaces
- Command-based Interface
- use commands as alternative shortcuts for menu and direct manipulation interfaces
- limit the set of commands
- select command names that fit the task and the user's mental model
- Menu Selection Interface
- simple list or row of options
- drop-down menu
- hierarchy of menus
- layered menu
- pop-up menu
- design the semantics of the menus based on the user task and task sequences
- select among various possible alternative menu structures
- design or sketch menus and review them before implementation
- Direct Manipulation Interfaces
- menus
- hot-keys
- icons
- Data Input Interfaces (input forms)
- define the required data structures (source and result)
- define the sequence of user activities
- identify and document all validation rules
- define rules for referential validation
- sketch the boundaries of the form and arrange the necessary input fields to match the sequence in which items are received for entry or are normally entered
- add menu choices or other command elements
- adopt or design a standard way of presenting messages to the user
- Reports
- detail report
- summary report
- comparison report
- Help Facilities
- provide user or usage-oriented indexes
- match the help system's capabilities to the intended users
- employ help construction software if available
- Creating Graphical User Interfaces
- The Event-driven Object Model and User Interfaces - software used to design and implement a GUI should have:
- a "toolbox" of objects
- ways to add objects to the toolbox
- object size and placement tools
- support for prpoerty settings
- linking of contents (and other properties) among objects
- linking of properties to data
- support for method creation
- The Event-driven Design Process
- decide on the set of screen objects that will accept the inputs, present the choices, and display the results
- for each screen object in the list, decide what properties should differ from the default settings
- make a separate list of events that each object must respond to (screen object events)
- define in pseudocode form the actions or procedures the computer should perform in response to each screen object event
- lay out the screen
- Software Development Environments
- User Interface Design Tools
- Code Development Tools
- create structure for a program module
- create skeleton program structures
- detect syntax errors "on the fly"
- provide menus and help with commands and functions to use in the program
- provide templates and examples showing usage and supporting copying of commonly used code structures
- Program Libraries (reusability)
- Testing and Debugging Support Tools
- immediate execution
- monitoring (watches)
- breakpoints
- step execution
- Version Control and Documentation Support Facilities