CS294 Software Engineering Software Usability Contextual Design Hugh Beyer and Karen Holtzblatt Psychology of Everyday Things Don Norman Make it easier to create these apps? Contributions + validation? Focus on privacy Understand model Better design of applications Certain features (evolvability) 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 Focus on customers throughout, not just at end May 06 2002
Contextual Design Contextual Inquiry “Ethnographically-inspired” field studies Go out and observe with 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 May 06 2002
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 May 06 2002
Contextual Design Affinity 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 May 06 2002
Contextual Design Affinity Diagrams May 06 2002
Contextual Design Affinity Diagrams May 06 2002
Contextual Design Some 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 May 06 2002
Contextual Design Paper Prototyping May 06 2002
Contextual Design Paper Prototyping May 06 2002
Contextual Design Paper Prototyping May 06 2002
Contextual Design Questions 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 May 06 2002
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? May 06 2002
Psychology of Everyday Things Overview 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? My horror story is remote control for video projector in the classroom No affordance for the hidden flap in the remote Little feedback as to whether it worked or not (a little blinking light) Easier to point out horror stories b/c good designs are invisible May 06 2002
Psychology of Everyday Things Overview Conceptual Models and Visibility Crosscutting principles Affordances Feedback Mappings Constraints Errors Convention Some elements of Distributed Cognition Traditional cognition looks at individuals In DCog, “knowledge” also in processes and physical world These are all "low-level" examples of principles How to make this work consistently and coherently on a larger-scale? May 06 2002
Psychology of Everyday Things Overall 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 Lower-level support for these? Programming languages? (mostly text-based) Systems? Multimodal? Wireless? Ubicomp? May 06 2002
Psychology of Everyday Things Overall 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? May 06 2002