• Aucun résultat trouvé

2. State of the Art

2.1 Human-computer interaction

Human computer interaction (HCI) is a vast and well established field that integrates knowledge about technological limitations and theories from cognitive science about the processing capabilities of human beings. Its goals are to enhance existing interaction capabilities between humans and computers, to create new interaction paradigms, and to develop concrete and standardized design principles for the devices and applications used in human-computer communication. The design principles and guidelines that have been developed can be grouped into three general categories - 1) those that pertain to requirements gathering and design processes, 2) those that help ensure the usability of the system, and 3) those that deal with evaluating a system. These three categories are discussed in the sections below, but only at the general level and in relation to the work in this thesis. Detailed information can be found in HCI textbooks such as Human Computer Interaction [9] and The Human-Computer Interaction Handbook [12].

User requirements gathering and design processes

Various methods have been developed to gather user requirements for system design.

These include questionnaires, interviews, task analysis and task modelling. The choice of an appropriate method depends on the tool or software being designed, and the situation and resources available to the designers. Similarly, there is no one established design process that can meet the design needs of all types of systems [13]. Design processes can and do vary, in particular as concerns the point at which end-users are involved. In some cases, the end-users are included right from the conception of the system and are active participants/partners throughout the development cycle [10]. In others, they may only be involved in the requirements gathering and final evaluation stages.

Ensuring usability

There are several inter-related factors that contribute to the overall usability of a system.

At the general level there are what Dix et al. [9] call usability principles which include:

1. learnability – how easy the system is to learn, which is often measured by how quickly a user can begin to effectively use the system. This concept is broken down further into the sub-principles of predictability (how easily a user can predict the effect of a new action based on their experience with previous actions), synthesizability (how the user can know what affect their past actions have had and how that has manifested itself in the current state of the system), familiarity (how much the user’s existing knowledge and experience with the world around them can help them use the new system), generalizability (how easily a user’s existing knowledge can be carried across between different applications), and consistency (the likelihood that a given behaviour will be the same given the same situation).

2. flexibility – the variety of different ways in which the user and the system can communicate. This can for example take the form of different levels of dialogue initiative which allow the user differing degrees of control over the system, or input/out flexibility, which allows the user to use different devices to communicate with the system.

3. robustness - how the system helps the user to determine whether their goals have been achieved. Here, the notions of observability (how easily the user can see the effects of their actions in the system), recoverability (how easily a user can recover if they encounter a problem during their interaction with the system) and responsiveness (how the user perceives the speed at which the system responds to their commands) play the key roles.

In addition to these general rules, there are lower-level factors that are important including the choice of input device, choice of output media, the look and placement of interface elements, and consideration of the interaction strategies that users are likely to adopt.

Performance of hardware in relation to its use by humans for a particular application or task has been studied to a large degree. For example, the comparative performance of various input devices, both in terms of inducing or reducing physical strain on the user, or

for improving their speed and accuracy. When trying to determine the appropriateness of different input devices for a particular system, such factors must be taken into consideration as they can greatly influence the usability and efficiency of a system

Another important step in system design is choosing the appropriate media to express information to the user. The choice of media most often depends on the technical resources available when developing the system, on the types of users that are expected to use it, and on the types of information that the system is trying to convey.

Closely related to the question of appropriate media are the communication mechanisms that are incorporated and how they are used. For example, early research in HCI discovered that providing the user with well timed feedback as to whether the system had received and was processing a command was crucial to ensuring smooth interaction [10].

This meant for example the inclusion of progress bars, or the well known Apple hour-glass, which told the user that the system was working/thinking. Choosing how and when to incorporate feedback can have a significant effect on the user’s perception of the system.

The layout of interface elements on the screen is also an important issue. Designers need to blend aesthetic characteristics of the elements (which have been shown to have a subconscious psychological impact on how users perceive a system) with their need and utility in the interface, to find just the right balance to promote usability. Dix et al. [9] for example, cite three different ways of organizing controls and displays on the screen: (1) functional, where elements with related functionalities are kept together, (2) sequential, for cases where the order in which elements are used is more important to the overall interaction, and (3) frequency, where elements are placed together depending on how often they are used.

A large amount of research has also gone into studying the principles of graphical design of interface elements, such as the use of colour, fonts, text size, and the use of icons and other imagery, as well as cognitive factors in user perception. Some of these include studies in the field of vision, the optimal speed and volume at which to perceive sound and light, response times to visual and auditory stimuli, attention and fatigue. All of these factors must be taken into account at various levels and to different degrees when designing HCI systems.

Finally, numerous studies both in the psychological and HCI literature have shown that novice and expert users react differently to problem solving and consequently in their

encounters and interactions with computer systems. Novice users tend to require more guidance and assurance, whereas expert users require quick access to functionalities which they know exist, and tend to pay more attention to the more cosmetic aspects of a system [13]. Providing the system with capabilities to satisfy the needs of both groups of users is an important factor in creating a system that is usable by a larger public.

Evaluation methodologies

Finally, various methodologies have been developed to evaluate HCI systems. These range from expert and heuristic evaluations to different types of end-user evaluations such as questionnaires, walkthroughs, and think-aloud protocols to more specific or targeted types of evaluations such as the Wizard of Oz methodology, which will be discussed in detail in Chapter 5.

It is important to note that many of these design principles have been established for commonly used means of input (such as keyboard, mouse, and joystick) and output (graphics, text and sound). There has been relatively little work on similar principles for more sophisticated modalities such as voice and gesture, and even less on principles that guide the integration of several complex modalities in a single system [14].