Human-computer interaction (HCI) is the study of how humans interact with computers through the design of interfaces, and how interface design affects human interaction. The goal of HCI is to create interfaces that allow effective, efficient and satisfying human use of computer systems. HCI considers the human, computer and their interaction, including input and output devices, processing capabilities and limitations, human memory and cognition, and the joint performance of tasks. Physical factors like vision, hearing and touch also influence interface design.