This document discusses various aspects of human-computer interaction (HCI) and user interface design. It begins by defining HCI and its goals of making systems useful, usable and satisfying to users. It then discusses why good UI design is important, covering both explicit and implicit forms of interaction. The document outlines challenges in areas like ubiquitous access and personalized spaces. It analyzes interfaces for different devices like PCs, mobile phones, games consoles and remote controls. It also covers multimodal interaction, gestures, wearable and implanted devices. Finally, it briefly introduces the human-centered design process.