200 likes | 436 Views
CS294 Software Engineering Software Usability. Contextual Design Hugh Beyer and Karen Holtzblatt Psychology of Everyday Things Don Norman. Jason I. Hong. Contextual Design Overview. How to create useful, usable, and desirable software for end-users? Recurring themes in Contextual Design
E N D
CS294 Software EngineeringSoftware Usability Contextual Design Hugh Beyer and Karen HoltzblattPsychology of Everyday Things Don Norman Jason I. Hong
Contextual Design Overview • How to create useful, usable, and desirable software for end-users? • Recurring themes in Contextual Design • Try to understand entire context of customers • Base decisions on observations of work practices • Get continual feedback from customers • Get entire team involved • programmers, marketing, QA, and customers
Contextual Design Contextual Inquiry • “Ethnographically-inspired” field studies • Go out and observewith several actual customers at their workplace (Master-apprentice model) • Customers not necessarily same as clients • Main goal is to understand Where, How, and What to expose the Why • Say they want drills, really want holes • Three secondary goals: • Avoid designer bias • Provide concrete data • Get entire team on same page
Contextual Design Questions about Contextual Inquiry • How well does this technique work? • Bang for buck compared to other techniques? • What kinds of info does it capture? Drawbacks? • How much does it depend on the interviewers and interviewees selected? • Scale? How many customers to observe? • Ex. MSWord vs custom app for small company • What tools would be useful here? • Most of the tools we’ve examined focus on software dev rather than requirements
Contextual DesignAffinity Diagrams • Goal is to organize the information collected from Contextual Inquiry field studies • Entire design team uses Post-its and large spaces to spatially organize ideas
Contextual DesignSome Questions on Affinity Diagrams • How reliable is this technique? • Does it capture the results of contextual inquiry well? • How often will you usually get the same diagram? • or is it really that important, ie process vs artifact? • Are there better ways of organizing the info? • What kinds of tools? • Little computer support here
Contextual DesignQuestions on Paper Prototyping • Bang for buck • Gauging “improvement” in software quality? • i.e. convincing engineers and management • How many times to do paper prototyping? • How dependent is it on skills of design team? • Why not just put the software out there? • “Release early and release often” • Tools for improving software prototyping? • Again, most tools here are carbon-based
Questions on Contextual Design • How does Contextual Design compare? • Does it work? If so, how well vs other processes? • Resolving conflicts with other processes • Marketing-driven requirements • XP focuses on the Source Code • Open Source + Contextual Design? • New software changes nature of work practices • A Heisenberg effect for software • If Contextual Design is good and works, how to encourage it within our engineering culture?
Psychology of Everyday ThingsOverview • Author bio • Founding chair of CogSci at UCSD • VP Apple and HP • Currently Prof at Northwestern • Any favorite stories? • Horror stories or good stories? • From book or personal?
Psychology of Everyday ThingsOverview • Conceptual Models and Visibility • Crosscutting principles • Affordances • Feedback • Mappings • Constraints • Errors • Convention
Psychology of Everyday ThingsOverall Questions (1/2) • Problems descriptive of software? • What’s different about software vs physical artifacts? • Higher barriers to entry with “invisible” s/w and chips? • Do these design principles apply to software? • If so, how? • Better tools? • Often have to explicitly design these principles in • little support for designers to do the “right thing” • How to make it easy to create good Conceptual Models? Mappings? Affordances? • Most tools and CS classes are text-oriented • Big step jumping from text to graphics and sound
Psychology of Everyday ThingsOverall Questions (2/2) • Are these problems also cultural? • Design community focuses on novelty and aesthetics • Software community rewards code and hackworthiness • ex. Slashdot, RTFM, Unix • Little acclaim or excitement for usability and simplicity • Market doesn't always reward good designs • How can we change our tools, processes, language, and culture to focus on and match end-user needs? • Do we need to? Done pretty well so far, haven't we? • Better multidisciplinary education for undergrads? • Can we bridge Interaction Design and Software Eng?