Types of user interface
Communication between a user and a computer is two-way. One of the jobs of the operating system is to provide a 'user interface', so that a human can communicate with the hardware that makes up a computer. When you buy a piece of software, it too will have a user interface, so that you can access and use the software. A user will give data and instructions to a computer and a computer will give information back to a user. The way that a computer and a user communicate is known as the interface. There are alternative terms to describe this. Another common term is the Human-Computer Interface, also known as the HCI. If you are going to describe the interface fully, you need to talk about the input devices, the software interface and the output devices. In this section, we will concentrate on the nature of the software interface. We will describe the different types of software interface that you might find as part of an operating system and identify their characteristics.
There are five different types of interface that might come with an operating system. These are:
- Graphical User Interfaces (GUI)
- Command Line Interfaces (CLI)
- Form-based interfaces
- Menu-based interfaces
- Natural language interfaces.
We can summarise the five types of interface using a diagram.
Graphical User Interfaces (GUI)
Interfaces that are graphical in nature are known either as Graphical User Interfaces (GUI) or WIMP interfaces (Windows, Icons, Menus and Pointer). Typically, you would expect these types of interfaces to be available in multi-tasking environments (where you open and use more than one piece of software at a time) or in applications software that involve a considerable degree of complexity. You will all have used a GUI hundreds of times, when you used Windows, or Word, or a Star Office application, or Paint in primary school, or Explorer or FireFox to surf the web and so on. Each of these applications has its own window that it opens up into, and you can open up more than one window (and therefore more than one application) at a time. Only one application is 'active' at any one time. In Windows, you know which one is active because the active window has a bright blue bar at the top of the window, as opposed to a dimmed blue bar. There are also icons you can click on for fast access to the tools in the application. There are drop-down menus that ensure you don't have hundreds of options constantly on display, taking up room on the screen. The pointer is usually a mouse or a finger on touchscreens although graphic designers and engineers often prefer to use a tablet and stylus for pointing. A mouse or tablet / stylus combination ensures that you can make selections quickly rather than having to use a keyboard, which is slower and prone to mistakes.
To summarise, you would typically expect to find the following in a GUI or WIMP user interface:
- A 'window' for each open application. Many windows can be open at the same time but only one window can be active at any one time. There may be some way of indicating which one is active (perhaps by making the bar at the top of the active window bright blue).
- Menus and icons. Available functions can be selected in one of two ways, either by using pop-up menus or drop-down menus, or by clicking on 'icons'. An icon is simply a small picture that represents a specific function - clicking on it selects that function.
- A pointing device, to make selections. It is typically a mouse, a graphics tablet and pen or a finger on touchscreens. The use of a keyboard to navigate through the application is minimised because it is a relatively time-consuming way of working.
Companies who make different applications usually try to keep a common 'feel' to the interface in each application. This helps users who are familiar with one application to quickly pick up a new application designed by the same company. When you learnt Excel, for example, you didn't have to learn how to open, close and save a file, how to insert a picture, change the font and so on because you were probably already familiar with Word; both Excel and Word are made by the same company, Microsoft.
Command line interface
A command line interface requires a user to type in commands from a list of allowable commands. Suppose you want to back-up a file called donkey.doc to a folder (directory) called animals on your floppy disk. In a GUI, you would open your file manager, click on the file you want to save and drag it to the folder called animals on the floppy disk. Anyone can do that! If you wanted to do the equivalent in DOS, for example, which has a command line interface, you would have to know how to construct the command to copy a file from one place to another. You would have to type: C:\> copy donkey.doc a:\animals
This type of interface can take a long time to learn and is not intuitive. For inexperienced users it can be a frustrating type of interface whilst for experienced users it can be very powerful. This is because command line interfaces provide commands that can get a user very close to the workings of the components of a computer system. There are commands that can manipulate the hardware and software in a computer system in a way that simply cannot be done using a GUI. Indeed, there are tasks where you have to use a command line interface to carry them out. UNIX and DOS are good examples of operating systems that use this kind of interface.
Typical users of command line interfaces are technicians and network managers. They need to perform many set-up tasks and system tasks. These tasks can only be done using this type of interface.
Some operating systems are designed for businesses where employees have to enter in lots of information. Just for a moment consider a paper-based form that you are asked to fill in, perhaps for the membership of a club or an application for a driving licence. What you have to write down is highly directed. There are instructions to help you, boxes where you write or select information from some choices and boxes where you simply tick one of a selection. A form-based software interface on a computer is similar to a paper-based 'interface'. The input into the computer is predictable. If you used a range of form-based interfaces, you would start to see a number of common characteristics.
- There are field names, names next to a place where information must be entered. The places where information should be entered in by the operator are known as 'response fields'.
- Other types of response fields include radio buttons and drop-down selectors.
- The cursor 'tabs' automatically from one response field to the next. This guides the user logically through the form, ensuring that all the information needed is gathered.
- As data is entered, it is 'validated'. Validation attempts to ensure that only sensible data is entered into the system and data that is not sensible is rejected. Validation helps ensure that data entered into any system maintains its 'consistency'. This means that any data stored is only of the format expected in a particular field. Data can be validated using a range of methods. (These are discussed in more detail later in this chapter). The methods include: A range check.
- A character length check.
- A data input mask.
- A presence check.
- Getting the user to select from a list using combo boxes or look-up tables.
- Using check digits.
- Input can be changed/cancelled if necessary.
- Data is finally entered into the system only when an 'OK' button, ENTER or something similar is pressed.
- There is some kind of HELP facility.
- Some options are not displayed on the main screen, to avoid cluttering up the form. Access to less commonly needed facilities is via a selection button that links to a separate screen.
Form-based interfaces are very suitable for any application that involves entering predictable pieces of information into the computer. Examples include
- Someone taking telephone orders for a product such as a CD.
- Someone recording responses to questions in a telephone questionnaire.
- Someone entering in details of people who want to apply for a credit card.
- Someone applying to join a club or open a free email account on the Internet.
- Someone who is buying something online.
All of these activities might be done with the aid of a form-based interface. This is because the same, predictable information will be asked for by the operator or by the web-based organisation over and over again for each order or questionnaire or application. Here is an example of a form-based interface.
Some operating systems are designed with a menu-based user interface. Menu-based user interfaces are ideal for situations where the user's IT skills cannot be guaranteed or in situations which require selections to be made from a very wide range of options or in situations which require very fast selection. The user of a system that uses a menu-based interface will be presented with a limited number of options on the screen. Once a selection has been made, the user is presented with a sub-menu. This gives them further options. They make another selection and may be presented with a further sub-menu. This continues until the user is able to select exactly what they want from the choices finally displayed on the screen. Here is an example of a menu-based screen that might be found at a tourist office.
A tourist, who may not have any IT skills, could be presented with a screen with 9 buttons on it, perhaps including theatres, cinemas, pubs and trains, for example. They would touch the touch screen in the area of one of the buttons to make a selection. If they selected 'Cinemas', for example, they would then be presented with a sub-menu. This might look like another menu-based screen with six buttons on it, for example, one for each cinema in the area. If they then selected one of those, they would be presented with the films that are currently showing and the times they are on. This type of user interface is about as simple as you can get. You do not need any computer skills to access the wealth of information on a system like this.
Consider a factory where workers are working in a noisy, dirty environment. Workers may not want to be fiddling around with keyboards, typing in commands. They could have a menu-based interface instead. This would quickly allow them to find the option they wanted and to select it, simply by touching a touch screen.
Fast food outlets usually have a till made up of simple selections for the cashier to choose from, sometimes with words on each buttonl and sometimes with pictures. This makes it easy for a cashier to take an order. They need very little training and it is one way that fast food outlets make the jobs in their restaurants low-skill, which they want to do because they can then keep wages low.
This kind of interface requires the user to enter responses to questions asked by the computer. The questions are displayed on the VDU and the answers are entered via the keyboard. This kind of interface is called a 'natural language' interface because the computer and the user appear to be holding a conversation. For example, imagine the user has initiated a 'save file' request. The 'conversation' might go like this:
USER: Save file
COMP: What is the file name?
COMP: What folder?
USER: UserGuide COMP: File already exists. Overwrite?
This kind of interface can be found on data entry terminals and other types of 'dumb terminals' connected to a network where non-expert users are guided by the computer through the complex tasks they need to perform.