Human-machine interface is the part of the machine that handles the Human-machine interaction. Membrane Switches, Rubber Keypads and Touchscreens are examples of that part of the Human Machine Interface which we can see and touch.
In complex systems, the human-machine interface is typically computerized. The term Human-computer interface refers to this kind of systems.
The engineering of the human-machine interfaces is by considering ergonomics (Human Factors). The corresponding disciplines are Human Factors Engineering (HFE) and Usability Engineering (UE), which is part of Systems Engineering.
Tools used for incorporating the human factors in the interface design are developed based on knowledge of computer science, such as computer graphics, operating systems, programming languages. Nowadays, we use the expression Graphical User Interface for Human-Machine Interface on computers, as nearly all of them are now using graphics.
Primary methods used in the interface design include prototyping and simulation.
Typical human-machine interface design consists of the following stages: interaction specification, interface software specification and prototyping:
- Common practices for interaction specification include user-centered design, persona, activity-oriented design, scenario-based design, resiliency design.
- Common practices for interface software specification include use cases, constrain enforcement by interaction protocols (intended to avoid use errors).
- Common practices for prototyping are based on interactive design based on libraries of interface elements (controls, decoration, etc.).