Human -Computer Interaction ( HMI ), also known as a user interface or interface, is the medium and dialogue interface for the transmission and exchange of information between humans and computers, and is an important component of computer systems. It serves as the medium for interaction and information exchange between the system and the user, realizing the conversion between the internal form of information and a human-readable form. HMIs exist in all fields involving human-computer information exchange.
The human-machine interface (HMI) refers to the area where humans and machines interact or influence each other in terms of information exchange and functionality; it is also known as the human-machine interface. Information exchange, functional contact, or mutual influence refers to both physical and psychological contact between humans and machines. This interface includes not only direct contact at points, lines, and surfaces, but also the operational space for long-distance information transmission and control. The human-machine interface is a central link in a human-machine system, primarily studied and addressed by the branch of safety engineering, specifically safety ergonomics. Safety ergonomics, through its subfields of safety engineering, studies specific solutions and measures. It facilitates the conversion between the internal form of information and a form acceptable to humans. Human-machine interfaces exist in all areas involving human-machine information exchange. Widely used in industry and commerce, human-machine interfaces (HMIs) can be simply divided into two types: " input " and "output " . Input refers to the operation of machinery or equipment by humans, such as handles, switches, doors, issuing instructions (commands), or maintenance. Output refers to the notifications issued by machinery or equipment, such as faults, warnings, and operating instructions. A good HMI helps users operate machinery more easily, correctly, and quickly, and also enables machinery to achieve maximum efficiency and extend its service life. However, the HMI referred to in the market is often narrowly defined as a user-friendly software interface.
Influenced by traditional views, human-computer interfaces (HCIs) were long neglected by software developers, who considered them a low-level activity solely for user enjoyment, devoid of any practical value. The sole criterion for evaluating application software quality was its powerful functionality and ability to smoothly assist users in completing their tasks. In recent years, however, with the rapid development of computer hardware technology, significant improvements have been made in technical performance indicators such as storage capacity, operating speed, and reliability, while production costs have plummeted, leading to the increasing prevalence of personal computers. The new generation of computer users has placed higher demands on application software in terms of operability and ease of use. Beyond expecting powerful functionality, they also desire applications that provide a relaxed, enjoyable, and comfortable operating environment. This indicates that the quality of HCIs has become a major issue, and user-friendly HCI design has become a crucial component of application software development.
1. Style Analysis of Human-Computer Interface
The style of the human-computer interface referred to here refers to the methods of controlling input on the user interface of a computer system, which have roughly evolved through four generations:
1.1 Command Language: Before the advent of technologies such as graphical displays, mice, and high-speed workstations, the only feasible interface methods were commands and queries. Communication was entirely in text format, completed through user commands and responses to system queries. This method was flexible and allowed users to exercise their creativity, offering high efficiency for skilled users. However, it was demanding for general users, prone to errors, unfriendly, and difficult to learn, with relatively weak error handling capabilities.
1.2 Menu Options: Compared to the command-line method, this approach is less prone to errors, significantly shortens user training time, reduces keystrokes, and allows for the use of dialogue management tools, resulting in a marked improvement in error handling capabilities. However, it remains tedious to use, potentially leading to excessive menu levels and complex options that require step-by-step selection, making the interaction too slow.
1.3 Window-Oriented Point-and-Click Interface: This type of interface, also known as a WIMP interface, integrates windows , icons , menus , and pointing devices into a single desktop . This approach allows for the simultaneous display of different types of information, enabling users to switch between several work environments without losing connection between them. Users can easily perform control-oriented and dialogic tasks via drop-down menus. The introduction of icons, buttons, and scrollbars significantly reduces keyboard input, undoubtedly improving interaction efficiency for users who are not proficient in typing.
1.4 Natural Language: Natural language is used to communicate with application software, combining third-generation interface technology with hypertext and multitasking concepts, enabling users to perform multiple tasks simultaneously ( from the user's perspective ) .
With the further development of text, graphics, and speech recognition and input technologies, and the further development of multimedia technology in the field of human-computer interface development, natural language-style human-computer interfaces will be rapidly developed and eventually become practical.
2. Design principles of human-computer interface
The quality of human-computer interface (HCI) design is directly related to the designer's experience. Some principles apply to almost all good HCI designs, and can generally be considered from aspects such as interactivity, information, display, and data input:
Principle 1 : Within the same user interface, all menu selections, command inputs, data display, and other functions should maintain a consistent style. A consistent style in a human-computer interface creates a simple and harmonious aesthetic. Principle 2 : For all actions that may cause harm, insist on user confirmation, such as asking "Are you sure... ? " Allow undoing for most actions and be tolerant of user errors. Principle 3 : The user interface should respond promptly to user decisions, improving the efficiency of dialogue, movement, and thinking, minimizing keystrokes, shortening mouse movement distance, and avoiding user confusion. Principle 4 : The human-computer interface should provide a context-sensitive help system, allowing users to obtain assistance promptly, and using short verbs and verb phrases to prompt commands. Principle 5 : Divide and use the display screen rationally and efficiently. Display only context-sensitive information, allowing users to maintain the visual environment (e.g., zoom in/out on images); separate different types of information using windows, display only meaningful error messages, and avoid frustrating users with overly complex data. Principle 6 : Ensure consistency between information display and data input methods, minimize user input actions, hide commands that are not available in the current state, allow users to choose their own input methods, delete meaningless input, and allow users to control the interaction process.
The principles mentioned above are the most basic principles that should be followed in human-computer interface design. In addition, there are many other design principles that should be considered, such as how to use colors correctly.
3. 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 ( 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 Interface Prototypes with 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 review again until it aligns with the user model and system assumptions. Generally, ready-made modules or objects provided by User Interface Toolkits or User Interface Development Systems can be used to create various basic interface components.
Evaluation of 4-person computer interface design
There is currently no unified standard for evaluating the quality of a human-computer interface (HCI) design. Generally, the evaluation can be considered from the following main aspects: (1) user satisfaction with the HCI; (2) the degree of standardization of the HCI; (3) the adaptability and coordination of the HCI; (4) the application conditions of the HCI; and (5) the performance-price ratio of the HCI.
Currently, people are accustomed to using the abstract concept of "interface friendliness" to evaluate the quality of a human-computer interface. However, it is probably impossible for anyone to define a precise line between "interface friendliness" and "interface unfriendliness". It is generally believed that a friendly human-computer interface should have at least the following characteristics: (1) simple operation, easy to learn and master; (2) beautiful interface and comfortable operation; (3) fast response and reasonable response; (4) colloquial language and consistent meaning.
It should be noted that the quality of a user interface design is ultimately determined by the users, because software is for users to use, and the users of the software are the ones with the most say.