Human-Computer Interface (HCI), also known as User Interface or User Interface: It is the medium and interface for transmitting and exchanging information between humans and computers, and is an important component of a computer system. It realizes the conversion between the internal form of information and a form that humans can understand. HCI exists in any field involving human-computer information exchange.
Human-Computer Interaction (HCI) is the science that studies the design, evaluation, and implementation of interactive computing systems for human use, as well as the phenomena associated with these interactions.
Human-computer interaction and human-computer interface are two closely related but not entirely the same concepts.
The process of human-computer interface design
The design process of a human-computer interface can be divided into the following steps:
3.1 Creating an External Model of System Functionality: The design model primarily considers the software's data structure , overall structure, and procedural description. Interface design is generally secondary. Only by understanding the user's situation (including age, gender, psychological state, education level, personality, and ethnic background) can an effective user interface be designed. The user model is designed based on the end-user's hypothetical vision of the future system (referred to as the system hypothetical), ultimately ensuring it matches the system image (the external characteristics of the system) obtained after system implementation. Only then can users be satisfied with the system and use it effectively. When building the user model, the information provided by the system hypothetical must be fully considered; the system image must accurately reflect the system's syntax and semantic information. In short, only by understanding the user and the task can a good human-computer interface be designed.
3.2 Determine the tasks that humans and computers should respectively perform to complete the functions of this system.
There are two approaches to task analysis. One is to start from reality, analyzing existing application systems that are in a manual or semi-manual state and mapping them to a set of similar tasks to be performed on the human-computer interface; the other is to study the system's requirements specification and derive a set of user tasks that are consistent with the user model and system assumptions.
Techniques such as incremental refinement and object-oriented analysis are also applicable to task analysis. Incremental refinement can continuously divide a task into subtasks until the requirements of each task are very clear; while object-oriented analysis can identify all objective objects related to the application and the actions associated with those objects.
3.3 Consider typical problems in interface design
When designing any user interface, four aspects must generally be considered: system response time, user help mechanisms, error message handling, and command methods. Excessive system response time is the most frequent complaint from users in interactive systems. Besides the absolute length of the response time, users are also very concerned about the differences in response time between different commands; if the difference is too large, users will find it unacceptable. User help mechanisms should be integrated to avoid a layered system where users have to browse through a lot of irrelevant information to find a specific guide. Error and warning messages must use clear and accurate terminology, and should also provide suggestions for error recovery whenever possible. Furthermore, supplementing error messages with auditory (ringtone) and visual (dedicated color) stimuli will enhance the effect. The best command methods are a combination of menus and keyboard commands for users to choose from.
3.4 Constructing an Interface Prototype Using CASE Tools and Implementing the Design Model Once the software model is determined, a software prototype can be constructed. At this stage, only the user interface portion is present. This prototype is submitted to users for review, modified based on feedback, and then submitted to users for further review until it aligns with the user model and system assumptions. This is typically achieved using User Interface Toolkits or user interface development systems.