CS295J/Proposal intros from class 9
Collaborative
Existing guidelines for designing human computer interfaces are based on experience, intuition and introspection. Because there is no common theoretical foundation, many sets of guidelines have emerged and there is no way to compare or unify them. We propose to develop a theoretical foundation for interface design by drawing on recent advances in cognitive science, the study of how people think, perceive and interact with the world. We will distill a broad range of principles and computational models of cognition that are relevant to interface design and use them to compare and unify existing guidelines. Where possible we will use computational models to enable richer automatic interface assessment than is currently available.
A large part of our project will be to broaden the range of cognitive theories that are used in HCI design. Only a few low level theories of perception and action, such as Fitts's law, have garnered general acceptance in the HCI community because they are simple, make quantitative predictions and apply without modification to a broad range of tasks and interfaces. Our aim is to produce similar predictive models that apply to higher levels of cognition, including higher-level vision, learning, memory, attention and task management.
Much of our work will focus on how cognitive principles can enable interface design to go beyond the focus of the functionality of the individual application. Much research has accumulated regarding how people manage multiple tasks and we will apply it to principles of how an interface should be designed with not only its own purpose in mind but such that it both helps maintain focus in a multi-tasking environment and minimizes the cost of switching to other tasks or applications in the same working sphere. The newer approach of distributed cognition also provides a different perspective by examining the human-computer system as a unified cognitive entity. We will extract and test principles from this literature on how to ensure that the human part of the system is only responsible for those parts of the task for which it is more capable than the computer.