Human Computer Interaction

Githmi Vithanawasam
12 min readDec 26, 2020

--

Human-Computer Interaction (HCI) is a topic that has vast areas of sub-topics. Here, in this article today I’m going to look at three topics from them. First, let’s see “Design rules for interactive systems”.

Design rules for interactive systems

In user-centered design, designers should have the ability to identify the usability results of their design decisions. To have a good usability experience in a software product designers follow design rules. Design rules are helped to apply theories of psychology, cognitive science, ergonimics, sociology, business, or computer science in practice.

When we consider the design rules, principles are more important. We can divide principals that designers use to have a better usability experience into three main categories. They are,

1. Learnability

2. Flexibility

3. Robustness

Learnability and principles

Learnability is the ease with which new users can begin effective interaction and achieve maximal performance. Below you can see the principles that affect learnability.

Principles -

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

2) Synthesizability supports for the user to assess the effect of past operations on the current state.

3) Familiarity is 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 supports for the user to extend knowledge of specific interaction within and across applications to other similar situations.

5) Consistency is the likeness in input-output behavior arising from similar situations or similar task objectives.

Flexibility and principles

Flexibility is the multiplicity of ways in which the user and system exchange information. Below you can see the principles that affect flexibility.

Principles -

1) Dialog initiative is allowing the user freedom from artificial constraints on the input dialog imposed by the system.

2) Multi-threading is the ability of the system to support user interaction about more than one task at a time.

3) Task migratability is the ability to pass a 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 is allowing equivalent values of input and output to be arbitrarily substituted for each other.

5) Customizability is the modifiability of the user interface by the user or the system.

Robustness and principles

Robustness is the level of support provided to the user in determining achievement and assessment of goals. Below you can see the principles that affect flexibility.

Principles -

1) Observability is the ability of the user to evaluate the internal state of the system from its perceivable representation.

2) Recoverability is the ability of the user to take corrective action once an error has been recognized.

3) Responsiveness is how the user perceives the rate of communication with the system.

4) Task conformance is 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

Now we are going to look at standards and guidelines that can use for interactive systems.

Standards -

Standards are made by national and international groups and can be applied to software and hardware that is needed to make interactive software.

The underlying theory behind this is, software standards are based on theories of psychology and cognitive science. These areas are less formed and hard to interpret in the language of software design. Standards for hardware are more related to hardware specifications.

Always requirements changing in a software less affect for hardware. Mostly they are stable and it is difficult to change them quickly. In nature, standards are also more stable and they mostly match with hardware.

Guidelines -

Most of the time it is difficult to define specific standards in the design of interactive systems because of the incompleteness of the underlying theories. Therefore, more rules made for interactive systems are general guidelines. We have to consider how these guidelines are applicable to different stages of a design. A guideline more suitable for a detailed design when it becomes more specific. We can find so many guidelines that were published for interactive system design.

Using all these rules also need commitments to form the designer to some extent to have a better interactive system. Because of that golden rules and heuristics were introduced. Next, we can see some of them.

Shneiderman’s 8 Golden Rules

This set of rules gives a summary of the key principles used in interface designing.

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 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 responded 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

Norman’s seven principles also provide a summary of user-centered design philosophy.

1. Use both pieces of knowledge in the world and knowledge in the head.

2. Simplify the structure of tasks.

3. Make things visible

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.

Now I’m going to write about another sub filed in human-computer interaction. It is “Evaluation techniques for interactive systems”.

Evaluation techniques for interactive systems

Designers use lots of evaluation techniques to make more interactive software design. In this section, I’m going to write about how this evaluation process matters in the design process.

What is evaluation?

When we build a product, we need to make sure our product or design should meet the requirement. So this process of assessing the design and testing the system is called evaluation.

Usually, evaluation should occur throughout the design life cycle rather than keeping it as a single phase. Evaluating in the early stages is important because we can find out problems with our system and correct them before they cost a lot. Therefore, users are getting involved in this process.

Goals of evaluation

There are three major goals of this evaluation process.

Assess the extent and accessibility of the system’s functionality -

This means the design of the software should enable users to do the relevant task easily. The design should display the functionalities in the system also, make them easily reachable to users.

Assess user’s experience of the interaction -

Here, we have to consider, how easy the system to learn, the usability of the system, and the user’s satisfaction with it.

Identify any specific problems with the system -

This is mostly related to both functionality and usability of the design of an interactive system and use to identify trouble-spots.

Evaluation through expert analysis

Evaluation occurs through a whole design process. It is better if the design itself can be evaluated because when it comes to the end of the process, it costs more to correct mistakes. It is a bit difficult task to carry out assessments in the early stage of a project, not finished projects. But now a number of methods have been introduced to do an evaluation through expert analysis. Below you can see details of three of them.

Cognitive walk-through -

Polson and his colleagues introduced cognitive walk-through. In software engineering, a walk-through is done by reviewing the code. Their reviewers check whether the code has the relevant characteristics. The main focus of the cognitive walk-through is to establish how easy a system is to learn. That means learning through exploration.

Heuristic evaluation -

Jakob Nielsen and Rold Molich developed heuristic evaluation. It is like a guideline or a general principle that is used to structure the critique of a system using a set of relatively simple and general heuristics. This method can be used in both early designs and finished ones. Therefore, it is a very flexible approach.

Model-based evaluation -

Another important approach is doing evaluations using models. In this approach also we can identify how people would use a created software design to obtain predicted usability measures by calculations and simulation. This will give more details about the relationship that has between the user’s task and the system design.

Evaluation through user participation

User participation is mostly engaged with a system in the later stage of a design. There are also techniques that can do evaluation using users. Below I’m going to mention those techniques and styles of evaluation.

Styles of evaluation -

Laboratory studies — These are performed under laboratory conditions. Users will move to a special environment (ex:- a quiet room) When doing this approach.

Field studies — These are performed in the field. That means designers and reviewers go to the environment where the user is in and do the evaluation.

Empirical methods: experimental evaluation -

Using a controlled experiment is one of the most powerful methods used for design evaluation. From that reviewers can get a clear idea for a particular claim or hypothesis. This is really helpful to study different issues at different levels of the design. When a hypothesis is testing, we can use different attributes to measure it. They are participants chosen, the variables tested and manipulated, and the hypothesis tested.

Observational techniques -

In this technique, reviewers do the evaluation by observing how users interact with a system. It means they gather information based on the actual use of a system. Mostly this process can be carried out in users’ workplaces and they will be receiving predefined tasks to complete. Reviewers can watch and observe how users engage with those tasks and how they complete them. There are techniques used to evaluate a system by observing user behavior. They are, think aloud and cooperative evaluation, protocol analysis, automatic protocol analysis tools, and post-task walkthroughs.

Query techniques -

In query techniques, reviewers try to get an idea from the user about their view of the system. That means they asked about the interface directly from their users. From that, they can gather more information about user requirements. This is a very easy technique and it helps designers a lot. Reviewers can identify issues with their design that was not recognized by designers. There are two main types of query techniques. They are interviews and questionnaires.

Evaluation through monitoring physiological responses

In previous, all techniques reviewers can get an idea of how users interact with the system and what they want. But is there any way to identify how users really work with a system and what they really feel about that? There should be a way to measure these things also. For that, most of the designers pay their attention to objective usability testing. There are two areas that we can use to measure them. They are, eye-tracking and physiological measurement.

Next, I’m going to write about another sub filed in human-computer interaction. It is “Universal design for interactive systems”.

Universal Design for Interactive Systems

In the above mention details, in every technique, designers test their designs with a set of people. But when it comes to society, there is huge diversity among human beings. They are coming from different cultures, backgrounds, have different views, have different size bodies, different age groups, etc. Therefore, designs that we are making for users must be universal. That means these designs can be used by many people that have different abilities on different platforms. To achieve this goal designers should build designs that have built-in redundancy or compatible with assistive technologies. First let’s see, what are the principles that we can use for universal designs.

Universal Design Principles

A group of people at North Carolina State University in the USA proposed seven principles for making universal designs.

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 the choice of methods of use and adaptivity to the user’s pace, precision, and custom.

3) Simple and intuitive to use — it should be simple 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 — the 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.

Next, we’ll see what is multi-modal interaction.

Multi-modal interaction

Providing access to information through more than one mode of interaction is one of the most important principles of universal design principles. These are the designs related to multi-modal interaction. There are five sensors in the human body. We’ll see how these sensors important in interactive designs.

Sound in the interface -

Sound is very important to have good usability in your design. Some researchers found that using sound options is very helpful to reduce errors that can happen in a system. It won’t get space from the user interface but it helps a lot. This can be much experienced in video games and several mobile applications. In a very noisy busy environment also you can concentrate on applications through these sound effects. Also, there are two types of sound that we can use in applications. They are, speech and non-speech.

Touch in the interface -

Touching the interface is more useful in interaction design except for computers. Touch is the way that in most of the applications that we can send and receive data. The use of the touch in the interface is known as haptic interaction. This can be divided into two main areas called cutaneous perception and kinesthetics.

cutaneous perception — concerned with tactile sensations through the skin

kinesthetics — the perception of movement and position

Handwriting recognition -

Handwriting is also a very important sensor for usability. This can be graphical or textual. But sometimes we can identify the users’ feelings about the system through this. It is a natural form of communication. Sometimes there are problems with how to input handwriting in applications but now many new methods coming to overcome that issue. In most of the applications, designers use capturing handwriting and input them into the application method.

Gesture recognition -

The gesture is also a very important sensor in usability. Through some simple gestures, it is easy to handle an application. Also, this is very helpful for people who have hearing loss and translating problems. But gestures different from person to person. There can be huge differences in people’s gestures for the same idea. Technologies that we used to identify gestures cost more. They are very expensive. But through most of these technologies, designers can have a lot of information about usability experience.

Designing Interfaces for diversity

As I mentioned earlier also, there is a huge diversity among users and we have to design our applications that can use many of them. Therefore, we have to consider their diversity at different levels and find new ways of how all users can have that ability to use applications. Here I consider three main areas briefly that matter most.

1) Disabilities -

There are people who have disability problems. But now in most of the fields, they can also work without worrying about these disabilities.

When it comes to visual impairment, it is very difficult to overcome that problem because of the usability of applications now mainly based on screens. However, touch-typing and brail mechanisms become more helpful in this problem.

Comparing to visual impairment, hearing impairment is not much difficult to overcome. Because they can see the screen but there are problems with communication. For that email and instant messaging options can be used.

People who have physical impairments in their hands will affect usability. Because they can have problems using mouse also. Speech input-output option, track eye control for cursor behavior are good options to overcome that problem.

To help people with speech impairments, designers have introduced many tools. As mentioned previously, touch-typing is a good option for this disability.

2) Age groups -

The usability of a system becomes very different when we compare it with age groups. Older people get more time to understand technological things. But children understand them very quickly. They have the ability to identify the behavior of a particular application quickly. Also, children and youth like to have more colors and interactive things in applications. But older people may not have that type of interest. Considering the age group also we can design an application interface according to their choices and abilities.

3) Cultures -

Culture is made from things around people. The above two factors also reasoning for this. According to language, cultural symbols, gestures, colors, pictures people going to decide websites or applications. Therefore, designers should more careful in considering this area. Because sometimes people can have the wrong intention about your application if you do not use those components in the correct way.

This is the end of this article. Here, I briefly consider only three sub-topics in human-computer interaction. You can find more details about this topic with more examples. Thank you for reading my article.

RESOURCES

Human Computer Interaction — Third edition — Alan Dix, Janet Finlay, Gregory D. Abowd, Russell Beale

https://web.eecs.umich.edu/~kieras/docs/TA_Modeling/Model-based_eval.pdf

--

--