Human Computer Interaction

In this blog I will cover the topics on, design rules for interactive systems, evaluation techniques for interactive systems and universal design for interactive systems

Human-computer interaction (HCI) is a multidisciplinary field of study focusing on the design of computer technology and, in particular, the interaction between humans (the users) and computers.

Design Rule For interactive Systems

Principles of Learnability

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.

  • 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.
  • Synthesis-ability:- In general, this principle 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.
  • Generalisability:- This interactive design principle provides support for users to extend knowledge of specific interaction within, and across applications, to new, but similar situations.
  • 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.

Principals of Flexibility

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.

  • 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. In reality some line between these two extremes is usually the most satisfactory solution.
  • 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.
  • 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.
  • 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.
  • Customisability:- The user interface should be able to support individual preferences. 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.

Principals of Robustness

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.

  • 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.
  • Recover-ability:- 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.

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. The majority of design rules for interactive systems are suggestive and more general guidelines.

Shneidermans’s 8 Golden Rules

Shneiderman’s eight golden rules provide a convenient and succinct summary of the key principles of interface design.

  • Strive for consistency.
    Consistent sequences of actions should be required in similar situations; identical terminology should be used in prompts, menus, and help screens; and consistent commands should be employed throughout.
  • Enable frequent users to use shortcuts.
    As the frequency of use increases, so do the user’s desires to reduce the number of interactions and to increase the pace of interaction. Abbreviations, function keys, hidden commands, and macro facilities are very helpful to an expert user.
  • Offer informative feedback.
    For every operator action, there should be some system feedback. For frequent and minor actions, the response can be modest, while for infrequent and major actions, the response should be more substantial.
  • Design dialog to yield closure.
    Sequences of actions should be organised into groups with a beginning, middle, and end. The informative feedback at the completion of a group of actions gives the operators the satisfaction of accomplishment, a sense of relief, the signal to drop contingency plans and options from their minds, and an indication that the way is clear to prepare for the next group of actions.
  • Offer simple error handling.
    As much as possible, design the system so the user cannot make a serious error. If an error is made, the system should be able to detect the error and offer simple, comprehensible mechanisms for handling the error.
  • Permit easy reversal of actions.
    This feature relieves anxiety, since the user knows that errors can be undone; it thus encourages exploration of unfamiliar options. The units of reversibility may be a single action, a data entry, or a complete group of actions.
  • Support internal locus of control.
    Experienced operators strongly desire the sense that they are in charge of the system and that the system responds to their actions. Design the system to make users the initiators of actions rather than the respondents.
  • Reduce short-term memory load.
    The limitation of human information processing in short-term memory requires that displays be kept simple, multiple page displays be consolidated, window-motion frequency be reduced, and sufficient training time be allotted for codes, mnemonics, and sequences of actions.

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, standardise.

Evaluation techniques for interactive systems

What is Evaluation

Evaluation is a process that critically examines a program. It involves collecting and analysing information about a program’s activities, characteristics, and outcomes. Its purpose is to make judgements about a program, to improve its effectiveness, and/or to inform programming decisions

Goals of evaluation

Improve program design and implementation.

It is important to periodically assess and adapt your activities to ensure they are as effective as they can be. Evaluation can help you identify areas for improvement and ultimately help you realise your goals more efficiently. Additionally, when you share your results about what was more and less effective, you help advance environmental education.

Demonstrate program impact.

Evaluation enables you to demonstrate your program’s success or progress. The information you collect allows you to better communicate your program’s impact to others, which is critical for public relations, staff morale, and attracting and retaining support from current and potential investors.

Evaluation through expert analysis

In expert-based evaluation, a designer or HCI expert assesses a design based on known/standard cognitive principles or empirical results.

  • Cognitive walk through:- The cognitive walk through is a usability evaluation method in which one or more evaluators work through a series of tasks and ask a set of questions from the perspective of the user. The focus of the cognitive walk through is on understanding the system’s learnability for new or infrequent users.
  • Heuristic evaluation:- A heuristic is a guideline or general principle or rule of thumb that can guide a design decision or be used to critique a decision that has already been made. Heuristic evaluation is a method for structuring the critique of a system using a set of relatively simple and general heuristics. The general idea behind heuristic evaluation is that several evaluators independently critique a system to come up with potential usability problems.
  • 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 dialog 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.

  • Styles of evaluation
  1. Laboratory studies — users are taken out of their normal work environment to take part in controlled tests, often in a specialist usability laboratory.
  2. Field studies This takes the designer or evaluator out into the user’s work environment in order to observe the system in action
  • 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.

Any experiment has the same basic form. Within this basic form there are a number of factors that are important to the overall reliability of the experiment, which must be considered carefully in experimental design. These include the participants chosen, the variables tested and manipulated, and the hypothesis tested.

  • Observational techniques

The observational method encompasses a collection of common techniques used in HCI research. These include interviews, field investigations, contextual inquiries, case studies, field studies, focus groups, think aloud protocols, storytelling, walk through, cultural probes, and so on. The approach tends to be qualitative rather than quantitative.

  • Query techniques

These 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. It may be difficult to get accurate feedback about alternative designs if the user has not experienced them. There are two main types of query technique: Interviews, Questionnaires.

Evaluation through monitoring physiological responses

Interest has grown recently in the ways of monitoring physiological aspects of computer use. This will allow us 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. This means designing interactive systems that are usable by anyone, with any range of abilities, using any technology platform.

Universal Design Principles

  • Equitable Use

The design is useful and marketable to people with diverse abilities.

  • It provides the same means of use for all users: identical whenever possible, equivalent when not.
  • It avoids segregating or stigmatising any users.
  • Provisions for privacy, security, and safety are equally available to all users.
  • The design is appealing to all users
  • Flexibility in Use

The design accommodates a wide range of individual preferences and abilities.

  • It provides choice in methods of use.
  • It accommodates right or left handed access and use.
  • It facilitates the user’s accuracy and precision.
  • It provides adaptability to the user’s pace.
  • Simple and Intuitive Use

Use of the design is easy to understand, regardless of the user’s experience, knowledge, language skills, or current concentration level.

  • It eliminates unnecessary complexity.
  • It is consistent with user expectations and intuition.
  • It accommodates a wide range of literacy and language skills.
  • It arranges information consistent with its importance.
  • It provides effective prompting and feedback during and after task completion.
  • Perceptible Information

The design communicates necessary information effectively to the user, regardless of ambient conditions or the user’s sensory abilities.

  • It uses different modes (pictorial, verbal, tactile) for redundant presentation of essential information.
  • It provides adequate contrast between essential information and its surroundings.
  • It maximises “legibility” of essential information.
  • It differentiates elements in ways that can be described (i.e., make it easy to give instructions or directions).
  • It provides compatibility with a variety of techniques or devices used by people with sensory limitations.
  • Tolerance for Error

The design minimises hazards and the adverse consequences of accidental or unintended actions.

  • It arranges elements to minimise hazards and errors: most used elements, most accessible; hazardous elements eliminated, isolated, or shielded.
  • It provides warnings of hazards and errors.
  • It provides fail safe features.
  • It discourages unconscious action in tasks that require vigilance.
  • Low Physical Effort

The design can be used efficiently and comfortably and with a minimum of fatigue.

  • It allows user to maintain a neutral body position.
  • It uses reasonable operating forces.
  • It minimises repetitive actions.
  • It minimises sustained physical effort.
  • Size and Space for Approach and Use

Appropriate size and space is provided for approach, reach, manipulation, and use, regardless of user’s body size, posture, or mobility.

  • It provides a clear line of sight to important elements for any seated or standing user.
  • It makes reaching to all components comfortable for any seated or standing user.
  • It accommodates variations in hand and grip size.
  • It provides adequate space for the use of assistive devices or personal assistance.

Multi-modal interaction

Multi-modal Interaction is a situation where the user is provided with multiple modes for interacting with the system. Multi-modal systems as those that process two or more combined user input modes such as speech, touch, visual and learning in a coordinated manner with multimedia system output

  • Sound in the interface

Voice prompts are part of this output mode. Usually they are short affirmations for any speech commands issued by the user, or warnings and alerts when an issue arises.

  • Touch in the interface

Using a simple touch gesture, the interaction style lowers the visual demand and provides at the same time immediate feedback and easy means for undoing actions. After the selection of the interaction object(s) and function, the user can perform a gesture to complete the intended action. This form of interaction (e.g. moving a finger up and down on a touch pad) allows for a fine-grained manipulation and provides simple means for undo of an action. As the action is executed at the same time, immediate feedback is given by means of manipulating the objects, e.g. the windows are lowered as the user moves the finger over the touch pad.

  • Handwriting recognition

Handwriting is a common and familiar activity, and is therefore attractive as a method of text entry. If we were able to write as we would when we use paper, but with the computer taking this form of input and converting it to text, we can see that it is an intuitive and simple way of interacting with the computer. However, there are a number of disadvantages with handwriting recognition. Current technology is still fairly inaccurate and so makes a significant number of mistakes in recognising letters, but has improved rapidly. Moreover, individual differences in handwriting are enormous, and make the recognition process even more difficult. The most significant information in handwriting is not in the letter shape itself but in the stroke information, that is, the way in which the letter is drawn. This means that devices which support handwriting recognition must capture the stroke information, not just the final character shape. This means that on-line recognition is far easier than reading handwritten text on paper. Further complications arise because letters within words are shaped and often drawn very differently depending on the actual word.

  • 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

As graphical and general processing capabilities improve, the growing need for research into human computer interfaces becomes more evident. Designers are expected to provide a transparent interface to the core of their software that can facilitate work for all levels of users. When designing a user interface many aspects of human diversity must be taken into account. Depending on the purpose of the software, designer must take into account factors such as but not limited to age, race, disabilities, Educational Background, Computer Expertise, Geographical Location, Cultural Background.


Accommodations for physically disabled users should be provided wherever possible. This could include anything from larger buttons to voice activation and touch-screen interfaces. When designing for special populations like mentally disabled or has leaning issues, the capabilities of the user must be taken into account. An interface for such a population should be as straightforward and easy to learn as possible.


Note that the senses, particularly hearing and vision, degenerate with age. A good interface takes this fact into consideration, and provides utilities to deal with decreasing physical faculties (i.e. increased volume, text size).


When deploying an interface in an unfamiliar region, it is imperative that none of the symbols used be offensive in the local culture. As well, no element should be incomprehensible to the locals. Idioms and colloquialisms are to be avoided for this reason. An outside specialist may be required to advise on this aspect.



Software engineering undergraduate, University of Kelaniya Sri Lanka

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Neminda Prabhashwara

Software engineering undergraduate, University of Kelaniya Sri Lanka