Tidwell Course NotesCS 275 Page 1
Chapter 1: What Users Do
When designing software interfaces, we must ascertain who will be using the software and why they will be using it.
Example: Desktop Day CalendarDescription: Small, sits in corner
of desktop display, allows viewing of current day information onlyUsers: Anybody
Tidwell Course NotesCS 275 Page 2
More Calendar ExamplesExample: Daily PlannerDescription: Allow user to
mark planned meetings and notes to self
Users: Students, office workers, assistant producers
Example: Monthly PlannerDescription: Allow
user to enter month-long plans
Users: Project managers, team leaders, producers
Tidwell Course NotesCS 275 Page 3
Additional Calendar ExampleExample: Yearly
PlannerDescription: Allow user to view entire year and edit far-reaching plansUsers: Upper management, executive producers
Tidwell Course NotesCS 275 Page 4
Pattern #1: Safe ExplorationAllow users to explore an application without penalties
Example: In our “My TV Guide” application, users could return to a prior network and the entered data would be restored.
Execute
Tidwell Course NotesCS 275 Page 5
Pattern #2: Instant GratificationAvoid discouraging delays without feedback
Example: In this “County Demographics” application, users are given a progress indicator (and possibly a county-by-county screen refresh) to indicate that the statewide demographics are still being tabulated.
Execute
Tidwell Course NotesCS 275 Page 6
Pattern #3: SatisficingUse necessary & sufficient approach to labels, layouts, navigation, etc.Example: In this “Presidents” example, users are provided with the means to go forward and backward through the presidents, with additional choices provided only as they were needed.
Execute
Tidwell Course NotesCS 275 Page 7
Pattern #4: Changes in MidstreamAllow users to interrupt processes and/or choose
alternativesExample: In one variation of the “County Demographics” assignment, an Application.DoEvents() method is used to facilitate user interruption of a time-consuming statewide demographic display.
Execute
Tidwell Course NotesCS 275 Page 8
Pattern #5: Deferred ChoicesFor relatively unimportant information, allow users to
respond laterExample: In this “Meeting Scheduler” example, default values are inserted for some dates (e.g., today’s date for the current calendar, the next week for the range of possible meeting dates), allowing the user to alter them later if desired.
Execute
Tidwell Course NotesCS 275 Page 9
Pattern #6: Incremental ConstructionKeep users engaged in the “flow” of the application
Example: In the original version of the“County Demographics” application, the only visual feedback provided to users is the progress indicator; in the later version, a county-by-county fill also occurs.
Execute
Tidwell Course NotesCS 275 Page 10
Pattern #7: HabituationHandle similar events similarly in different (& the same) applicationsExample: Various Microsoft products (e.g., PowerPoint, Access, Word) use the same basic Paste menu (Paste, Paste Special, etc.).
Tidwell Course NotesCS 275 Page 11
Pattern #8: Spatial MemoryUsers tend to remember command locations, going there w/o readingExample: SIUE’s WebMail application has a link on the upper right of each e-mail folder’s display to return to that folder’s directory and an iconic link on the upper left to just go to the INBOX folder’s directory.
Tidwell Course NotesCS 275 Page 12
Pattern #9: Prospective MemoryProvide users with the ability to return to unfinished
work
Example: Notepad reminds the user that recent changes will be lost if they’re not saved.
Tidwell Course NotesCS 275 Page 13
Pattern #10: Streamlined RepetitionReduce the amount of repetitive, tedious activities the
user must doExample: Open File Dialogs and Save File Dialogs facilitate file access without forcing the user to search directories and folders for appropriate locations.
Tidwell Course NotesCS 275 Page 14
Pattern #11: Keyboard OnlyBy preference or physical limitation, some people won’t use a mouseExample: This “Periodic Table” example provided consecutive tab indexes so the user can utilize the tab key to cycle through the entire table of elements.
Execute
Tidwell Course NotesCS 275 Page 15
Pattern #12: Other People’s AdviceConsult with potential users and other designers for
interface feedbackExample: Our Human-Computer Interaction Laboratory in EB 3048 provides CS 321 students with the opportunity to have students examine and critique their applications.