290 likes | 380 Views
Introduction. September 2 nd , 2009. Why do people interact with or use Software?. Accomplish a Task Make Life Easier or More Efficient Entertainment A Means to and End. A Means to an End. Find some fact or object Learn something Perform a transaction Control or Monitor something
E N D
Introduction September 2nd, 2009
Why do people interact with or use Software? • Accomplish a Task • Make Life Easier or More Efficient • Entertainment • A Means to and End
A Means to an End • Find some fact or object • Learn something • Perform a transaction • Control or Monitor something • Create something • Converse with other people • Entertainment
Designing a Good User Interface • Step #1: Understand your users • What are they like/personality characteristics? • Why do they use your software? • How with they interact with your software? • “Software in a means to an end for the people who use it. The better you satisfy those end, the happier those users with be.”
Primary Task of a UI Designer • Script/Design/Design the terms of an user’s interaction with the software • Your considerations: • What are the user’s motives and intentions? • What words, icons, gestures does the user expect to use? • How can the application set appropriate expectations for the user? • Finally, how do the user and machine end up communicating meaning to each other? • Again, to answer these questions correctly, you must understand your user
Example: Email Client • Why does a user use an email client? • To send/receive email. • Why does the user email? • To engage in conversation. • Could this be meet by other means? • What other requirements exist? • Archiving • Privacy • Culture • Others?
Example: Job Website • Why does a user use a job website? • An individual wants to find a job • An employer wants to post a job/monitor job postings • Requirements for a job seeker? • Requirements for an employer?
Example: Pro Sports Team Site • What does a user go to this site? • Team Information (Roster, Bio’s, Stats, etc) • Game Times • Purchase Tickets • Purchase Memorabilia • View Highlights • Requirements? • How do the user base and site goals conflict/differ?
User Research • Empirical Data • Target Audiences (Narrow or General) • Target Groups (Which demographics to target) • Summary • Audience: Who you want to use the software • User Groups: Which types of groups can those users be categorized into
Understanding Your Users • Their goals in using the software you design • The tasks they undertake in pursuit of those goals • The vocabulary and gestures they user to describe what they are doing • Their general computer skills • Their skill in using similar software • Their attitude towards what you are designing • Cultural or Language specific aspects • Appreciation of Visual Appeal vs. Functionality
How to Gain this Understanding • Time and Money • User Research Methodologies • Direct Observation • Case Studies • Surveys • Personas
User Research: Direct Observation • Interviews (phone/live meeting or on site) • Structured or Freeform • Strictly gather requirements or demo and received feedback • Pros? • Cons?
User Research: Case Studies • Deep, detailed views into a small number of users or user groups (Typically ~5) • Grouped by some demographic (often expertise) • Longitudinal Studies • Pros? • Cons?
User Research: Surveys • Typically email or software driven, occasionally written • Statistical Significance • Survey Design (Avoid Bias) • Pros? • Cons?
User Research: Personas • Data utilization, not data gathering • Technique Models the target audiences through fictional characters • What they are trying to accomplish • Final Goals • Experience level in the subject domain • Helps the design thinking process • Pros? • Cons?
User Research for a Software Organization • User research is a marketing activity • Marketing user research goals != designer user research goals • Marketing wants to understand the buyer • Designer/Developer wants to understand the user • Its typically up to someone on the technical side of things to understand both audiences and exploit the differences
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?