Presentation on theme: "Introduction User Patterns September 4 th, 2009. User Patterns in Software Safe Exploration Instant Gratification Satisficing Changes in Midstream Deferred."— Presentation transcript:
User Patterns in Software Safe Exploration Instant Gratification Satisficing Changes in Midstream Deferred Choices Incremental Construction Habituation Spatial Memory Prospective Memory Streamlined Repetition Keyboard Only Other Peoples Advice
Safe Exploration “Let me explore without getting lost or getting into trouble” If user feels they can explore and interface without dire consequences they are likely to learn more. The consequences can be as minor as an annoyance (Dismissing popups, re-entering data, loud sounds, etc) Good software allows people to try something unfamiliar, back out, and try something else – with ease. Examples?
Instant Gratification “I want to accomplish something now, not later” Human nature is to expect immediate results from actions Good software may allow a user to get a quick “success experience” within the first few seconds. The will more likely to keep using it and learn more – even if it gets harder. Examples?
Satisficing “This is good enough. I don’t want to spend more time learning to do it better.” Users do not methodical inspect a new user interface, they scan and try – trial and error. Satisficing = Satisfying + Sufficing People are willing to accept good enough instead of the best if the learning cost is lower. Considerations ◦ Short, Concise labels ◦ Use the layout to communicate meaning ◦ Safe Exploration ◦ Visually complicated = Large Cognitive load Examples?
Changes in Midstream “I changed my mind about what I was doing” Don’t look users into a specific path, global navigation is typically a good thing Exceptions? Reentrance Examples?
Deferred Choices “I don’t want to answer that now, just let me finish” Originates from a desire for instant gratification. A user don’t want to be annoyed with a “meaningless” question when they are trying to accomplish a task Considerations: ◦ Avoid many upfront choices/questions ◦ Clearly mark required fields ◦ Basic and Advanced options ◦ Good Defaults ◦ Allow returning to deferred items later Examples?
Incremental Construction “Let me change this. That doesn’t look right; let me change it again” People don’t often create things all at once, especially if it’s complex Make it easy to build small pieces Make the interface responsive to quick changes Constant Feedback loop Good tools allow natural flow, Bad tools distract Examples?
Habituation “That gesture works everywhere else, why doesn’t it work here too?” Frequently used physical actions become reflexive Great for power users, becomes mindless Consistency across applications is paramount! Consider default actions on items that can be dismissed, what though process are you causing? Examples?
Spatial Memory “I swear that button was here a minute ago… Where did it go?” People more often remember (conceptualize) the location of commands by location rather than by name Consider that desktop, My Documents, etc Consistency! Add Features – Don’t rearrange Configurable interfaces Examples?
Prospective Memory “I’m putting this here to remind myself to deal with it later” We arrange our lives/activities/actions to help us plan for things in the future Calendar, Sticky Notes, etc What type of artifacts should you support if any? Don’t over engineer this concept Examples?
Streamlined Repetition “I have to repeat this how many times???” Narrow repetition down to one keystroke per action, or group of actions Find and Replace is a great example of both Can you allow this to be configured? Examples?
Keyboard Only “Please don’t make me user the mouse” Some users like the mouse Some user don’t like switching Some users don’t like the mouse at all Standard Techniques: ◦ Shortcuts, Accelerators ◦ Selection from lists (Arrow, shift keys) ◦ Tab key for navigation ◦ Boolean changes through Return/Space ◦ Default button with focus
Other People’s Advice “What did someone else say about this?” Social cultures = Influenced by our peers Amazon – User comments Ebay – Prices Search Engines Programming Contests Does this make sense for your application? Other Examples?