Human Computer Interaction

Mohanatheesan Theiventhiram
14 min readDec 26, 2020

Human-Computer Interaction (HCI) is a field of science that studies the design and use of computer technology. HCI focus on interfaces between people and computers and how to design, evaluate, and implement interactive computer systems that satisfy the user. Humans interact with computers in many different ways which means that having a good interface that facilitates that interaction is crucial for our day-to-day activities.

Without a Human computer interaction, a design is useless, because poor designs can lead to unexpected problems. Before implement system first we have to make prototypes that prototypes we have follow best HCI principles for who are going to use system. The goals of HCI are to produce usable and safe systems, as well as functional systems. In order o produce computer systems with good usability, developers must attempt to: understand the factors that determine how people use technology. develop tools and techniques to enable building suitable systems.

There are certain principles developed to consider when designing applications. There are certain rules to be followed when evaluating an application whether it is portable for the users or not. Let’s have a look at on those parts,

Design Rules for Interactive Systems

Design rules for interactive systems can be supported by psychological, cognitive, ergonomic, sociological, economic or computational theory, which may or may not have roots in empirical evidence. Designers do not always have the relevant background in psychology, cognitive science, ergonomics, sociology, business or computer science necessary to understand the consequences of those theories in the instance of the design they are creating. The design rules are used to apply the theory in practice. Often a set of design rules will be in conflict with each other, meaning that strict adherence to all of them is impossible.


Learnability principles are concerned with interactive system features, which aid novice users to learn quickly and also allows steady progression to expertise. The principles discussed below support the learnability design principle.

There are several principles that contribute to the learnability of interaction,

  • Predictability
    This interactive design principle requires a user’s knowledge of interaction to be sufficient to determine the outcome of present or future interaction with the system. One form of the predictability principle is concerned with a user’s ability to envisage which operations can be performed next. Based on this principle, if an operation can be performed then there should be a clear indication of this to the user. For example, closing a document should always allow the user to save changes not saved already.
  • Synthesisability
    Two aspects of synthesisability are immediate honesty and eventual honesty. In general, these principles relate to the ability of the interactive system to provide the user with an observable and informative notification about the operation state changes within the system.
  • Familiarity
    The familiarity principle is concerned with the ability of an interactive system to allow a user to map prior experiences, either real world or gained from interaction with other systems, onto the features of a new system.
    A recycle bin is a familiar item in the real world and recycle bin icon immediately suggests its function.
  • Generalisability
    This interactive design principle provides support for users to extend knowledge of specific interaction within, and across applications, to new, but similar situations. For example, cut/copy/paste operations within Microsoft Office applications use of same short-cut keys. One of the purposes of standards, and programming style guides, is to increase generalisability across a variety of applications.
  • Consistency
    To support generalisability, consistency is essential and is probably one of the most widely applied design principle in user interface design. Consistency between application is always favourable, however consistency within an application is essential.


Flexibility in interactive design extends the way a user and the system exchange information. By applying flexibility principles to an interactive system design, designers aim to improve a system’s usability.

There are several principles that contribute to the flexibility of interaction,

  • Dialog initiative
    When the system controls the dialog flow, the dialog is said to be system preemptive. Conversely, when the flow is controlled by the user, the dialog is said to be user preemptive. In general a user preemptive dialog is favoured although some situations require a system preemptive dialog.
  • Multi-threading
    Within a user interface a thread can be considered a part of dialog that allowing a task to be performed. Multi-threading within a interface provides support for multiple tasks to be performed at one time.
    Multi-threading can be described as concurrent or interleaved. An interleaved system permits work on a single task at a given time, a word processor allow multiple documents to be open, but only one can be worked on at any instant.
  • Task migratability
    Task migratability means passing responsibility of execution of tasks between user and system. A computerised spell checker is a good example to this. It is a waste of time for a user to manually check a very long document and correct. A spell checking facility in a word processing application can check words against its own computerised dictionary.
  • Substitutivity
    Substitutivity offers a user alternative ways of specifying input or viewing output. Indeed the distinction between output and input can be blurred. For example, a drawing package may allow start and end co-ordinates of a line to be specified, conversely, the same system may allow the line to be drawn first, and the system indicates the end point co-ordinates.
  • Customisability
    The user interface should be able to support individual preferences. For example standard control bars in MS Word can be amended as required. The customisability principle supports a user’s ability to adjust systems settings or features to a form that best suites the preferred way of usage.


The robustness of an interface design can be measured in terms of the following four principles. These principles aim to support users to achieve their goals.

There are several principles that contribute to the robustness of interaction,

  • Observability
    Observability should provide users with an ability to evaluate the internal state from its representation. If a user cannot understand the internal state of the system, there is a high likelihood that the user’s confidence will be very low, for example, if the system is performing a time consuming operation, the current status of the operation should be displayed a web browser will indicate the ongoing status of a page download.
  • Recoverability
    Users should be able to reach a desired goal after recognition of errors in previous interaction. Error recovery can be achieved in two ways, forward (negotiation) and backward (undo).
  • Responsiveness
    Responsiveness is usually measured in terms of the rate of communication between the system and a user. Response time, indicating change of states within the system, is important. Short duration or instantaneous response time is more desirable.
  • Task conformance
    There are two aspects of task conformance, task completeness and task adequacy. Task completeness is concerned with whether a system is capable of supporting the entire task that a user wishes to perform. The task adequacy is concerned with addressing the user’s understanding of these tasks It is necessary that an interactive system should allow the user to perform the desired tasks as defined during the task analysis.

Standards and Guideline for Interactive systems

Standards for interactive system design are usually set by national or international bodies to ensure compliance with a set of design rules by a large community. Standards can apply specifically to either the hardware or the software used to build the interactive system.

Shneidermans’s 8 Golden Rules

  1. Strive for consistency in action sequences, layout, terminology, command use and so on.
  2. Enable frequent users to use shortcuts, such as abbreviations, special key sequences and macros, to perform regular, familiar actions more quickly.
  3. Offer informative feedback for every user action, at a level appropriate to the magnitude of the action.
  4. Design dialogs to yield closure so that the user knows when they have completed a task.
  5. Offer error prevention and simple error handling so that, ideally, users are prevented from making mistakes and, if they do, they are offered clear and informative instructions to enable them to recover.
  6. Permit easy reversal of actions in order to relieve anxiety and encourage
    exploration, since the user knows that he can always return to the previous state.
  7. Support internal locus of control so that the user is in control of the system, which responds to his actions.
  8. Reduce short-term memory load by keeping displays simple, consolidating
    multiple page displays and providing time for learning action sequences.

Norman’s 7 Principles

  1. Use both knowledge in the world and knowledge in the head.
  2. Simplify the structure of tasks.
  3. Make things visible: bridge the gulfs of Execution and Evaluation.
  4. Get the mappings right.
  5. Exploit the power of constraints, both natural and artificial.
  6. Design for error.
  7. When all else fails, standardize.

Evaluation Techniques for Interactive Systems

Evaluation is required for any systems to understand whether system is functioning in keeping with the necessities, whether or not it complies with rules and pointers, whether or not it’s needed standards etc. analysis mustn’t be thought of as one introduce the planning method. Ideally, analysis ought to occur throughout the planning life cycle, with the results of the analysis feeding into modifications to the planning.

Goals of Evaluation

Evaluation has three main goals: to assess the extent and accessibility of the system’s functionality, to assess users’ experience of the interaction, and to identify any specific problems with the system. The design of the system should enable users to perform their intended tasks more easily. In addition to evaluating the system design in terms of its functional capabilities, it is important to assess the user’s experience of the interaction and its impact upon him. The final goal of evaluation is to identify specific problems with the design. These may be aspects of the design which, when used in their intended context, cause unexpected results, or confusion amongst users.

Evaluation through expert analysis

A number of methods have been proposed to evaluate interactive systems through expert analysis. These depend upon the designer, or a human factors expert, taking the design and assessing the impact that it will have upon a typical user. The basic intention is to identify any areas that are likely to cause difficulties because they violate known cognitive principles, or ignore accepted empirical results. These methods can be used at any stage in the development process from a design specification, through storyboards and prototypes, to full implementations, making them flexible evaluation approaches.

Cognitive walkthrough
The origin of the cognitive walkthrough approach to evaluation is the code walkthrough familiar in software engineering. Walkthroughs require a detailed review of a sequence of actions. In the code walkthrough, the sequence represents a segment of the program code that is stepped through by the reviewers to check certain characteristics.
Here, the sequence of actions refers to the steps that an interface will require a user to perform in order to accomplish some known task. The evaluators then ‘step through’ that action sequence to check it for potential usability problems. Usually, the main focus of the cognitive walkthrough is to establish how easy a system is to learn. More specifically, the focus is on learning through exploration

Heuristic evaluation
Heuristic evaluation, developed by Jakob Nielsen and Rolf Molich, is a method for structuring the critique of a system using a set of relatively simple and general heuristics. Heuristic evaluation can be performed on a design specification so it is useful for evaluating early design. The general idea behind heuristic evaluation is that several evaluators independently critique a system to come up with potential usability problems. It is important that there be several of these evaluators and that the evaluations be done independently.

Model-based evaluation
Certain cognitive and design models provide a means of combining design specification and evaluation into the same framework. Design methodologies, such as design rationale, also have a role to play in evaluation at the design stage. Dialog models can also be used to evaluate dialog sequences for problems, such as unreachable states, circular dialogs and complexity.

Evaluation through user participation

User participation in evaluation tends to occur in the later stages of development when there is at least a working prototype of the system in place. This may range from a simulation of the system’s interactive capabilities, without its underlying functionality , some of the methods discussed can also contribute to the earlier design stages, such as requirements capture, where observation and surveying users are important.

Styles of evaluation

distinguish between two distinct evaluation styles: those performed under laboratory conditions and those conducted in the work environment or ‘in the field’.

  • Laboratory Study
    In the first type of evaluation studies, users are taken out of their normal work environment to take part in controlled tests, often in a specialist usability laboratory.
  • Field Study
    This type of evaluation takes the designer or evaluator out into the user’s work environment in order to observe the system in action. It is conducted in situated settings.

Empirical methods: experimental evaluation
One of the most powerful methods of evaluating a design or an aspect of a design is to use a controlled experiment. This provides empirical evidence to support a particular claim or hypothesis. It can be used to study a wide range of different issues at different levels of detail. The evaluator chooses a hypothesis to test, which can be determined by measuring some attribute of participant behavior. A number of experimental conditions are considered which differ only in the values of certain controlled variables.

Observational techniques
A popular way to gather information about actual use of a system is to observe users interacting with it. Usually they are asked to complete a set of predetermined tasks, although, if observation is being carried out in their place of work, they may be observed going about their normal duties. The evaluator watches and records the users’ actions . Simple observation is seldom sufficient to determine how well the system meets the users’ requirements since it does not always give insight into the their decision processes or attitude. Consequently users are asked to elaborate their actions by ‘thinking aloud’.

Query techniques
Another set of evaluation techniques relies on asking the user about the interface directly. Query techniques can be useful in eliciting detail of the user’s view of a system. They embody the philosophy that states that the best way to find out how a system meets user requirements is to ‘ask the user’. They can be used in evaluation and more widely to collect information about user requirements and tasks. The information gained is necessarily subjective, and may be a ‘rationalized’ account of events rather than a wholly accurate one. However, the methods provide useful supplementary material to other methods. There are two main types of query technique: interviews and questionnaires.

Evaluation through monitoring physiological responses

Potentially this type of evaluation will allow the evaluators not only to see more clearly exactly what users do when they interact with computers, but also to measure how they feel. The two areas receiving the most attention to date are eye tracking and physiological measurement.

Universal Design for Interactive Systems

Universal design is the process of designing products so that they can be used by as many people as possible in as many situations as possible. In this case, this means particularly designing interactive systems that are usable by anyone, with any range of abilities, using any technology platform. This can be achieved by designing systems either to have built in redundancy or to be compatible with assistive technologies.

Universal Design Principles

The 7 Principles of Universal Design were developed in 1997 by a working group of architects, product designers, engineers and environmental design researchers, led by the late Ronald Mace in the North Carolina State University. Those principles are,

  1. Equitable use
    The design is useful to people with a range of abilities and appealing to all. No user is excluded or stigmatized. Wherever possible, access should be the same for all.
  2. Flexibility in use
    The design allows for a range of ability and preference, through choice of methods of use and adaptivity to the user’s pace, precision and custom.
  3. Simple and intuitive to use
    The design needs to support the user’s expectations and accommodate different language and literacy skills.
  4. Perceptual information
    The design should provide effective communication of information regardless of the environmental conditions or the user’s abilities.
  5. Tolerance of error
    Minimizing the impact and damage caused by mistakes or unintended behavior.
  6. Low physical effort
    Systems should be designed to be comfortable to use, minimizing physical effort and fatigue.
  7. Size and space for approach and use
    The placement of the system should be such that it can be reached and used by any user regardless of body size, posture or mobility.

Multi-Modal Interaction

A system needs to provide information through more than one medium and that can be elicited through multi-modal interaction. Multi-modal interaction covers the five senses namely, sight, sound, touch, taste and smell. Sight. Anyhow, taste and smell are less appreciated, may be they will be needed in future.

Sound in the interface
Sound is an important contributor to usability. There is experimental evidence to suggest that the addition of audio confirmation of modes, in the form of changes in keyclicks, reduces errors. The dual presentation of information through sound and vision supports universal design, by enabling access for users with visual and hearing impairments respectively. It also enables information to be accessed in poorly lit or noisy environments. Sound can convey transient information and does not take up screen space, making it potentially useful for mobile applications.

Touch in the interface
Touch is the only sense that can be used to both send and receive information. The use of touch in the interface is known as haptic interaction. Haptics is a generic term relating to touch, but it can be roughly divided into two areas: cutaneous perception, which is concerned with tactile sensations through the skin; and kinesthetics, which is the perception of movement and position.

Handwriting recognition
Like speech, we consider handwriting to be a very natural form of communication. The idea of being able to interpret handwritten input is very appealing, and handwriting appears to offer both textual and graphical input using the same tools. There are problems associated with the use of handwriting as an input medium.

Gesture recognition
Gesture is a component of human–computer interaction that has become the subject of attention in multi-modal systems. Being able to control the computer with certain movements of the hand would be advantageous in many situations where there is no possibility of typing, or when other senses are fully occupied. It could also support communication for people who have hearing loss, if signing could be ‘translated’ into speech or vice versa.

Designing Interfaces for diversity

Interfaces are usually designed to cater for the average user, but unfortunately this may exclude people who are not average. There are three main areas to be considered in this context namely disability, age and culture.

Employers and manufacturers of computing equipment have not only a moral responsibility to provide accessible products, but often also a legal responsibility. In many countries, legislation now demands that the workplace must be designed to be accessible or at least adaptable to all the design of software and hardware should not unnecessarily restrict the job prospects of people with disabilities.

We have considered how people differ along a range of sensory, physical and cognitive abilities. However, there are other areas of diversity that impact upon the way we design interfaces. One of these is age. In particular, older people and children have specific needs when it comes to interactive technology.

Cultural difference is often used synonymously with national differences but this is too simplistic. Whilst there are clearly important national cultural differences, such as those we saw, other factors such as age, gender, race, sexuality, class, religion and political persuasion, may all influence an individual’s response to a system. This is particularly the case when considering websites where often the explicit intention is to design for a particular culture or subculture.