2 Interface Design Easy to use? Easy to understand? Easy to learn?
3 Interface Design lack of consistency too much memorization no guidance / help no context sensitivity poor response arcane/unfriendly Typical Design Errors
4 Golden Rules Place the user in control Reduce the user’s memory load Make the interface consistent
5 Place the User in Control Define interaction modes in a way that does not force a user into unnecessary or undesired actions, e.g., spell checking Provide for flexible interaction, e.g., keyboard, mouse, voice, etc. Allow user interaction to be interruptible and undoable. Streamline interaction as skill levels advance and allow the interaction to be customized. Hide technical internals from the casual user. Design for direct interaction with objects that appear on the screen, e.g., WYSWSG
6 Reduce the User’s Memory Load Reduce demand on short-term memory, e.g., visual cues Establish meaningful defaults. Define shortcuts that are intuitive, e.g., Alt+P for print function The visual layout of the interface should be based on a real world metaphor, e.g., bill paying system Disclose information in a progressive fashion, i.e., organized hierarchically, e.g., underlining functions under a text style menu
7 Make the Interface Consistent Allow the user to put the current task into a meaningful context. provide indicator, e.g., window title, graphical icons Maintain consistency across a family of applications. If past interactive models have created user expectations, do not make changes unless there is a compelling reason to do so, e.g., Alt+S for saving a file
8 User Interface Design Models Four different models come into play User model — a profile of all end users of the system (by human engineers) Design model — a design realization of the user model (by software engineers) Mental model (system perception) — the user’s mental image of what the interface is in user’s mind (by end users) Implementation model — the interface “look and feel” coupled with supporting information (books, manuals, videotapes, etc) that describe interface syntax and semantics (by implementers) The role of interface designer is to reconcile these differences and derive a consistent representation
9 User Interface Design Process Four steps: Interface analysis Interface design Interface construction Interface validation Can be represented using a spiral model, usually incorporating with prototyping
10 Interface Analysis Interface analysis means understanding User analysis: understand the people (end-users) who will interact with the system through the interface; identity user categories Novices Knowledgeable, intermittent users Knowledgeable, frequent users Task analysis: understand the tasks that end-users must perform to do their work, Content analysis: understand the content to be displayed in the interface Environment analysis: understand the environment in which these tasks will be conducted. where, user’s gesture, constraints, etc.
11 Interface Analysis -- User Analysis Understand the users and learn what they wants User interviews Sales input Market input Support input
12 Set of Questions for User Analysis Are users trained professionals, technician, clerical, or manufacturing workers? What level of formal education does the average user have? Are the users capable of learning from written materials or have they expressed a desire for classroom training? Are users expert typists or keyboard phobic? What is the age range of the user community? Will the users be represented predominately by one gender? How are users compensated for the work they perform? Do users work normal office hours or do they work until the job is done? Is the software to be an integral part of the work users do or will it be used only occasionally? What is the primary spoken language among users? What are the consequences if a user makes a mistake using the system? Are users experts in the subject matter that is addressed by the system? Do users want to know about the technology the sits behind the interface?
13 Interface Analysis -- Task Analysis and Modeling Goal: Answers the following questions … What work will the user perform in specific circumstances? What tasks and subtasks will be performed as the user does the work? What specific problem domain objects will the user manipulate as work is performed? What is the sequence of work tasks—the workflow? What is the hierarchy of tasks?
14 Interface Analysis -- Task Analysis and Modeling (cont.) Analysis techniques Use-cases define basic interaction Ex. Computer-aided design system for interior design (see p. 367) Task elaboration refines interactive tasks Ex. Furniture layout, fabric and material selection, wall and window covering selection, presentation, costing, and shopping Object elaboration identifies interface objects (classes) Ex. Furniture class Workflow analysis defines how a work process is completed when several people (and roles) are involved Ex. Swimlane diagram for prescription refillingSwimlane diagram for prescription refilling Three categories of users: patient, pharmacists, physicians
16 Interface Analysis -- Analysis of Display Content Are different types of data assigned to consistent geographic locations on the screen (e.g., photos always appear in the upper right hand corner)? Can the user customize the screen location for content? Is proper on-screen identification assigned to all content? If a large report is to be presented, how should it be partitioned for ease of understanding? Will mechanisms be available for moving directly to summary information for large collections of data. Will graphical output be scaled to fit within the bounds of the display device that is used? How will color to be used to enhance understanding? How will error messages and warning be presented to the user?
17 Interface Design Steps Using information developed during interface analysis (Section 12.3), define interface objects and actions (operations). Written use-cases Identify nouns (objects) and verbs (actions) Define events (user actions) that will cause the state of the user interface to change. Model this behavior. Depict each interface state as it will actually look to the end-user. Indicate how the user interprets the state of the system from information provided through the interface.
18 Interface Design Steps--Example SafeHome system use-case I want to gain access to my SafeHome system from any remote location via the internet. Using browser software operating on my notebook computer (while I’m at work or traveling), I can determine the status of the alarm system; arm or disarm the system; reconfigure security zones; and view different rooms within the house via preinstalled video cameras. To access SafeHome from a remote location, I provide an identifier and a password. These define levels of access (e.g., all users may not be able to reconfigure the system) and provide security. Once validated, I can check the status of the system and change status by arming or disarming SafeHome. I can reconfigure the system by displaying a floor plan of the house, viewing each of the security sensors, displaying each currently configured zone, and modifying zones as required. I can view the interior of the house via strategically placed video cameras. I can pan and room each camera to provide different views of the interior.
19 Interface Design Steps—Example (cont.) Identify objects and actions Access the SafeHome system Enters an ID and password to allow remote access Checks system status Arms or disarms SafeHome system Displays floor plan and sensor locations Displays zones on floor plan Changes zones on floor plan Displays video camera locations on floor plan Selects video camera for viewing Views video images Pans or zooms the video camera