Any product—whether a website, a technological system, or an electronically mediated service—benefits from
evaluation before, during, and after the development cycle. Too often, the people who use a product cannot find
what they want or accomplish what they need to do. Products are more successful when they are developed through
a process that identifies how the products will be used, elicits input from potential users, and watches how the
products function in real time with real users. This course provides a hands-on introduction to methods used
throughout the entire evaluation process—from identifying the goals of the product, picturing who will use it,
engaging users through a variety of formative evaluation techniques, and confirming a product’s function through
usability testing and summative evaluation. Specific methods include personas and scenarios, competitive analysis,
observation, surveys, interviews, data analysis, heuristic evaluation, usability testing, and task analysis. Students
will work on group projects that apply these techniques to real products in use or development.
Goals of the Course
In this course, you will learn how to evaluate interactive software products—focusing on social computing services
—through hands-on experience with a range of methods and design issues, including: Comparison of the features
and usability of your system with the competition (competitive analysis) In-depth analysis of user needs
(observation and ethnographic methods) Asking users about their opinions and experiences (interviews and surveys)
Embodying a set of target users and what they would want to do with the system (personas and scenarios) Using
checklists and “heuristics” to evaluate the system from several points of view (heuristic evaluation, cognitive
walkthroughs, card sorting) Doing user testing of typical tasks on the system (usability testing) Improving details of
the user interface (design considerations) Monitoring and testing the design of a system after release to the public
(experiments, log analysis) Working with a larger development team (real world issues) This course integrates
learning and doing. I will give you background on the methods (through reading), teach the methods (in class), have
you try them out (in class or on your own), and you will apply these techniques to practice projects with your
classmates. For many of the methods, you will turn in a report styled like the ones given directly to developers. This
way you learn to write the reports in a way that is most useful in your future career. As you learn about these
methods, you will have opportunities to reflect on the appropriate circumstances for using each of them.