Self-service products such as automatic teller machines are becoming more complex as they support new services, are being used in new environments, and employ new technologies. End-users' expectations of self-service products also are being raised as they gain more experience with interactive technologies. This paper describes the cognitive engineering activities of self-service information technology, including end-user perceptions, performance, and satisfaction. Such issues as specifying usability at concept stages, integrating prototype evaluations, and incorporating design recommendations also are discussed. In addition, the paper presents practical methods to design self-service products, including heuristic usability evaluations, 'Wizard of Oz' investigations, and formal task-based evaluations. The paper also draws upon a number of usability studies conducted by self-service product and advanced technology developers.