140 likes | 252 Views
Introduction User Patterns. September 4 th , 2009. 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
E N D
IntroductionUser Patterns September 4th, 2009
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?