human-computer interaction

A good interface design is a crucial fact in computer technology since it focuses on the interaction between the user and the computer. In this era having a good interface is very important and also poorly designed human-machine interfaces can lead to many unexpected problems.

So it is a must to have design rules which can follow to increase the usability of the eventual software product.

Principles are abstract design rules, with high generality and low authority. Principles can provide the repeatability which paradigms in themselves cannot provide. The principles can be divided into three main categories.

Principal of Learnability

Several principles support learnability, which focuses on the features in the software system that allows users to understand how it works or how to have a maximum level of performance. They are Predictability, Synthesizability, Familiarity, Generalizability, and Consistency. Predictability supports the user to determine the effect of future action based on past interaction history. For example, mathematical puzzles are given with three or more numbers to determine the next number. Synthesizability supports the user to assess the effect of past operations on the current state. Familiarity supports 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. Generalizability supports for the user to extend knowledge of specific interaction within and across applications to other similar situations. Consistency supports likeness in input-output behavior arising from similar situations or similar task objectives.

Principles of flexibility

There are several principles that contribute flexibility which refers to the multiplicity of ways in which the end-user and the system exchange information. They are Dialog initiative, Multi- threading, Task migratability, Substituvity, and Customizability. Dialog initiative allows the user freedom from artificial constraints on the input dialog imposed by the system. In the system pre-emptive user simply responds to requests for information. In user pre-emptive user is entirely free to initiate any action towards the system. Multithreading is the ability of the system to support user interaction pertaining to more than one task at a time. 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. Substituvity allows equivalent values of input and output to be arbitrarily substituted for each other. It helps to minimize the user error and cognitive errors. Customizability is the modifiability of the user interface by the user or the system.

Principles of Robustness

Observability, Recoverability, Responsive, and Task Conformance are the principles support robustness which that interaction covers features that support the successful achievement and assessment of the goals. Observability is the ability of the user to evaluate the internal state of the system from its perceivable representation. Recoverability is the ability of the user to take corrective action once an error has been recognized. Responsive focuses on how the user perceives the rate of communication with the system. 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 Guidelines

Standards can be applied for either hardware or the software used to build the interactive system. They are set by national or international bodies to ensure compliance with a set of design rules by a large community. Software standards are based on theories from psychology or cognitive science. Standards for hardware can directly relate to a hardware specification. International Organization for Standardization (ISO) issued ISO 14915 covering software ergonomics for multimedia user interfaces and ISO 9241 defines usability as effectiveness, efficiency, and satisfaction with
which users accomplish tasks.

There are many guidelines for user interface design. Guidelines can be automated to some extent, providing a direct means for translating detailed design specifications into actual implementation. Abstract guidelines applicable during early life cycle activities and detailed guidelines applicable during later life cycle activities. There is a famous guideline list made by Smith and Mosier and they included basic categories. They are Data entry, Data display, Sequence control, User guidance, Data transmission, and Data protection.

Shneiderman’s 8 Golden rules

Shneiderman’s eight golden rules provide a convenient and succinct summary of the key principles of interface design. Those 8 rules can be described as this.

  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

In Norman’s classic book ‘The Design of Everyday Things’ he has described user-centered design principles and it can be summarized as follows.

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

In interface designing, the evaluation does an important role because it ensures that the design fulfills user requirements and behaves as expected. By evaluating interfaces designers can determine how usable they are for the different user groups and identify foremost features for future designs. Evaluation should occur throughout the design life cycle.

There are three main goals in the evaluation.

  • to assess the extent and accessibility of the system’s functionality — The design of the interface should clearly reachable by the user in terms of the actions that the user needs to take to perform the task. And should include appropriate functionality within the system.
  • to assess users’ experience of the interaction — This includes considering aspects such as how easy the system is to learn, its usability, and the user’s satisfaction with it. And it may also include his enjoyment and emotional response, particularly in the case of systems that are aimed at leisure or entertainment.
  • to identify any specific problems with the system — This is related to both the functionality and usability of the design.

By having evaluation throughout the design process expensive mistakes can be avoided because the error can be discovered in an earlier stage. There are methods that have been proposed to evaluate interactive systems through expert analysis. 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. And another advantage is the evaluation cost is relatively cheap.

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 main focus of the cognitive walkthrough is to establish how easy a system is to learn. To do a walkthrough there are four things need to know.

1. A specification or prototype of the system

2. A description of the task the user is to perform on the system.

3. A complete, written list of the actions needed to complete the task with the proposed system.

4. An indication of who the users are and what kind of experience and knowledge the evaluators can assume about them.

Heuristic evaluation

This 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. Because of the flexible and relatively cheap approach, it is called as discount usability technique. To aid the evaluators in discovering usability problems, a set of 10 heuristics are provided.

1. Visibility of system status Always keeps users informed about what is going on, through appropriate feedback within a reasonable time.

2. Match between system and the real world system should speak the user’s language, with words, phrases, and concepts familiar to the user, rather than system-oriented terms. And Follow real-world conventions, making information appear in natural and logical order

3. User control and freedom Users often choose system functions by mistake and need a clearly marked ‘emergency exit’ to leave the unwanted state without having to go through an extended dialog. And Support undo and redo

4. Consistency and standards Users should not have to wonder whether words, situations, or actions mean the same thing in a different context. Follow platform conventions and accepted standards.

5. Error prevention Make it difficult to make errors. Even better than a good error message is a careful design that prevents a problem from occurring in the first place.

6. Recognition rather than recall Make objects, actions, and options visible. The user should not have to remember information from one part of the dialog to another.

7. Flexibility and efficiency of use Allow users to tailor frequent actions.

8. Aesthetic and minimalist design Dialogs should not contain information that is irrelevant or rarely needed.

9. Help users recognize, diagnose, and recover from errors Error messages should be expressed in plain language, precisely indicate the problem, and constructively suggest a solution.

10. Help and documentation Any such information should be easy to search, focused on the user’s task, list concrete steps to be carried out, and not be too large.

Review based evaluation

In this method Results from the literature used to support or refute parts of the design. Dialog models can also be used to evaluate dialog sequences for problems, such as unreachable states, circular dialogs, and complexity. Models such as state transition networks are useful for evaluating dialog designs prior to implementation.

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. There are some techniques available for evaluation with users.

Laboratory studies

This approach has many advantages as well as disadvantages. A well-equipped usability laboratory may contain sophisticated audio/visual recording and analysis facilities, two-way mirrors, instrumented computers, and the like, which cannot be replicated in the work environment. However, it is difficult to observe several people cooperating on a task in a laboratory situation. If system location is dangerous or impractical for constrained single user systems to allow controlled manipulation of use, this is the only method can have.

Field studies

Observing in the natural environment and having longitudinal studies possible are advantages of this method. But high levels of ambient noise, greater levels of movement, and constant interruptions, such as phone calls, all make field observation difficult.

In evaluation one of the most powerful methods is experimental evaluation. Here the evaluator chooses a hypothesis to test, which can be determined by measuring some attribute of participant behavior. There are a number of factors that are important to the overall reliability of the experiment. They are participants, hypothesis, variables, and experimental design.

When evaluating there are many observational methods that can use. In Think Aloud the user is asked to talk through what he is doing as he is being observed. The main advantage is simplicity and also with this designer can provide useful insight with an interface that can show how the system is actually used. Cooperative evaluation, protocol analysis, automated analysis, and post-task walkthroughs are the remaining methods.

Another set of evaluation techniques relies on asking the user about the interface directly. Mainly there are two query techniques. They are interviews and questionnaires. Normally interviews are based on prepared questions and ask one to one basis. Questionnaires are set of fixed questions for users.

Evaluation through monitoring psychological responses has two methods. They are eye-tracking and psychological measurements.

Universal Design Principles

In the late 1990s a group at North Carolina State University in the USA proposed seven general principles of universal design which give us a framework in which to develop universal designs.

· Equitable use — the design is useful to people with a range of abilities and appealing to all and no user is excluded or stigmatized

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

· simple and intuitive to use — regardless of the knowledge, experience, language, or level of concentration of the user. The design needs to support the user’s expectations and accommodate different language and literacy skills

· perceptible information — the design should provide effective communication of information regardless of the environmental conditions or the user’s abilities. The redundancy of presentation is important: information should be represented in different forms or modes.

· 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 and potential hazards should be shielded by warnings

· low physical effort — systems 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.

· size and space for approach and use — Can be reached and used by any user regardless of body size, posture, or mobility. All physical components should be comfortably reachable by seated or standing users

Multi-modal interaction is providing access to information through more than one mode of interaction. In the human body, there are five senses. They are sight, sound, touch, taste, and smell. Usually, in WIMP based interfaces (Windows, Icons, Manus, Pointer) designers make use of only rudimentary sounds while adding more and more visual information to the screen. Adding audio confirmation modes in the form of changes in key clicks reduces errors. Sound can convey transient information and does not take up screen space, making it potentially useful for mobile applications.

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 and it has two types; Cutaneous perception (tactile sensation; vibrations on the skin) and kinesthetic (movement and position; force feedback). Some examples for touch in an interface are electronic braille displays and force feedback devices.

Handwriting is another communication mechanism that we are used to in day-to-day life. Hand writings are captured by digitizing tables. Information written onto the digitizer can simply be redisplayed, or stored and redisplayed for further reference. However, there are many problems when it comes to handwriting since it varies from day to day and person to person.

Being able to control the computer with gestures would be advantageous in many situations. Something like a special Lycra glove or position sensing devices can be used to interact with gesture recognition interfaces. User dependent, variable, and issues of co-articulation can occur problems while using this.

In a society, there are many disabled people who suffered while doing their day-to-day activities. Designers should pay attention to how will affect it when disabled people interact with computers. Luckily nowadays we can see many new technologies which can be very helpful for those people to interact with digital equipment. Here are some examples of solutions for different impairments.

  • visual impairment — screen readers, SonicFinder
  • hearing impairment — text communication, gesture, captions
  • physical impairment — speech I/O, eyegaze, gesture, predictive systems (e.g. Reactive keyboard)
  • speech impairment — speech synthesis, text communication
  • dyslexia — speech input, output
  • autism — communication, education

Older and younger people have different intentions and abilities when it comes to technology. Older people need more simple designs or communication tools to prevent social isolation.

There are some key factors when we consider cultural diversity. These include language, cultural symbols, gestures, and the use of color in the design.

Universal design is about designing systems that are accessible by all users in all circumstances, taking account of human diversity in disabilities, age, and culture.

Software Engineering Undergraduate University of Kelaniya