Human Machine Interface, HMI

Human Machine Interface(HMI) works as a medium of interaction between a machine and a human being. Human beings send instructions and resources using a mechanism for input and the machine responds through a mechanism designed for the purpose. Besides these, there are two other elements that control and influence this interaction. Since most of the interactions with machines are made using computers the Human Machine Interface(HMI) often becomes a Human Computer Interface. In the case of Human Computer Interface the above mentioned mechanisms become the hardware used to give input to or take output from the computer and the software used to control them.

      Human Machine Interface Block Diagram


A good HMI is one that is not only the one with the perfect design but the one that considers human well being and safety too. This goal of combining pesonal health without compromising performance is achieved with the help of ergonomists. The field of ergonomics considers several factors related to the machine, the human being who uses it and the task being performed to analyse whether the technology in use suits the individual. The use of ergonomic principles predates computers, industrial revolution and even renaisance with some of the classical civilisations employing them.

Designing an Interface

Due to vast computerisation human interface design involve extensive use of computer science techniques that eventually brings the focus into designing the graphical user interface(GUI). Thus the designing process relies heavily on the operating systems and programming languages used. Neverthless the design process goes through three essential stages - interaction specification, interface software specification and prototyping.

Interaction Specification

At this stage the user's interaction with the interface is studied. A good example is the application User Centered Design(UCD) techniques. In UCD, designers give extensive attention to what a user actually requires and what are the limitations he/she has for using the product or service to which the interface is designed. UCD designers start by making assumptions about the targetted user and come up with initial designs. These designs are put under real world tests and improvised based on the results. Real world tests become a very cruicial part of user centered designing. Another popular technique used at interaction specification stage is the use of personas. Designers create fictional characters to represent similar users from the data collected from real world users which are called personas. These personas help them in understanding the targetted user.

Interface Software Specification

At this stage every action of the user during his interaction with an interface is documented. It is done not only to ensure proper implementation of the interface but it ensures forward compatability of the design. A key process in implementing interface software specification is the creation of use cases. Use cases are used to list down the interaction of a user with the interface on a step by step basis. The use cases are used for implementing a design draft. A design draft briefly explains how the user interface helps the user to complete the various steps in the use cases. Finally, the design draft is used to write down the complete specification.


Prototyping is done using the technology of interactive design. While in the stages discussed above the attention was given to the user and purpose related matters the final stage of prototyping brings focus into the interface. The aim at this stage is to create a design that helps users to interact with the system better.

Human Interface Guidelines

Human Interface Guidelines(HIG) are documents that recommends ideal practices and techniques for software developers to be followed while they design interfaces. These guidelines are often based on the graphical user interface provided by an operating system or a desktop environment. The aim for documenting these guidelines is to ensure a user get an interface that is very easy to get used to and remains consistent. The human interface guidelines for the Gnome Desktop Environment is consodered as an example.

Gnome Human Interface Guidelines

Gnome Human Interface Guidelines is divided into three main sections – essentials, patterns and interface elements. Essentials are a set of general and introductory guidelines to the developers. These include introductory guidelines on design principles, how an application must behave, making applications compatible with previous versions of Gnome and general guidelines regarding artworks, styling and input methods. Patterns section introduces a designer to the basic elements called patterns that can be used in an inetrface. The latest Gnome Desktop Environment offers 12 patterns which are application menus, primary windows, header bars, headerbar menus, grids, lists, selection mode, search, view switchers, sidebar lists, dialogs, notifications and action bars. Some of the patterns that a designer can use in a gnome desktop are optional while a few like application menus and header bars are mandatory. The interface elements section describes user interface elements like buttons and menus.

Music – a sample application following Gnome HIG

The Music app or gnome-music is a gnome application that has completely integrated with the latest version of Gnome. It is a simple and elegant application for listening to a collection of music files. We will look at the various patterns and interface elements used in this application. The obvious pattern used in the application is the primary window that acts as a container. The mandatory elements like header bars and application menu are present. The header bar itself contains other patterns. It has a view switcher to go into three types of views listing collections by albums, artists and songs. Selection mode and search patterns are almost persistent with applications dealing with collections. Collections are either displayed using grid or lists patterns.

                  Patterns and Interface Elements in Music App

The Music app also uses some interface elements that are buttons, sliders and menus. Besides using buttons for the tradditional controls of a music application the app also makes use of suggestive and destructive buttons. These buttons are highlighted because they have important roles to play in any application. For example, a delete button is a destructive button clicking or touching on which results in removal of content. There is a slider and a menu also.