1 Human Computer Interaction – Lecture Notes Cambridge Computer Science Tripos, Part II Alan Blackwell Overview of content Lecture 1: The scope and challenges of HCI and Interaction Design. Lecture 2: Visual representation. Segmentation and variables of the display plane. Modes of correspondence Lecture 3: Text and gesture interaction. Evolution of interaction hardware. Measurement and assessment of novel methods. Lecture 4: Inference-based approaches. Bayesian strategies for data entry, and programming by example. Lecture 5: Augmented reality and tangible user interfaces. Machine vision, fiducial markers, paper interfaces, mixed reality. Lecture 6: Usability of programming languages. End-user programming, programming for children, cognitive dimensions of notations. Lecture 7: User-centred design research. Contextual observation, prototyping, think-aloud protocols, qualitative data in the design cycle. Lecture 8: Usability evaluation methods. Formative and summative methods. Empirical measures. Evaluation of part II projects.
2 Lecture 1: What is HCI / Interaction Design With the exception of some embedded software and operating system code, the success of a software product is determined by the humans who use the product. These notes present theoretical and practical approaches to making successful and usable software. A user- centred design process, as taught in earlier years of the tripos and experienced in many group design projects, provides a professional resource to creating software with functionality that users need. However, the availability of technical functionality does not guarantee that software will be practically usable. Software that is usable for its purpose is sometimes described by programmers as intuitive (easy to learn, easy to remember, easy to apply to new problems) or powerful (efficient, effective. These terms are vague and unscientific, but they point in the right direction. This course presents scientific approaches to making software that is intuitive and powerful. HCI helps us to understand why some software products are good and other software is bad. But sadly it is not a guaranteed formula for creating a successful product. In this sense it is like architecture or product design. Architects and product designers need a thorough technical grasp of the materials they work with, but the success of their work depends on the creative application of this technical knowledge. This creativity is a craft skill that is normally learned by working with a master designer in a studio, or from case studies of successful designs. A computer science course does not provide sufficient time for this kind of training in creative design, but it can provide the essential elements an understanding of the user’s needs, and an understanding of potential solutions. There are many different approaches to the study and design of user interfaces. This course attempts, so far as possible within 8 lectures, to discuss the important aspects of fields including Interaction Design, User Experience Design (UX), Interactive Systems Design, Cognitive Ergonomics, Man-Machine Interface (MMI), User Interface Design (UI), Human Factors, Cognitive Task Design, Information Architecture (IA, Software Product Design, Usability Engineering, User-Centred Design (UCD) and Computer Supported Collaborative Work (CSCW). These investigations require a wide range of academic styles, extending across all the parts of the University. Lack of familiarity with other kinds of investigation and analysis can make it hard to absorb or collaborate with other perspectives. The advantages of different disciplines can range from those that are interpretive to those that are scientific (both are necessary, the first criticized as soft and the second as reductionist, and each relying on different kinds of knowledge, with suspicion of those seen as relativist atone extreme or positivist at the other. In professional work, the most important attributes for HCI experts are to be both creative and practical, placing design at the centre of the field.