A look at the interaction between humans and computers

Human-Computer Interaction (HCI) is a field of science that studies the design and use of computer technology. HCI focuses 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 availability of a good interface is crucial for our day-to-day activities. There are certain principles that must consider when designing applications.

Design rules for interactive systems


Learnability concerns the features of the interactive system that allows novice users to understand how to use it initially and then how to attain a maximal level of performance. There are five principles that Support Learnability.
01. Predictability — Support for the user to determine the effect of future action based on past interaction history
02. Synthesizability — Support for the user to assess the effect of past operations on the current state
03. Familiarity — The extent to which a user’s knowledge and experience in other real-world or computer based domains can be applied when interacting with a new system
04. Generalizability — Support for the user to extend knowledge of specific interaction within and across applications to other similar situations
05. Consistency — Likeness in input–output behavior arising from similar situations or similar task objectives


Flexibility means the multiplicity of ways in which the user and system exchange information. There should not be an tough way for user to get information from the system. It also includes the ability of the system to support user interaction for more than one task at a time. There are five principles that contribute to the flexibility.

01. Dialog initiative — Allowing the user freedom from artificial constraints on the input dialog imposed by the system
02. Multi-threading — Ability of the system to support user interaction pertaining to more than one task at a time
03. Task migratability — The ability to pass control for the execution of a given task so that it becomes either internalized by the user
or the system or shared between them
04. Substitutivity — Allowing equivalent values of input and output to be arbitrarily substituted for each other
05. Customizability — Modifiability of the user interface by the user or the system


Robustness is the level of support provided to the user in determining successful achievement and assessment of goals. It is the extent to which the user can reach the intended goal after recognizing an error in the previous interaction. There are four principles related to Robustness.
01. Observability — Ability of the user to evaluate the internal state of the system from its perceivable representation
02. Recoverability — Ability of the user to take corrective action once an error has been recognized
03. Responsiveness — How the user perceives the rate of communication with the system
04. Task conformance — The degree to which the system services support all of the tasks the user wishes to perform and in the way that the user understands them

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 be applied specifically for either the hardware or the software which are being used to build the interactive systems.
We have observed that the incompleteness of the theories underlying the design of interactive software make it difficult to produce authoritative and specific standards. As a result, the majority of design rules for interactive systems are suggestive and more general guidelines.

Shneiderman’s 8 Golden Rules

Shneiderman’s eight golden rules provide a convenient and succinct summary of the key principles of interface design. They are intended to be used during design but can also be applied, like Nielsen’s heuristics, to the evaluation of systems.

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 practicality, to assess users’ expertise of the interaction, and to spot any specific issues with the system. the look of the system ought to modify users to perform their supposed tasks additional simply. additionally to evaluating the system style in terms of its practical capabilities, it’s vital to assess the user’s expertise of the interaction and its impact upon him. the ultimate goal of analysis is to spot specific issues with the look. These could also be aspects of the look that, once utilized in their supposed context, cause sudden results, or confusion amongst users.

Evaluation through expert analysis

A number of ways are projected to judge interactive systems through expert analysis. These depend on the designer, or a personality’s factors expert, taking the planning and assessing the impact that it’ll have upon a typical user. the essential intention is to spot any areas that are probably to cause difficulties as a result of they violate acknowledged psychological feature principles, or ignore accepted empirical results. These ways are often used at any stage within the development method from a style specification, through storyboards and prototypes, to full implementations, creating them flexible evaluation approaches.

Cognitive walkthrough:
In the cognitive walkthrough, 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. These include empirical or experimental methods, observational methods, query techniques, and methods that use physiological monitoring, such as eye tracking and measures of heart rate and skin conductance. There are two types of evaluation namely laboratory studies and field studies.

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.

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 advantage of such methods is that they get the user’s viewpoint directly and may reveal issues that have not been considered by the designer. In addition, they are relatively simple and cheap to administer. However, the information gained is necessarily subjective, and may be a ‘rationalized’ account of events rather than a wholly accurate one. Also, it may be difficult to get accurate feedback about alternative designs if the user has not experienced them, which limits the scope of the information that can be gleaned. 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

One of the problems with most evaluation techniques is that we are reliant on observation and the users telling us what they are doing and how they are feeling. What if we were able to measure these things directly? Interest has grown recently in the use of what is sometimes called objective usability testing, ways of monitoring physiological aspects of computer use. Potentially 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


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.

01. 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, where identical use is not possible, equivalent use should be supported. Where appropriate, security, privacy and safety provision should be available to all.

02. 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.

03. simple and intuitive to use — Use of the design is easy to understand, regardless of the user’s experience, knowledge, language skills, or current concentration level.

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

05.Tolerance for error Minimizing the impact and damage caused by mistakes or unintended behavior. Potentially dangerous situations should be removed or made hard to reach. Potential hazards should be shielded by warnings. Systems should fail safe from the user’s perspective and users should be supported in tasks that require concentration.

06.Low physical effortSystems should be designed to be comfortable to use, minimizing physical effort and fatigue. The physical design of the system should allow the user to maintain a natural posture with reasonable operating effort. Repetitive or sustained actions should be avoided.

07.Requires size and space for approach and useThe placement of the system should be such that it can be reached and used by any user regardless of body size, posture or mobility. Important elements should be on the line of sight for both seated and standing users. All physical components should be comfortably reachable by seated or standing users. Systems should allow for variation in hand size and provide enough room for assistive devices to be used.

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.

When designing interfaces in the context of a disability, sensory, physical and cognitive senses must be taken into account. Systems should provide a good form of communication for the visually impaired. Indeed, if you have hearing loss, computer technology can improve communication for deaf people. E-mail and instant messaging are great organizational tools and can be used by both hearing and deaf users. Speech and visual recognition systems can be added to systems to help people with disabilities.

In this context, older people and children have specific needs when it comes to interactive technology. The requirements of the older population may differ significantly from other population groups, and will vary considerably within the population group. Mobile technologies can be used to provide memory aids where there is age-related memory loss. Like older people, children have distinct needs when it comes to technology, and again, as a population, they are diverse. It is therefore important to involve them in the design of interactive systems that are for their use, though this in itself can be challenging as they may not share the designer’s vocabulary or be able to verbalize what they think.

Cultural difference is often used synonymously with national differences but this is too simplistic. 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.



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