A Look into Human-Computer Interaction

Chandima Maduwanthi
13 min readDec 26, 2020

Human–computer interaction is a difficult endeavor with glorious rewards. Designing interactive computer systems to be effective, efficient, easy, and enjoyable to use is important.

In this article, let’s talk about main areas in Human-Computer Interaction.

Design Rules For Interactive Systems

Design rules are rules a designer can follow in order to increase the usability of the eventual software product.

There are 3 main types of design rules:

1. Principles — Abstract design rules, with high generality and low authority.

2. Standards — Specific design rules, high in authority and limited in application.

3. Guidelines — tend to be lower in authority and more general in application.

Principles

The most abstract design rules are general principles, which can be applied to the design of an interactive system in order to promote its usability. They can be divided into 3 main categories;

1. Learnability

2. Flexibility

3. Robustness

Principles of Learnability

Learnability concerns the features of the interactive system that allow novice users to understand how to use it initially and then how to attain a maximal level of performance. There are 5 specific principles that support learnability.

1. Predictability — Support for the user to determine the effect of future action based on past interaction history

2. Synthesizability — Support for the user to assess the effect of past operations on the current state

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

4. Generalizability — Support for the user to extend knowledge of specific interaction within and across applications to other similar situations

5. Consistency — Likeness in input–output behavior arising from similar situations or similar task objectives

Principles of Flexibility

Flexibility refers to the multiplicity of ways in which the end-user and the system exchange information. There are several principles that contribute to the flexibility of interaction;

1. Dialog initiative — Allowing the user freedom from artificial constraints on the input dialog imposed by the system

2. Multi-threading — Ability of the system to support user interaction pertaining to more than one task at a time

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

4. Substitutivity — Allowing equivalent values of input and output to be arbitrarily substituted for each other

5. Customizability — Modifiability of the user interface by the user or the system

Principles of Robustness

In a work or task domain, a user is engaged with a computer in order to achieve some set of goals. The robustness of that interaction covers features that support the successful achievement and assessment of the goals. There are 4 principles that support robustness;

1. Observability — Ability of the user to evaluate the internal state of the system from its perceivable representation

2. Recoverability — Ability of the user to take corrective action once an error has been recognized

3. Responsiveness — How the user perceives the rate of communication with the system

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

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.

HCI standards contain statements about the features of the product’s HCI design. We need HCI standards to standardize the look and feel of a user interface and for smooth the HCI design process.

Guidelines

A Guideline is a rule about designing interactive systems.

There are a vast number of published guidelines for interactive system design. Several books and technical reports contain huge catalogs of guidelines. A classic example was a very general list compiled by Smith and Mosier in 1986. Another comprehensive catalog of general guidelines has been compiled by Mayhew.

Shneiderman’s Eight 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 Seven Principles

1. Use both knowledge in the world and knowledge in the head. Systems should provide the necessary knowledge within the environment and their operation should be transparent to support the user in building an appropriate mental model of what is going on.

2. Simplify the structure of tasks. Tasks need to be simple in order to avoid complex problem solving and excessive memory load.

3. Make things visible. The interface should make clear what the system can do and how this is achieved, and should enable the user to see clearly the effect of their actions on the system.

4. Get the mappings right User intentions should map clearly onto system controls and system events.

5. Exploit the power of constraints, both natural and artificial. Constraints are things in the world that make it impossible to do anything but the correct action in the correct way.

6. Design for error To err is human, so anticipate the errors the user could make and design recovery into the system.

7. When all else fails, standardize. If there are no natural mappings then arbitrary mappings should be standardized so that users only have to learn them once.

Evaluation techniques for interactive systems

The role of evaluation is to assess our designs and test our systems to ensure that they actually behave as we expect and meet user requirements. Evaluation should occur throughout the design life cycle, with the results of the evaluation feeding back into modifications to the design.

Goals of evaluation

  1. To assess the extent and accessibility of the system’s functionality — the design of the system should enable users to perform their intended tasks more easily.
  2. To assess users’ experience of the interaction — how easy the system is to learn, its usability and the user’s satisfaction with it.
  3. To identify any specific problems with the system — 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

As I mentioned earlier, evaluation should occur throughout the design process. The first evaluation should be performed before implementation. Typically, the later in the design process that an error is discovered, the more costly it is to put right. However, it can be expensive to carry out user testing at regular intervals during the design process, and it can be difficult to get an accurate assessment of the experience of interaction from incomplete designs and prototypes. Consequently, a number of methods have been proposed to evaluate interactive systems through expert analysis.

1. Cognitive walkthrough

Walkthroughs require a detailed review of a sequence of actions which 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.

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

3. Model-based evaluation

Certain cognitive and design models provide a means of combining design specification and evaluation into the same framework.

EX:

· GOMS (goals, operators, methods and selection) model predicts user performance with a particular interface and can be used to filter particular design options.

· Lower-level modeling techniques such as the keystroke-level model provide predictions of the time users will take to perform low-level physical tasks.

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.

There are different approaches to evaluation through user participation. 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.

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

2. 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. The evaluator watches and records the users’ actions. Few techniques used to evaluate systems by observing user behavior are: Think aloud and cooperative evaluation, Protocol analysis, Automatic protocol analysis tools, Post-task walkthroughs.

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

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

In the late 1990s a group at North Carolina State University in the USA proposed seven general principles of universal design. These were intended to cover all areas of design and are equally applicable to the design of interactive systems. Those principles are:

1. Equitable use — the design is useful to people with a range of abilities and appealing to 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, regardless of the knowledge, experience, language or level of concentration of the user.

4. Perceptible information — the design should provide effective communication of information regardless of the environmental conditions or the user’s abilities.

5. Tolerance for 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

Providing access to information through more than one mode of interaction is an important principle of universal design. Such design relies on multi-modal interaction. A Multi-modal interface acts as a facilitator via these modes of interaction.

There are five senses: sight, sound, touch, taste and smell. The interactive systems that utilize more than one sensory channel will provide a richer interactive experience.

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

There are two types of sound that we could use: speech and non-speech.

· Speech in the interface — The term speech interface describes a software interface that employs either human speech or simulated human speech. Complexity of the language makes speech recognition and synthesis by computer very difficult.

· Non-speech sound — As speech is serial, we have to listen to most of a sentence before we understand what is being said. Non-speech sounds can often be assimilated much more quickly. Speech is language dependent. The meaning of non-speech sounds can be learned regardless of language. Speech requires the user’s attention. Non-speech sound can make use of the phenomenon of auditory adaptation: background sounds are ignored unless they change or cease.

Ex:

Auditory icons, Earcons

2. Touch in the interface

Touch is the only sense that can be used to both send and receive information. Touch aids users in understanding where they can physically interact with the screen simply and naturally.

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.

Haptic devices facilitate perception of properties such as shape, texture, resistance and temperature as well as comparative spatial properties such as size, height and position. This means haptics can provide information on the character of objects in the interface, as well as more realistic simulations of physical activities, either for entertainment or for training.

3. Handwriting recognition

Handwriting recognition is the ability of a computer to receive and interpret intelligible handwritten input from sources.

The major piece of technology used to capture handwriting is the digitizing tablet which has been refined by incorporating a thin screen on top to display the information, producing electronic paper. Such devices are small and portable enough to be realistically useful in handheld organizers such as the Apple Newton. Information written onto the digitizer can simply be redisplayed, or stored and redisplayed for further reference.

4. Gesture recognition

Gesture recognition is the ability of a computer to understand gestures and execute commands based on those gestures.

The technology for capturing gestures is expensive, using either computer vision or a special dataglove. The dataglove provides easier access to highly accurate information, but is a relatively intrusive technology, requiring the user to wear the special Lycra glove.

Designing Interfaces for diversity

Interfaces are usually designed to cater for the ‘average’ user, but unfortunately this may exclude people who are not ‘average’. People are diverse and there are many factors that must be taken into account. Some of them are disability, age and culture.

1. Designing for users with disabilities

It is estimated that at least 10% of the population of every country has a disability that will affect interaction with computers. Employers and manufacturers of computing equipment have not only a moral responsibility to provide accessible products, but often also a legal responsibility.

When designing interfaces in the context of disability, sensory, physical and cognitive impairments should be considered.

· Visual impairment — The use of sound and the use of touch can be used to support people with visual impairment.

· Hearing impairment — Computer technology can actually enhance communication opportunities for people with hearing loss. Email and instant messaging are great levellers and can be used equally by hearing and deaf users alike. Gesture recognition has also been proposed to enable translation of signing to speech or text, again to improve communication particularly with non-signers.

· Physical impairment — Users with physical disabilities vary in the amount of control and movement that they have over their hands. Speech input and output and eyegaze system are options for them.

· Speech impairment — For users with speech and hearing impairments, multimedia systems provide a number of tools for communication, including synthetic speech and text-based communication and conferencing systems.

· Dyslexia — Users with cognitive disabilities such as dyslexia can find textual information difficult. Speech input and output and spelling correction facilities can help those users.

· Autism — Communication and social interaction are major areas of difficulty for people with autism. Computer-mediated communication and virtual environments have been suggested as possible ways of enabling people with autism to communicate more easily with others.

2. Designing for different age groups

Older people and children have specific needs when it comes to interactive technology.

Older people

The proportion of disabilities increases with age. As I discussed earlier, technology can provide support for failing vision, hearing, speech and mobility. Mobile technologies can be used to provide memory aids where there is age-related memory loss. Some older users may lack familiarity with it and fear learning. So, designs must be clear and simple and forgiving of errors.

Children

Children are different from adults, and have their own goals ,likes and dislikes and abilities. It is therefore important to involve them in the design of interactive systems that are for their use. Interfaces that allow multiple modes of input, including touch or handwriting, may be easier for children than keyboard and mouse.

3. Designing for cultural differences

Cultural difference is often used synonymously with national differences but this is too simplistic. Whilst there are clearly important national cultural differences 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.

Clearly, while all of these contribute to a person’s cultural identity, they will not all always be relevant in the design of a given system. When we are to practice universal design there are some key factors to consider. These include language, cultural symbols, gestures and use of color.

--

--

Chandima Maduwanthi

BSc.(Hons) Software Engineering Undergraduate | University Of Kelaniya