Human Computer Interface
The human computer interface is the hardware and software that the user
interacts with. It is responsible for the user's view of the system. The
correct design of an HCI can be crucial to the overall success of the system
since it responsible for the interaction with the end user.
HCI design must aim to provide information in a consistent way so that
the user is presented with a recognisable pattern. This will allow the user to
interact efficiently even when using new parts of the system. The design must
be compatible with the user's perception of the task - for example by grouping
data on the screen in a way that will be familiar to or expected by the user.
It should be adaptable to the user's level of skill and it should allow the
user to carry out a task with the minimum number of operations. It should guide
the user through task, providing help and support as necessary and it should be
structured in a way that allows the end user to have an overview of how the
system works.
HCI design will deal with the way in which the user gives instructions
to the computer system, the way in which he or she enters data and the way that
information is presented to the user.
|
Data entry screens
|
A well designed data entry screen will have consistently placed
prompts clearly identified with the data entry space. Data ranges or lists of
permitted codes should be displayed - perhaps at the bottom of the screen when
the cursor is in a data entry box. The data will be grouped - usually by
sequence of entry and different groups may be boxed. Colour may be used to
distinguish prompts from data. Required formats will be indicated and where
possible data should be auto formatted so that the user does not have to enter
redundant data. The screen should allow editing including the ability to undo a
particular field or record, easy movement between data boxes and require
confirmation of completion before data is passed to the system - e.g. an OK
button. Data already known should be filled in automatically - e.g. name and
address when customer account number is entered. The user should be allowed to
enter data at their own pace.
|
|
Command Language
|
A command language can provide an expert user with a powerful way
of giving instructions to a system. When a set of commands is being designed
for an HCI the designer must aim to make the dialogue between the operator and
the system as natural as possible. Command words should be chosen which relate
to the task that they perform. The computer should respond to a command by
providing the user with a status report so that each command will be followed
by a response from the system. Error messages and prompts should be clear and
the user should be able to cancel a command and possibly undo a previous
command. The computer should not proceed with a command without explicit
confirmation - such as the user pressing return. Help should always be
available.
|
|
Menu Interfaces
|
There are two types of menu interface - hierarchical and
independent. A hierarchical menu system has a series of related menus where a
parent menu screen leads to one of a number of possible related child screens.
In an independent menu system number of unrelated menus are available although
the items within one menu are likely to be related. A menu interface could, of
course, contain both independent and hierarchical menu systems. Menu system are
useful for casual users since they present the user with a limited choice of
clearly defined alternatives. If the system is complex then the user may have
problems keeping track of whereabouts in the system they are and how to get
back to an earlier position. Menu interfaces often have a single keystroke
facility to backtrack menu by menu or to jump to the main menu in one go.
Options should be structured into groups and the title of the menu should
reflect its function.
|
|
GUI Systems
|
Graphic user interfaces allow the user to
manipulate screen images in an intuitive manner. This type of system is easy to
learn because the environment behaves in a way that the user expects and that
relates to the task he or she is attempting to perform. A GUI may incorporate
menus and commands to provide a variety of ways of performing the same task.
Different methods may suit the abilities of different users or may be
appropriate to performing the task under a particular set of circumstances.
|
The HCI is a part of the computer system and as such it requires system
resources. A GUI makes particularly heavy demands on system resources. In
general the HCI will require processor time when prompts are being displayed
and responses interpreted. This will be over and above the processor time
needed to carry out the required task. In addition the HCI will require both
backing storage (unless stored in ROM) and central memory space. GUI's require
more resources than other user interfaces because of the heavy memory and
processor demands made when processing graphics.
Some application programs - notably databases - allow the user to
completely customise the HCI by designing screen layouts and even including a
customised help function and error messages. This allows faster system
development since the basic processing engine is already up and working and the
appropriate user interface is simply bolted on to it. This approach is useful
for small scale implementations but can lead to slow working solutions when
applied to more complex problems.
|