130
Nicolas Roussel Introduction à l’Interaction Homme-Machine In Situ project-team LRI (Univ. Paris-Sud – CNRS) & INRIA http://insitu.lri.fr/ situ in Maître de Conférences en Informatique à l’Université Paris-Sud Membre de l’équipe-projet In Situ de l’INRIA Pour me joindre : [email protected] Quelques pages web ! http://insitu.lri.fr/ ! http://insitu.lri.fr/~roussel/ ! http://insitu.lri.fr/~roussel/enseignement/IHM/ ! http://insitu.lri.fr/~roussel/digital-library/ Qui suis-je ?

61453824-Introduction à l'interaction homme-machine.pdf

Embed Size (px)

DESCRIPTION

Introduction à l'interaction homme-machine

Citation preview

Page 1: 61453824-Introduction à l'interaction homme-machine.pdf

Nicolas Roussel

Introductionà l’Interaction Homme-Machine

In Situ project-teamLRI (Univ. Paris-Sud – CNRS) & INRIAhttp://insitu.lri.fr/situin

Maître de Conférences en Informatique à l’Université Paris-Sud

Membre de l’équipe-projet In Situ de l’INRIA

Pour me joindre : [email protected]

Quelques pages web

! http://insitu.lri.fr/

! http://insitu.lri.fr/~roussel/

! http://insitu.lri.fr/~roussel/enseignement/IHM/

! http://insitu.lri.fr/~roussel/digital-library/

Qui suis-je ?

Page 2: 61453824-Introduction à l'interaction homme-machine.pdf

Qui êtes-vous ? Que savez-vous de l’IHM ?

Avez-vous déjà réalisé un système interactif ?

Sur quelle plate-forme, quel langage, quelles librairies vous-êtes vous basés ?

Comment avez-vous conçu la partie interactive de ce système ?

Combien de temps avez-vous consacré à la conception ? Combien de temps pour l'implémentation ?

Qui a utilisé ce système ? Pendant combien de temps ?

L’avez-vous évalué ? Si oui, comment ?

Quelle différence faites-vous entre interface et interaction ?

Qu’est ce qu’un système interactif ?

Xerox Star, 1981IBM 7030, 1961 IBM PC, 1981 Apple iMac, 2007

Toyota Corolla Verso, 2007Borne SNCF, 2004Nokia N70, 2005 Freebox HD, 2006

Page 3: 61453824-Introduction à l'interaction homme-machine.pdf

Histoire partielle et partialede l’Interaction Homme-Machine

Jusqu’aux années 60 : mécaniques, cartes perforées et diodes

Mark-I, 1944

IBM SSEC, 1948

IBM 7030 (Stretch), 1961

Page 4: 61453824-Introduction à l'interaction homme-machine.pdf

1945 : Vannevar Bush

Memex : un instrument de mémoire externe

! un système électromécanique utilisé pour conserver ses livres, notes, archives, etc.

! un système de mots clés, de références croisées et des mécanismes d'indexation permettant d'accéder rapidement à l'information

! la possibilité d'annoter les documents stockés et de sauvegarder un "chemin" (une chaîne de liens)

Directeur de l’OSRD (Office of Scientific Research and Development) pendant la deuxième guerre mondiale

Auteur d’un rapport intitulé “Science, the endless frontier”et de “As we may think”, publié par Atlantic monthly

1960 : Joseph Licklider

Auteur d’un article intitulé “Man-computer symbiosis”

“The hope is that, in not too many years, human brains and computing machines will be coupled together very tightly and the resulting partnership will think as no human brain has ever thought”

Chercheur en psycho-acoustique et informatique au MIT

Directeur de l’IPTO (Information Processing Techniques Office) de l’ARPA (Advanced Research Projects Agency)

Page 5: 61453824-Introduction à l'interaction homme-machine.pdf

1963 : Ivan Sutherland

Doctorant au MIT Lincoln Laboratory

Plus tard : directeur de l’IPTO, fondateur de l’Informatique Graphique

! oscilloscope, stylo optique et boutons

! désignation directe des objets à l'écran

! feed-back sous forme de lignes élastiques

! séparation entre l'écran et les coordonnées de dessin

! zoom avant et arrière (facteur 2000 !)

! structure hiérarchique, opérations récursives

! système de gestion de contraintes

! icônes pour représenter des objets complexes

SketchPad, un outil de dessin en avance sur son temps

1963 : Ted Nelson

Etudiant en philosophie et sociologieInventeur des termes hypertexte (1963, 1965 ?) et hypermedia (1968)

Son projet Xanadu reprend et étend les idées de V. Bush avec pour objectif un système de publication de documents à l'échelle mondiale

Quelques concepts intéressants

! Transclusion : inclusion sans copie d'un fragment de document dans un autre document

! ZigZag : structure pour données multidimensionnelles

Beaucoup d'idées mal comprises mais une influence non négligeable...

Page 6: 61453824-Introduction à l'interaction homme-machine.pdf

A cette époque, l’informatique est une chose sérieuse...

12 janvier 1967 : inauguration de l'IBM 360/30 du CFRO (Centre Français de Recherche

Opérationnelle) de Lille

1968 : Douglas Engelbart

Auteur, en 1962, de “Augmenting human intellect: a conceptual framework” puis créateur du système NLS (oNLine System) au SRI (Stanford Research Institute)

“By augmenting man's intellect we mean increasing the capability of a man to approach a complex problem situation, gain comprehension to suit his particular needs, and to derive solutions to problems”

! partage de fichier et annotations

! messagerie électronique

! partage d'écran, télépointeurs

! audio et video-conférences

! mobilier spécifique

! traitement de texte structuré

! hypermedia

! la souris, le clavier à une main

! écrans haute résolution

! l'idée de fenêtrage

Page 7: 61453824-Introduction à l'interaction homme-machine.pdf

Années 1970 : le temps des interfaces textuelles

Interfaces à ligne de commande

! dialogue purement textuel, proche du dialogue oral

! syntaxe précise, mais structure du dialogue figée et potentiellement complexe

VisiCalc (VisiCorp, 1979)WordStar (MicroPro, 1979)

Menus et écrans de saisie

! notion de statut courant de l'interaction

! le menu regroupe les commandes disponibles à un instant donné, l'écran de saisie regroupe les paramètres requis pour une commande donnée

Le MIT et ses différents laboratoires

Plusieurs laboratoires en rapport avec l’IHM

! Lincoln Laboratory (1951)

! Artificial Intelligence Laboratory (1953) et Laboratory for Computer Science (1963), aujourd’hui CSAIL (2003)

! Architecture Machine Group puis Media Lab (1985)

Exemples de projets

! le langage Logo (1967)

! les débuts de la multimodalité : association du pointage et de la reconnaissance de la parole (Put

that there, 1979)

! langage naturel, synthèse de la parole et reconnaissance de l'écriture

Quelques visionnaires : Ivan Sutherland, mais aussiMarvin Minsky, Seymour Papert et Nicholas Negroponte

Page 8: 61453824-Introduction à l'interaction homme-machine.pdf

Exemple : SHRDLU

Créé entre 1968 et 1970 par Terry Winograd,doctorant au MIT Artificial Intelligence Laboratory

Person: PICK UP A BIG RED BLOCK.

Computer: OK. (does it)

Person: GRASP THE PYRAMID.

Computer: I DON'T UNDERSTAND WHICH PYRAMID YOU MEAN.

Person: FIND A BLOCK WHICH IS TALLER THAN THE ONE YOU ARE HOLDING AND PUT IT INTO THE BOX.

Computer: BY "IT", I ASSUME YOU MEAN THE BLOCK WHICH IS TALLER THAN THE ONE I AM HOLDING.

Computer: OK. (does it)

Person: WHAT DOES THE BOX CONTAIN?

Computer: THE BLUE PYRAMID AND THE BLUE BLOCK.

Person: WHAT IS THE PYRAMID SUPPORTED BY?

Computer: THE BOX.

Person: HOW MANY BLOCKS ARE NOT IN THE BOX?

Computer: FOUR OF THEM.

Person: IS AT LEAST ONE OF THEM NARROWER THAN THE ONE WHICH I TOLD YOU TO PICK UP?

Computer: YES, THE RED CUBE.

Person: IS IT SUPPORTED?

Computer: YES, BY THE TABLE.

...

Un programme capable de dialoguer en langage naturel pour

! comprendre les mécanismes du langage humain

! offrir un moyen simple pour dialoguer avec l’ordinateur

1970 : Xerox PARC

PARC = Palo Alto Research Center, un centre de recherche Xerox créé en 1970

Le PARC regroupe des talents divers qui s'intéressent à la photocopie mais aussi aux systèmes bureautiques

Quelques inventions avant 1975

! l'Alto, une station de travail avec écran bitmap et souris

! le couper/copier/coller

! l'idée de système de fenêtrage

! l'imprimante laser

! Ethernet et le réseau local

Page 9: 61453824-Introduction à l'interaction homme-machine.pdf

GUS, the Genial Understander System

Un système dans la suite de SHRDLU

Développé au PARC par Daniel Bobrow, Terry Winograd et quelques autres

GUS: Where would you like to go?

User: I want to go to San Diego on July 17th

GUS: Where will you be traveling to San Diego from?

User: San Jose

GUS: When do you want to return?

User: I prefer United Airlines

GUS: OK, I have United Airlines from San Jose to San Diego departing July 17. When do you want to return?

Alan Kay : Dynabook et Smalltalk

Doctorat (1969) à l’U. d’Utah, où travaillait Ivan SutherlandL'un des fondateurs du Xerox PARC

L’inventeur de l'ordinateur portable ?Pionnier de l'interaction graphique et de la programmation objet

“The best way to predict the future is to invent it”

“Simple things should be simple, complex things

should be possible”Dynabook

Smalltalk

Page 10: 61453824-Introduction à l'interaction homme-machine.pdf

1981 : Xerox Star

Projet lancé en 1975, commercialisé en 1981

30 années-homme pour un système destiné aux “business professionals”

Quelques caractéristiques importantes

! conception matérielle guidée par les besoins logiciels (analyse de tâches, scénarios, 600-700 heures de vidéo)

! un système fonctionnant "naturellement" en réseau

! une interface graphique basée sur la métaphore du bureau

! l'utilisation d'icônes et de fenêtres et l'idée de WYSIWYG

! un système centré sur les documents (l'utilisateur ne connaît pas les applications)

! ensemble restreint de commandes génériques accessibles par des touches spécifiques

Xerox Star : éléments matériels

CPU microcodé d’une puissance inférieure à un MIPS

! opérations rapides pour accéder à l’écran (BitBlt)

! 385Ko de mémoire

Une connexion Ethernet

Périphériques de stockage

! un disque dur de 10 à 40 Mo

! un lecteur de diskettes 8 pouces

Périphériques d'interaction

! un écran noir et blanc de 17 pouces

! une souris à deux boutons

! un clavier spécial muni de deux pavés de touches de fonction

Page 11: 61453824-Introduction à l'interaction homme-machine.pdf

Xerox Star : interaction

Xerox Star

Un échec commercial…

! un système trop nouveau, trop puissant, trop différent...

! une cible marketing mal évaluée (ex: pas de tableur)

! un prix trop élevé ($16,500)

! une architecture fermée (impossible de développer des applications hors Xerox)

! un manque de volonté politique pour sortir du marché de la photocopie

… mais une influence certaine sur les systèmes actuels

Page 12: 61453824-Introduction à l'interaction homme-machine.pdf

1979 - 1983 : Buroviseur et le projet Kayak, INRIA Rocquencourt

1983 : Apple Lisa

Similaire au Star (inspiré ?), mais un peu moins cher : $10,000

Un nouvel échec commercial...

Page 13: 61453824-Introduction à l'interaction homme-machine.pdf

Une barre de menu, des boîtes de dialogue modales et des applications “visibles” héritées de l'Apple ][

1984 : Apple Macintosh

Un succès commercial

! des idées plus "mures", un marché prêt à les accepter

! un prix agressif ($2,500) pour toucher le grand public

! une boîte à outils pour faciliter les développements externes

! des guides de style détaillés pour inciter à la consistance entre applications

Trois applications clés

! Finder

! MacPaint

! MacWrite

A propos du lecteur de disquette du Mac…

Pourquoi le Mac avait-t-il un lecteur de disquette 3"1/2 ?

Jef Raskin voulait un lecteur de disquette sans bouton Eject, pour que la disquette ne puisse être éjectée que par programme

Le lecteur Sony 3"1/2 était le seul lecteur du marché avec cette fonctionnalité

Page 14: 61453824-Introduction à l'interaction homme-machine.pdf

1988 : NeXTcube, NeXTSTEP, Interface Builder

1984 - 2007 : de Mac OS à OS X Leopard

Page 15: 61453824-Introduction à l'interaction homme-machine.pdf

Issu du projet Athena du MIT : 4000 machines UNIX à connecter, fournies par les nombreux sponsors (DEC, IBM, Motorola, etc.)

1984 : le système X Window

Modèle client/serveur

! séparation quoi/comment qui facilite la portabilité

! utilisation transparente du réseau qui permet l'affichage déporté

Séparation entre mécanismes et politique

d'utilisation

1985 - 2007 : Microsoft, de Windows à Vista

Page 16: 61453824-Introduction à l'interaction homme-machine.pdf

1994 - 2007 : Linux met X Window à la portée de tous

1967 - 1990 : d’Arpanet au World Wide Web

1967 : Arpanet est un réseau créé pour relier des machines

1973 : Vinton Cerf développe TCP/IP

1982 : Jon Postel crée le protocole SMTP (Simple Mail Transfer Protocol)

1990 : Tim Berners-Lee et ses collègues du CERN crée HTTP, HTML et les URIs

Le Web est simple et beau, il connaît une croissance fulgurante, mais les possibilités d'interaction sont extrêmement réduites et les protocoles se figent rapidement

Aujourd’hui, on est encore loin des idées de Bush, Nelson ou Engelbart...

La communication entre individus domine les autres usages du réseau

Page 17: 61453824-Introduction à l'interaction homme-machine.pdf

Un peu de recul...

Quelques définitions

Un système interactif est un système dont le fonctionnement dépend d'informations fournies par un environnement externe qu'il ne contrôle pas [Wegner, 1997]

Les systèmes interactifs sont également appelés ouverts, par opposition aux systèmes fermés - ou autonomes - dont le fonctionnement peut être entièrement décrit par des algorithmes

L'interface est l'ensemble des dispositifs matériels et logiciels qui permettent à une personne de commander, contrôler, superviser un système interactif

L'Interaction Homme-Machine est la discipline consacrée à la conception, la mise en œuvre et à l'évaluation de systèmes informatiques interactifs destinés à des utilisateurs humains ainsi qu'à l'étude des principaux phénomènes qui les entourent

L’utilisabilité est le degré selon lequel un produit peut être utilisé, par des utilisateurs identifiés, pour atteindre des buts définis avec efficacité, efficience et satisfaction, dans un contexte d’utilisation spécifié [ISO 9241]

Page 18: 61453824-Introduction à l'interaction homme-machine.pdf

Résumé chronologique

Mobilité, ubiquité

Le Web

Multimedia

Interfaces graphiques

Interfaces textuelles

2000199019801970196019501940

Bush

Licklider

Sutherland

Nelson

Engelbart

Xerox

PARC

Xerox Star

Apple Macintosh

Styles et paradigmes d’interaction

Evolution des styles d’interaction graphique

! interfaces à lignes de commande : donnent accès à une commande (une fonction) du système

! menus et écrans de saisie : donnent accès à une application (un sous-ensemble des fonctions du système)

! multi-fenêtrage, interfaces iconiques et manipulation directe!: donnent accès à l'ensemble des fonctions du système, et au-delà, à celles du réseau

Il existe d’autres styles

! interaction vocale

! réalité virtuelle, réalité mixte

Au-delà des styles, on peut distinguer trois paradigmes

! ordinateur-outil : interfaces première personne pour augmenter l’utilisateur

! ordinateur-partenaire : interfaces deuxième personne pour déléguer des tâches

! ordinateur-media : interfaces troisième personne, pour la communication humaine

Page 19: 61453824-Introduction à l'interaction homme-machine.pdf

Evolution de l’interactivité

Le degré d'interactivité d'un système peut se mesurer au nombre et à la nature de ses échanges avec les utilisateurs

Deux éléments importants ont contribué à l'augmentation de l'interactivité des systèmes

! la possibilité d'exécution de plusieurs tâches en parallèle

! l'avènement des interfaces graphiques

Le nombre des échanges a beaucoup augmenté, mais leur nature n'a pas vraiment évolué

Beaucoup d’innovations, pas beaucoup d’inventions : l’IHM n’a pas suivi la loi de Moore...

Pourquoi s’intéresser à l’IHM ?

Page 20: 61453824-Introduction à l'interaction homme-machine.pdf

1965 2008

Loi de Moore, loi de Buxton, loi de Dieu (ou de la nature)

Le secret honteux de l’industrie informatique

Despite the enormous outward success of personal computers, the daily experience of using computers far too often is still fraught with difficulty, pain, and barriers for most people, which means that the revolution, measured by its original goals, has not as yet succeeded.

There is a conspiracy of silence on this issue. It's not splashed all over the front pages of the industry trade press, but we all know it's true. Users are largely silent about this. There is no uproar, no outrage. But scratch the surface and you'll find that people are embarrassed to say they find these things hard to use. They think the fault is their own. So users learn a bare minimum to get by. They under-use the products we work so hard to make and so don't help themselves or us as much as we would like. They're afraid to try anything else. In sum, everyone I know (including me) feels the urge to throw that infuriating machine through the window at least once a week. (And now, thanks to recent advances in miniaturization, this is now possible.)

The lack of usability of software and poor design of programs is the secret shame of the industry.

Mitch Kapor

1982 : Lotus et Lotus 1-2-31990 : Software design manifesto

2001 : Open Source Applications Foundation

Page 21: 61453824-Introduction à l'interaction homme-machine.pdf

Pourquoi, comment sommes-nous arrivés là ?

Dans le domaine des produits de haute technologie, le succès initial est souvent lié à un avantage ou à une différence technique

! le développement des nouveaux produits est généralement basé sur les avancés technologiques

! le marketing est lui-aussi axé sur les caractéristiques techniques

! la cohérence entre produits n’a pas vraiment d’importance au départ

Une fois que le marché mûrit, la donne change

! la technologie devient de moins en moins importante

! l’expérience utilisateur joue un rôle crucial : les nouveaux consommateurs veulent de la fiabilité et de la simplicité pour un coût modique

Problème : les ingénieurs et les marqueteurs ne connaissent pas grand chose aux utilisateurs...

Le seuil de frustration/indignation (d’après Paul Saffo)

L'utilisabilité ne garanti pas le succès commercial (e.g. DOS vs. Mac OS)

En fait, les utilisateurs s’adaptent trop facilement... et ils en sont fiers !

Mais il y a une limite : le seuil de frustration, ou d’indignation

! le monde du travail impose un seuil élevé (e.g. RSI, fatigue oculaire)

! le marché des early adopters a un seuil encore plus élevé !

! le marché “grand public” a un seuil beaucoup plus bas

! le seuil diffère suivant les cultures ou l’âge (e.g. bankomat ou guichetier, self-service ou pompiste ?)

! il s’élève à mesure que la technologie concernée entre dans les moeurs (e.g. voiture, téléphone)

Page 22: 61453824-Introduction à l'interaction homme-machine.pdf

The consumer universe (Paul Saffo, 1996)

willin

gness

to p

ay

threshold of indignation teenage hacker

Cyber

space

US Air Force general

B2 Bomber

average consumer

Tele

phone

Hollywood starlet

Rolls

Royce

The high-tech spread (Paul Saffo, 1996)

willin

gness

to p

ay

threshold of indignation

Tele

phone

TV

VCR

HiFi

consumerelectronicindustry

Main

frameWork

station

PC

computerindustry

?

Page 23: 61453824-Introduction à l'interaction homme-machine.pdf

Exemples de sources de frustrations quasi-quotidiennes...

Microsoft Surface, 2007

Demain ?

Toyota Corolla Verso, 2007Borne SNCF, 2004

Nokia N70, 2005 Freebox HD, 2006Apple MacBook Pro, 2006

Pourquoi s’intéresser à l’IHM ? (d'après P. Denning & P. Dargan)

Parce que ne pas s’y intéresser coûte très cher...

1979 : enquête de l’US Government Accounting Office

! 2% des dépenses en logiciel pour des softs livrés et utilisés

! 25% pour des softs jamais livrés

! 50% pour des softs livrés mais jamais utilisés

Un cas extrême, mais représentatif de la crise du logiciel (196x) et sans doute encore valable aujourd’hui

Solution proposée à l’époque : le Génie Logiciel

Problème : les méthodes de Génie Logiciel peuvent créer l’illusion que la clé de la conception réside dans l’application d’un processus rigoureux permettant de transformer des besoins en un système

S’intéresser à l’utilisateur final coûte cher, mais les changements tardifs ou après coup peuvent coûtent encore plus, par réduction des alternatives

Page 24: 61453824-Introduction à l'interaction homme-machine.pdf

Pourquoi s'intéresser à l'IHM ? (d'après Mitch Kapor)

Pour aller vers la notion de design d’interaction

! les architectes conçoivent les bâtiments dans lesquels nous vivons et travaillons, pas les ingénieurs

! les critères importants dépassent les domaine de l’ingénierie (ex : salle à manger proche de la cuisine, chambres côté jardin)

! nous faisons appel à des architectes mais aussi à des designers graphiques, des designers industriels, etc.

Où sont les designers d’interaction ?

Cette fonction est méconnue et son importance sous-estimée

! pas de place dans l’organigramme

! le design d’interaction est considéré comme une sous-partie de l’informatique, mais les informaticiens s’intéressent plus à la construction interne qu’à la partie externe

Pourquoi s'intéresser à l'IHM ? (d'après Mitch Kapor)

Le design d’interaction est plus complexe que le design d’interfaces

! l’interface peut être conçue après coup, pas l’interaction

! le designer d’interaction s’intéresse au produit dans son ensemble (exemple : VisiCalc et la métaphore du tableur)

Il faut des formations clairement identifiées

! distinctes des enseignements de génie logiciel ou de programmation, axés sur la création de systèmes informatiques utilisables

! fournissant notamment les moyens nécessaires pour évaluer à moindre coût des solutions partielles

! exemple de cours souhaitable : History of the Word Processor

Page 25: 61453824-Introduction à l'interaction homme-machine.pdf

IHM : quels objectifs ? quels moyens ?

puissance

simplicité

Objectif général : déplacer la courbe puissance / simplicité

simplifier et enrichir

simplifier

Page 26: 61453824-Introduction à l'interaction homme-machine.pdf

Exemple : simplifier

Attention : simplifier n’est pas toujours simple...

Page 27: 61453824-Introduction à l'interaction homme-machine.pdf

Exemple : simplifier et enrichir

Pourquoi est-ce difficile ?

Un système interactif est différent d’un système algorithmique : il doit pouvoir réagir à tout moment, même lorsqu’il est déjà en train de faire quelque chose

Premier problème : les informaticiens sont souvent formés à l’algorithmique, au calcul, mais pas à la réactivité...

Deuxième problème : les langages de programmation les plus utilisés ont été conçus pour le calcul, pas pour la réactivité (e.g. les entrées sorties ne sont possibles qu’à l’initiative du programme)

Page 28: 61453824-Introduction à l'interaction homme-machine.pdf

Pourquoi est-ce difficile ? En raison du contexte...

Pourquoi est-ce difficile ?

Comprendre le comportement, les besoins et les désirs des utilisateurs, concevoir le système ou le produit qu’ils attendent est difficile

2 5 6

Page 29: 61453824-Introduction à l'interaction homme-machine.pdf

Vers une informatique située

Une approche de conception des systèmes interactifs qui prend en compte le contexte et les situations d'usage

Contexte humain

! ses capacités perceptives, motrices et cognitives

Contexte physique

! la forme du système informatique

! son intégration dans l'environnement physique de l'utilisateur

Contexte social et organisationnel

! les relations entre les différents utilisateurs du système

! les pratiques de travail, accommodations, ou détournements qui permettent par exemple de faire face aux situations imprévues ou d'améliorer la routine

Exemple d’environnement complexe : le cockpit d’un Airbus

Accident du Mont St Odile, 1992

87 morts

Airbus A380, 2007

Page 30: 61453824-Introduction à l'interaction homme-machine.pdf

Autre exemple : les centres de contrôle aérien

1970

2002

Solution : une approche pluridisciplinaire

Designpsychologie

sociologie

anthropologie

design industriel

arts graphiques

Sciences de la nature

systèmes

interactifs

Ingénierie

architectureinformatique

électronique

mécanique

physiologie

Page 31: 61453824-Introduction à l'interaction homme-machine.pdf

Solution : une conception itérative centrée sur l’utilisateur

générer

des idées

observer, interroger

prototyper

Conception

iterativeévaluer

Exemples de méthodes utilisées

Critical incident interview

Human Factors

Fly-on-the-wall

Ethnography

Questionaire

Sociology

Lab study

Psychology

Cultural probe

Design/arts

Task analysis

Human Factors

Event coding

Cognitive psycho.

Scenario analysis

Activity theory

Survey analysis

Sociology

Protocol analysis

Cognitive psycho.

Notecard brainstorming

Psychology

Oral brainstorming

Psychology

Illustrate interaction

Design/arts

Video brainstorming

Participatory design

Design room

Design/arts

Video prototyping

Participatory design

Paper prototypingParticipatory design

Software simulation

Computer Science

Wizard-of-Oz

Human factors

Scaled prototype

Computer Science

Usability studyHuman Factors

Focus group

Marketing

Lab study

Psychology

Design walkthrough

Psychology

Does it work?

Design/arts

Finding out about use

Analyzinguser data

Generating ideas

Designing systems

Evaluating systems

Page 32: 61453824-Introduction à l'interaction homme-machine.pdf

Pour conclure

Quelques références

Articles

! M. Beaudouin-Lafon. “40 ans d'interaction homme-machine : points de repère et perspectives”. Interstices : http://interstices.info/histoire-ihm/

! P. Wegner. “Why interaction is more powerful than algorithms”. Communications of the ACM, 40(5):80-91, May 1997.

! J. Johnson al. “The Xerox Star: A Retrospective”. IEEE Computer, September 1989.

Ouvrages

! B. Shneiderman and C. Plaisant, editors. Designing the User Interface: Strategies for Effective

Human-Computer Interaction, 4th edition, Addison-Wesley, March 2004.

! T. Winograd, J. Bennett, L. D. Young and B. Hartfield, editors. Bringing Design to Software, Addison-Wesley, April 1996.

! J. Raskin. The Humane Interface: New Directions for Designing Interactive Systems, Addison-Wesley, March 2000.

! D. Norman. Things That Make Us Smart : Defending Human Attributes in the Age of the Machine, Perseus Press, May 1994.

! J-F. Nogier. Ergonomie du logiciel et design web, 2nde édition, Dunod, Septembre 2003.

Page 33: 61453824-Introduction à l'interaction homme-machine.pdf

Pourquoi s’intéresser à l’Interaction Homme-Machine ?

Tout le monde “fait de l’IHM”

! nous sommes tous utilisateurs de systèmes interactifs

! nous avons tous des idées sur leur amélioration

Paradoxes et difficultés de l’IHM

! “a good design is better than you think” (Rex Heftman)

! l’adaptabilité de l’être humain est sa force… et sa faiblesse

! l’IHM est un domaine pluridisciplinaire complexe où l’intuition et le bon sens ne suffisent pas

Sur quoi travaillent les chercheurs ?

! comprendre l’interaction en tant que phénomène

! imaginer et évaluer de nouvelles techniques d’interaction

! créer des outils pour améliorer le développement

! définir des méthodes pour améliorer la conception

Une grande partie des résultats de ces travaux est aisément accessible...

Page 34: 61453824-Introduction à l'interaction homme-machine.pdf

Nicolas Roussel

De l’interaction WIMP aux nouvelles formes d’interaction

In Situ project-teamLRI (Univ. Paris-Sud – CNRS) & INRIAhttp://insitu.lri.fr/situin

Interaction WIMP ?

Windows (fenêtres)

Icônes

Menus, boîtes de dialogue, etc.

Pointage, sélection, tracé

Avantages

! apprentissage rapide

! environnements standards

! des techniques simples à utiliser et à programmer

Page 35: 61453824-Introduction à l'interaction homme-machine.pdf

Inconvénients de l’interaction WIMP

Elle est trop simple à programmer…

! une nouvelle version tous les 6 mois

! de plus en plus de menus, de palettes, de barres d'outils, et de boîtes de dialogue

! pas de réel travail de conception de l’interaction

Elle favorisent la manipulation indirecte

Elle reposent essentiellement sur l’utilisation d’un clavier, d’une souris et d’un écran

Elle n’est plus nécessairement adaptée aux systèmes actuels

WIMP : le Latin de l’interaction homme-machine ?

(…) the designers of new GUI applications had to break loose from the tacit assumptions that

had been effective for their design of screen fields, layout, and interaction sequences. The

designers of interfaces yet to come will have the same difficulty in breaking away from the

WIMP language in which they are now so fluent. The WIMP GUI is not the ultimate user-

interface design, any more than Latin was the ultimate language. It has been hardy and useful,

but it is tied to the hardware and systems tradeoffs that prevailed in the 1980s.

Bringing design to software, Winograd et al., 1996

Page 36: 61453824-Introduction à l'interaction homme-machine.pdf

Architecture générale des systèmes WIMP

Système d’exploitation

Périphériques d’entrée/sortie

Application

Outils de construction d’interfaces

Système de fenêtrage

Librairie graphique

Système d’exploitation

Périphériques d’entrée/sortie

Application

Outils de construction d’interfaces

Système de fenêtrage

Librairie graphique

Page 37: 61453824-Introduction à l'interaction homme-machine.pdf

Périphériques d’entrée : quelques exemples

claviers, boîtes à boutons

potentiomètres (rotatifs, linéaires)

souris, tablettes, joystick, trackball

écrans tactiles, crayons optiques

reconnaissance de la parole

voice as sound

capteurs de position et de direction

vision par ordinateur

surfaces interactives

dispositifs hybrides entrée/sortie

Gestion des périphériques d’entrée

attentebloquante

requète échantillonnage

réponseimmédiate

événement

file d'attente

Page 38: 61453824-Introduction à l'interaction homme-machine.pdf

Périphériques d’affichage

iPhone 3,5” : 320x480 153 600 pixels

iMac 24” : 1920x12002 304 000 pixels

HiPerSpace : 11x5 écrans 30”220 millions de pixels

Ecran volumétrique 10” : 192x768x76811 3246 208 pixels

Autres modalités/périphériques de sortie

PHANTOM Omni, 6DOF, 3.3N (SensAble)

Vital (CEA LIST)Diffuseur d’odeur (Exhalia)

Page 39: 61453824-Introduction à l'interaction homme-machine.pdf

Digression autour d’un périphérique à la mode

Pour les détails techniques, voir http://wiibrew.org/index.php?title=Wiimote

12 boutons1 accéléromètre 3 axes1 caméra sensible à l’infrarouge

4 LEDs1 vibreur1 haut-parleur

1 liaison BlueTooth1 connecteur pour extension

Système d’exploitation

Périphériques d’entrée/sortie

Application

Outils de construction d’interfaces

Système de fenêtrage

Librairie graphique

Page 40: 61453824-Introduction à l'interaction homme-machine.pdf

Système de fenêtrage

But : permettre aux applications d’utiliser les différents périphériques d’entrée/sortie

! structurer l’espage d’affichage

! partager les périphériques d’entrée

Une fenêtre est une zone autonome pour l’affichage et/ou l’entrée de données

Exemples de fonctions du système de fenêtrage

! affectation des périphériques d’entrée (focus)

! gestion des différentes fenêtres des applications

! ouverture et fermeture d’applications, gestion de session

! communication entre applications

Du périphérique physique au périphérique logique

Mode de localisation

! absolu (e.g. tablette, écran tactile, crayon optique) ou relatif (souris, joystick, trackball)

! direct (écran tactile, stylo optique) ou indirect (souris, joystick, trackball, tablette ?)

Courbe de réponse : déplacement du curseur en fonction du déplacement du périphérique

X Window MacOStablette (absolu)

Page 41: 61453824-Introduction à l'interaction homme-machine.pdf

Pointage sémantique (Blanch et al., 2004)

Idée : la courbe de réponse du périphérique peut être adaptée en fonction de l’importance des objets à proximité du pointeur

Autre possibilité : avec le pointage vectoriel, Guiard et al., (2004) proposent de sauter les espaces vides

Périphériques et applications

Terminaux virtuels

! une fenêtre appartient à une application

! l'application reçoit (si elle le souhaite) les événements qui se produisent dans ses fenêtres

Suivant le périphérique, différentes gestions du focus

! explicite : les événements sont envoyés à une fenêtre particulière spécifiée antérieurement

! implicite : les événements sont envoyés à la fenêtre correspondant à la position (x,y) qu'ils contiennent

! esclave : le focus suit celui d'un autre périphérique

Page 42: 61453824-Introduction à l'interaction homme-machine.pdf

ICON (Dragicevic, 2001)

ICON permet de simuler des périphériques dont on ne dispose pas ou de reconfigurer dynamiquement les applications pour en utiliser de nouveaux

Modèle graphique

Eléments constituants

! un ensemble de primitives graphiques

! un ensembles d'attributs sur ces primitives

! une sémantique graphique

Principaux modèles utilisés

! pixellaire

! vectoriel 2D

! vectoriel 3D

Le dessin peut être direct (modèle du peintre) ou structuré (graphe d’objets, graphe de scène)

Exemples de librairies/modèles : Xlib, Java2D, PDF, SVG, OpenGL

Page 43: 61453824-Introduction à l'interaction homme-machine.pdf

Modèle pixellaire : attributs d’un pixel

Initialement : table de couleur

Aujourd’hui : adressage par plans (au moins 4)

123bleu

rougejaune

orange

R G B A A = alpha

Modèle pixellaire et vectoriel 2D : exemples de primitives

Lignes droites, courbes (splines, bezier)

Formes libres (freehand drawing)

Polygones (triangles, rectangles, etc.)

Arcs, cercles, ellipses

Texte (fonte+taille+style)

Images bitmap

Hello

Page 44: 61453824-Introduction à l'interaction homme-machine.pdf

Systèmes de coordonnées

Coordonnées liées au périphérique

! unité = pixel

! coordonnées écran ou fenêtre ? quelle orientation ?

Coordonnées physiques

! unité = cm, pouces, etc.

! système indépendant du périphérique mais lié à la technique de présentation utilisée

Coordonnées du modèle

! unité = m, km, etc.

! indépendant de l'application

Autres fonctions offertes par les librairies graphiques de base

Clipping (dessin limité à une partie de l'écran) par masque bitmap ou région

! rectiligne (horizontales et verticales uniquement)

! polygonale

! définie par des lignes et courbes (ex : PostScript)

Anti-aliasing, gestion de la transparence

Conversions entre espaces de couleur (RGB, HSV, CMY, etc.)

Structures de données pour l’affichage (graphe de scène)

Page 45: 61453824-Introduction à l'interaction homme-machine.pdf

Modèles de fenêtrage

Avec ou sans recouvrement

Eventuellement hiérarchique

En cas de recouvrement, réaffichage des parties cachées par le système de fenêtrage (nécessite de mémoriser le contenu des fenêtres) ou par les applications

! nécessite de transmettre les demandes de réaffichage aux applications

! peut bénéficier des mécanismes de clipping de la librairie graphique

Manipulation des fenêtres

Opérations "classiques"

! placer, déplacer

! dimensionner

! iconifier, maximiser, restaurer la taille initiale

! fermer

Décorations

! cadre et/ou barre de titre

! menu, icônes, raccourcis clavier

Quelques opérations plus originales

! réduire à la barre de titre

! toujours au-dessus ou au-dessous

Page 46: 61453824-Introduction à l'interaction homme-machine.pdf

Gestion des fenêtres

“A window manager is a software package that helps the user

monitor and control different contexts by separating them

physically onto different parts of one or more display screens”

“Before window managers, people had to remember their

various activities and how to switch back and forth”

B. Myers. A taxonomy of window manager user interfaces.IEEE Computer Graphics and Applications 8(5), 1988

Exemple d’architecture : X Window

Xserver

X11

application

X11

application

X11

application

any WM

X

drawing

commands

input

events

Page 47: 61453824-Introduction à l'interaction homme-machine.pdf

Before window managers, people had to remember their various activities

Les activités se multiplient

! traitement de texte, tableur

! jeux

! courrier électronique

! Web

! messagerie instantanée

! édition d’images, de sons et de vidéos

! media players

! etc.

Les technologies d’affichage ont évolué

... mais les applications aussi

! elles utilisent de plus en plus de fenêtres (mon PowerPoint a une quinzaine de palettes, mon Photoshop en a une vingtaine)

! elles semblent conçues pour utiliser tout l’écran

Jusque 2001, les librairies graphiques avaient très peu évolué

9”, 512x342 pixels 30”, 2560x1600 pixels

Page 48: 61453824-Introduction à l'interaction homme-machine.pdf

Microsoft Windows, de GDI à GDI+

Alpha blending and anti-aliasingGradient and texture fillsFloating point coordinatesHigh quality filtering and scalingGamma correctionetc.

Le système de fenêtrage vu comme un compositeur d’images

Constat d’Apple en 2001 : le GPU évolue plus vite que le CPU

! CPU : les performances doublent tous les 18 mois (loi de Moore)

! GPU : les performances doublent tous les 6 mois

Quartz Extreme

! “window system as a digital image compositor”

! de nombreux effets (“because we can”)

Page 49: 61453824-Introduction à l'interaction homme-machine.pdf

Mac OS, de QuickDraw à Quartz

Le modèle de composition d’images se généralise...

Page 50: 61453824-Introduction à l'interaction homme-machine.pdf

Quelle évolution en 25 ans ?

Apple MacOS 1.1, 1984 Microsoft Windows 2.03, 1987 X Window + TWM, 1989Xerox Star, 1981

Microsoft Vista Mandriva Linux 2008Apple OS X 10.5

Pendant ce temps là, dans les labos de recherche

rooms (CHI 1987)

the task gallery (CHI 2000)

ametista (CLIHC 2003)

wincuts (CHI 2004)

scalable fabric (AVI 2004)

elastic windows (CHI 1997)

dynamic space management (UIST 2000)

tabbed, rotated, peeled-back, snapped and zipped windows (UIST 2001)

fold-and-drop (UIST 2004)

shrinking window operations (AVI 2004)

mudibo (CHI 2005)

bumptop (CHI 2006)

Page 51: 61453824-Introduction à l'interaction homme-machine.pdf

Ametista (Roussel, 2003)

Une petite boîte à outils pour explorer de nouvelles techniques de gestion de fenêtres

! tire parti des capacités graphiques modernes (OpenGL)

! permet le prototypage basse fidélité et haute fidélité en redirigeant les entrées et sorties d’applications X Window

Xserver

X11

application

X11

application

X11

application

any WM

X

drawing

commands

input

events

Xvnc

X11

application

X11

application

X11

application

Ametista

X protocol

RFB

Ametista

drawing

commands

input

events

host

window

system

Metisse (Chapuis & Roussel, 2005)

Xmetisse

X11

application

X11

application

X11

applicationFVWM

Fvwm

Compositor

Metisse protocol

Metisse

drawing

commands

input

events

X protocol

host

window

system

Page 52: 61453824-Introduction à l'interaction homme-machine.pdf

Metisse (Chapuis & Roussel, 2005)

Ametista transformé en un “vrai” système de fenêtrage

! Xmetisse, un serveur complet dérivé de Xserver

! FVWM, un gestionnaire de fenêtres standard

! FvwmCompositor, un module FVWM au-dessus du système de fenêtrage natif

Un système utilisé quotidiennement depuis le printemps 2004

Disponible gratuitement sous GPL (http://insitu.lri.fr/metisse) et distribué par Mandriva

Xmetisse

X11

application

X11

application

X11

applicationFVWM

Fvwm

Compositor

Metisse protocol

Metisse

drawing

commands

input

events

X protocol

host

window

system

Metisse, au-delà du bureau

Pok3D (Mekensleep) Spin|3D (INRIA - France Télécom R&D)

Xmetisse

X11

application

X11

application

X11

applicationFVWM

Fvwm

Compositor

Metisse protocol

Metisse

drawing

commands

input

events

X protocol

Page 53: 61453824-Introduction à l'interaction homme-machine.pdf

not

a 3D

desktop!

Metisse : exemples

GLSL shaders

Zoomable desktop

Basic and elastic transformations

TabletopFocus+context desktop

Page 54: 61453824-Introduction à l'interaction homme-machine.pdf

Façades interactives (Stürzlinger et al., 2006)

Fonctions de base

! duplication de région

! création de trou

Fonctions avancées utilisant l’API d’accessibilité

! substitution de widget

! composition d’interaction (e.g. toolglass, orthozoom)

De la composition de fenêtres à la composition d’interactions

! personnalisation just-in-time

! personnalisation locale ou temporaire

! personnalisation “profonde” et inter-applications

1

2

Rock and roll ! (Chapuis & Roussel, 2007)

Motivation de départ : changement de l’ordre d’empilement (stacking order) lors d’un copier-coller entre une fenêtre secondaire et la fenêtre d’intérêt principal

Interaction dépendante du contexte : l’interaction avec la fenêtre d’intérêt principal peut être différent de celle avec les fenêtres secondaires

restackroll

unroll

Page 55: 61453824-Introduction à l'interaction homme-machine.pdf

Xmetisse

X11

application

X11

application

X11

applicationFVWM

Fvwm

Compositor

Metisse protocol

Metisse

drawing

commands

input

events

X protocol

host

window

system

Metisse : retour sur l’architecture

Metisse demain : multi-utilisateurs, multi-surfaces ?

MetisseServer

X11application

X11application

X11application

MetisseCompositor

MetisseCompositor

MetisseCompositor

MetisseServer

X11application

X11application

X11application

MetisseCompositor

MetisseCompositor

MetisseCompositor

MetisseServer

X11application

X11application

X11application

MetisseCompositor

MetisseCompositor

MetisseCompositor

MetisseServer

Page 56: 61453824-Introduction à l'interaction homme-machine.pdf

Système d’exploitation

Périphériques d’entrée/sortie

Application

Outils de construction d’interfaces

Système de fenêtrage

Librairie graphique

Du périphérique de localisation à la manipulation directe

Combiné à un périphérique d’affichage, un périphérique de localisation permet à l’utilisateur de pointer, i.e. de désigner une zone de l’écran qui l’intéresse plus particulièrement

L’utilisation d’un effecteur (e.g. un bouton) permet de marquer explicitement son intérêt : on parle alors de sélection

En jouant sur le type d’effecteur utilisé, le déplacement du pointeur pendant son temps d’activation et les répétitions, il devient rapidement possible de spécifier des segments de droite, des zones rectangulaires, des trajectoires, etc.

Exemples

! click avec le bouton gauche de la souris

! click avec le bouton droit, ou avec le bouton gauche et la touche Shift du clavier

! press-drag-release

! double-click

! demi-click, click et demi, etc.

Page 57: 61453824-Introduction à l'interaction homme-machine.pdf

Du périphérique de localisation à la manipulation directe (suite)

La combinaison [écran graphique+clavier+souris] a permis l’émergence d’un style d’interaction : la manipulation directe

Principes fondamentaux (Shneiderman, 1983)

! représentation permanente des objets d'intérêt ;

! utilisation d'actions physiques (e.g. pointage et sélection à la souris) plutôt que de commandes à la syntaxe complexe ;

! opérations rapides, incrémentales et réversibles, dont les effets doivent être immédiatement visibles sur les objets ;

! apprentissage selon une approche progressive afin de permettre l'utilisation de l'interface même avec un minimum de connaissances.

Deux phrases qui résument assez bien la philosophie

! "Point and click instead of remember and type"

! "People are good at recognition, but tend to be poor at recall"

Lignes de commande vs. manipulation directe

Les interfaces à ligne de commande reposent sur une syntaxe verbe-sujet(-compléments), ce qui a quelques inconvénients

! introduit un mode (et donc un risque d’erreur en cas d’interruption)

! rend nécessaire une action de type Cancel (pour sortir du mode)

! impose deux changements du locus d’attention (en supposant que celui-ci était sur l’objet)

La manipulation directe repose sur une approche sujet-verbe(-compléments) et des actions physiques

! pas de changement du locus d’attention, pas de mode

! des interactions génériques (e.g. jeter une icône à la corbeille), la commande effective dépendant de l’objet sélectionné

! les actions physiques rapides, incrémentales et réversibles facilitent un apprentissage rapide et/ou progressif par exploration ou démonstration

Demander/ordonner vs. faire soi-même...

Page 58: 61453824-Introduction à l'interaction homme-machine.pdf

Importance du couplage perception/action

La continuité du couplage perception/action est un élément essentiel de la manipulation directe : les effets des opérations doivent être immédiatement visibles sur les objets

La mise en oeuvre de ce principe passe par des mécanismes de retour d’information (feedback

mechanisms)

Au-delà du pointage et de la sélection : les widgets

Un widget est un objet graphique interactif à trois facettes

! présentation : aspect graphique, plus ou moins paramétrable (e.g. Look and Feel Java)

! comportement : réactions aux actions de l'utilisateur, généralement, peu ou pas paramétrable

! interface d'application : lien avec l’application, notification des changements d'état

Objectifs visés : étendre le vocabulaire, faciliter l’apprentissage et la réutilisation de code

Exemple : les widgets de base du Macintosh (1984)

! bouton (button)

! menu déroulant (pull-down menu)

! case à cocher (checkbox), bouton radio (radio button)

! potentiomètre (slider), champ texte (text field)

! boîte de dialogue pour les fichiers (file open/save dialog)

Page 59: 61453824-Introduction à l'interaction homme-machine.pdf

Tâches élémentaires de l’interaction

A suivre : quelques exemples

! saisie (textes, quantités, positions, tracés)

! sélection (par pointage, dans une liste, par saisie, par menu, exclusive, binaire)

! déclenchement (boutons, cliquer-tirer, entrée gestuelle)

! défilement (barres de défilement, défilement direct, défilement automatique)

! spécification d'arguments et de propriétés (boîtes d’alerte et d’information, boîtes de dialogue, boîtes de propriétés)

! transformations (poignées de manipulation)

Cette liste n'est pas exhaustive...

Tâches de saisie

Saisie de textes : boîtes de saisie

! ligne simple ou multilignes

! formattage standard ou spécial (e.g. pour mot de passe)

Saisie de quantités

! potentiomètres (sliders, range sliders)

! steppers

Saisie de positions : pointage à la souris !

Saisie de tracés : par échantillonnage de la souris

La saisie peut être adaptée au type de valeur recherché (e.g. date, dimensions d’un tableau)

Page 60: 61453824-Introduction à l'interaction homme-machine.pdf

Tâches de sélection

Choix d'un ou plusieurs éléments dans un ensemble

! cardinal fixe ou variable

! cardinal petit ou grand

Cardinal fixe

! boutons radio, cases à cocher

! menus

Cardinal variable

! pointage : avec feedback, éventuellement guidé/aidé, simple ou multiple (groupe ou intervalle) avec possibilité d’ajout ou de retrait

! listes, saisie ou combinaison des deux

Sélection/navigation dans de grandes listes

L’alpha-slider (Ahlberg & Shneiderman, 1994) permet de sélectionner rapidement un élément dans une grande liste (e.g. de 13 à 24 secondes pour trouver un film dans une liste de 10.000 titres)

Autre exemple : OrthoZoom (Appert & Fekete, 2006) permet de naviguer facilement dans les 150000 lignes de texte des 37 pièces de Shakespeare

Le dernier métro

ABC DEF GHIJKL MN OPQ RST UVWXYZ

Page 61: 61453824-Introduction à l'interaction homme-machine.pdf

Sélection dans des menus

Trois grands types de menus

! fixes (palettes)

! surgissants (pop-up), généralement sous la souris

! déroulants (roll-down)

Les items sont généralement triés et groupés à l’aide de séparateurs

Des raccourcis clavier et mnémoniques (e.g. lettres soulignées) sont souvent disponibles

Les mécanismes de feedback sont là encore importants : items grisés, surlignés

Les menus pop-up et déroulants sont souvents hiérarchiques, parfois détachables

Sélection dans des menus

La plupart des menus sont organisés de manière linéaire

Il existe toutefois quelques exceptions...

Pie menus (Hopkins, 1991)

! la sélection radiale est plus rapide que la sélection linéaire

! inconvénient : difficilement utilisable au-delà de 8 items par menu,difficile à positionner dans certains cas...

Marking menus (Kurtenbach, 1993)

! idée : reproduire le geste de sélection sans que le menune s’affiche

! transition aisée du mode novice au mode expert

L’implémentation des menus circulaires pose de nombreux problèmes... mais il existe des solutions

Page 62: 61453824-Introduction à l'interaction homme-machine.pdf

Tâches de déclenchement

Boutons (et menus)

Cliquer-tirer (drag-and-drop) : l'action dépend de la source et de la destination

Entrée gestuelle : spécification simultanée de la commande et de l'objet

Exemples de gestes

Hello

Création Sélection Déplacement, copie

Destruction Editeur musical Tableur

Tâches de défilement

Barres de défilement

! sens du défilement ?

! découplage spatial

Défilement direct

! déplacement “à la main”

! défilement automatique

Zoom

! zoomer pour voir le détail, dézoomer pour voir le contexte

! différentes techniques de pan&zoom : SDAZ, OrthoZoom,control menus

Page 63: 61453824-Introduction à l'interaction homme-machine.pdf

Spécification d’arguments et de propriétés

Boîtes de dialogue : champs + bouton(s) de type Ok, Apply, Cancel, etc.

! boîtes modales ou non modales

! découplage temporel et spatial entre la spécification de la commande, de ses paramètres et de son exécution

! parties optionnelles, boîtes à onglets

Boîtes de propriétés : effet immédiat des modifications sur les objets de la sélection

SizeHello

Size 18Hello

Size 24Hello

Tâches de transformation

Poignées de manipulation et modificateurs permettant de changer la sémantique des actions effectuées (e.g. déplacer, changer la géométrie, dupliquer)

Page 64: 61453824-Introduction à l'interaction homme-machine.pdf

Modes d’interaction

Un mode est un état de l'interface dans lequel les actions de l'utilisateur sont interprétées de façon homogène et différentes des autres modes

Différents types de modes

! modes spatiaux : la même action en différents endroits produit des effets différents

! modes temporels : la même action à des moments différents produit des effets différents

! micro-modes : modes liés à une action physique

Une interface est une collection de modes

Modes d’interaction

Inconvénient des modes

! ils restreignent les fonctions disponibles à un moment donné

! ils obligent l'utilisateur a se souvenir des changements d'état de l'application pour connaître les effets de ses actions

! problèmes classiques : initiative et technique de changement de mode

Exemples

! touche Esc pour basculer entre les modes insert et command de l’éditeur vi

! palette d’outils

! utilisation d’une pédale ou touche spéciale (Escape Meta Alt Control Shift)

Page 65: 61453824-Introduction à l'interaction homme-machine.pdf

A force d’indirections...

Du bon usage des métaphores

La manipulation directe pose des questions délicates

! quels sont les objets d'intérêt ?

! comment les représenter ?

Principe de base pour l’utilisation d’une métaphore : utilisation de concepts connus de l’utilisateur pour introduire le modèle conceptuel du système

! modèle qui facilite l'apprentissage : l’utilisateur peut anticiper le comportement du système

! dangers : purement esthétique, trop restrictive (e.g. trop fidèle)

Métaphores du monde réel

! spatiales (e.g. bureau, pièce)

! sociales ou techniques (e.g. théatre, télévision)

Page 66: 61453824-Introduction à l'interaction homme-machine.pdf

Changer/augmenter la métaphore

Au-delà des widgets : les boîtes à outils de construction d’interfaces

Que trouve-t-on dans une boîte à outils ?

! des widgets réutilisables (ex : boutons, menus)

! des services programmables (ex : préférences, copier/coller)

! un modèle d’architecture permettant de structurer l’application

! un générateur et un ou plusieurs langages de scripts

Pourquoi utiliser une boîte à outils ? Pour optimiser l’un des points suivants

! temps de construction

! efficacité

! compacité

! robustesse

! correction

! confort d'utilisation

! versatilité

Page 67: 61453824-Introduction à l'interaction homme-machine.pdf

Boîtes à outils de construction d’interfaces

Il existe de nombreuses boîtes à outils

! Xt, Motif, GTK (C) sous Linux

! MFC (C++) et ses dérivés sous Window

! Carbon (C), Cocoa (Objective-C) sous OS X

! Tk (Tcl, Python, Perl et autres), Qt (C++) et Swing (Java) sur toutes les plate-formes

Exemples de services : placement des widgets, liens widgets - application, squelettes d’application, générateur de code

La plupart de ces boîtes à outils présentent deux limitations majeures

! la programmation est fastidieuse

! l’interaction se limite le plus souvent aux widgets pré-existants

Exemple d’interaction simple qui reste difficile à programmer : le drag-and-drop

Exemple de service : placement des widgets

L’interface est généralement décrite par un arbre de widgets

! les noeuds sont des conteneurs (e.g. fenêtre, cadre)

! les feuilles sont des widgets simples (e.g. bouton, label, barre de défilement)

Gestionnaire de placement : placement géométrique des noeuds de l’arbre de widgets

! imbrication géométrique d'un widget fils dans son parent

! contrôle par le parent du placement de ses fils

! placement dynamique

Contraintes

! taille "naturelle" de chaque fils

! taille et position imposées par le parent

! autres contraintes spécifiées par le programmeur (e.g. grille, formulaire, ressorts)

Page 68: 61453824-Introduction à l'interaction homme-machine.pdf

Exemple de service : liens widgets - application

Application non-interactive : “start, do something, stop”

Ancienne façon de voir les applications interactives : de temps en temps, le système pose des questions à l’utilisateur

Version moderne : l’utilisateur contrôle l’application, via l’interface

! l’application attend régulièrement un signe de l’utilisateur (notion de boucle principale dans laquelle sont traités les événements)

! le modèle de programmation événementielle peut être utilisé à l’intérieur même de l’application

! de nombreux états à conserver… c’est compliqué !

Les éléments d’interface peuvent être reliés de différentes manières au reste de l’application

Liens widgets - application

Il existe différentes manières de relier les éléments interactifs (e.g. les widgets) au reste de l’application

Exemples

! fonctions de rappel (callbacks)

! valeurs actives

! envoi de message

Page 69: 61453824-Introduction à l'interaction homme-machine.pdf

Liens widgets - application : fonctions de rappel

Les fonctions de rappel sont enregistrées dans le widget à sa création

Elles sont ensuite appelées lorsqu’une des opérations du widget est activée

Inconvénients

! un spaghetti de callbacks

! la nécessité de passer par des variables globales pour partager des données entre fonctions de rappel

okCallback (...) { ... }

okCallback (...) ;

Liens widgets - application : valeurs actives

Une valeur active établit un lien bi-directionnel entre une variable d'état d’un ou plusieurs widget(s) et une variable du noyau fonctionnel

Avantage : vues multiples

Inconvénient : approche généralement limitée aux types simples (e.g. entiers)

12 i

26 i

15 ii:=15

Page 70: 61453824-Introduction à l'interaction homme-machine.pdf

Liens widgets - application : envoi de messages

Un objet est associé au widget au moment de sa création

Des méthodes de cet objet seront appelées par le widget

Avantage : permet une bonne encapsulation des données

btnHandler

btnHandler.handleClick(...) ;

Machines à états

Une machine à états est un automate à états finis permettant de décrire formellement l’interaction avec un système

! chaque état de l’automate correspond à un état de l’interaction

! les transitions de l’automate sont déclenchées par des événements

! des conditions et actions peuvent être associées aux transitions

Intérêts

! possibilité de preuve et de validation formelle

! possibilité de lien direct avec l’implémentation

Page 71: 61453824-Introduction à l'interaction homme-machine.pdf

Exemple de machine à états : le rubber-band

Release--------------------------------Done(p1, getPosition())

Press-------------------------p1 = getPosition()

Move------------------------------------------RubberBand(p1, getPosition())

Exemple de machine à états : sélection et déplacement d’un objet

Press-------------------------p1 = getPosition()

Move & dist(p1,getPosition())>eps-----------------------------------------------

startDrag(getPosition())

Move---------------------------drag(getPosition())

Release----------------------------------

endDrag(getPosition())

Release----------------------------select(getPosition())

Page 72: 61453824-Introduction à l'interaction homme-machine.pdf

Exemple de service : squelettes d’application

Exemple historique : MacApp (Apple, 1986)

Principe : application à trous

! code d’une application incomplète, à compléter

! donne la structure globale de l’application et contient ce que l’on ne peut pas (ou veut pas) mettre dans la boîte à outils

! reflète surtout l’inadéquation des outils et langages utilisés

Exemple de service : générateur de code

But : aider (automatiser ?) la mise en oeuvre d’interfaces

! placer les widgets, modifier leurs attributs (couleur, etc.)

! les connecter à l’application

! tester leur comportement

De nombreux noms pour une même famille de systèmes

! user interface management systems (UIMS)

! user interface builder

! user interface development environment

Exemples : Visual * sous Windows, Interface Builder sous OS X

Page 73: 61453824-Introduction à l'interaction homme-machine.pdf

Exemple de service : générateur de code

Inconvénients : What You See Is All You Get

! solutions partielles

! il reste tout de même du code à écrire…

! le code généré est souvent difficile à modifier

Système d’exploitation

Périphériques d’entrée/sortie

Application

Outils de construction d’interfaces

Système de fenêtrage

Librairie graphique

Page 74: 61453824-Introduction à l'interaction homme-machine.pdf

Architecture des systèmes interactifs

Principe de base : la séparation entre l’interface et le noyau fonctionnel

Différents modèles ont été proposés suivant ce principe

! le modèle de Seeheim

! MVC (Model - View - Controller)

! Arch

! PAC (Présentation - Abstraction - Contrôle)

Remarque : ces modèles ne se limitent pas à l’interaction graphique

noyau

fonctionnel

interface

utilisateur

Service(s) minimum

Séparer le noyau fonctionnel de l’interface est un bon principe... mais le noyau fonctionnel doit fournir un minimum de services pour pouvoir implémenter correctement l’interface

Exemples de services utiles (Fekete, 1996)

! la notification

! la prévention des erreurs

! l’annulation

Page 75: 61453824-Introduction à l'interaction homme-machine.pdf

Service(s) minimum : notification

Notification : possibilité pour un module externe d’être prévenu lorsque l’état du noyau sémantique change

Exemple d’utilisation : visualisation d’un système de fichiers

Mise en œuvre

! modularité : le noyau fonctionnel n’est pas censé connaître le mode de présentation

! on veut éviter le polling (attente active)

! variables actives (Tcl), callbacks, etc.

! notification synchrone ou asynchrone ?

Service(s) minimum : prévention des erreurs

Prévention des erreurs : possibilité de savoir si un appel de fonction est licite dans un certain contexte

Exemples d’utilisation

! retour d’information pour la manipulation directe

! menus grisés

Mise en œuvre

! pas avec des exceptions (c’est trop tard…)

! fonction de test (accepte, refuse, nsp)

Page 76: 61453824-Introduction à l'interaction homme-machine.pdf

Service(s) minimum : annulation

Annulation : possibilité de revenir à des états antérieurs du noyau sémantique

Exemple d’utilisation : voir Word, Photoshop, etc.

Mise en œuvre

! objectif : éviter la simulation au niveau de l’interface

! historique, mécanisme de rollback

Modèle de Seeheim

Issu d’un atelier de 1983... à Seeheim

Propose une séparation de l’interface en trois couches

! présentation (niveau lexical) : gestion des entrées, affichage

! contrôleur de dialogue (niveau syntaxique) : maintient un état qui permet de réunir les séquences d’interactions élémentaires en commandes et d’introduire des modes

! adapteur de domaine : adapte les commandes au noyau fonctionnel et transforme les objets abstraits en objets représentables

Un cadre abstrait et assez peu détaillé

contrôleurde dialogue

présentation

adapteurde domaine

noyaufonctionnel

Page 77: 61453824-Introduction à l'interaction homme-machine.pdf

Arch

Une version un peu plus moderne du modèle de Seeheim

! prend en compte l’existence de boîtes à outils de construction d’interfaces

! introduit des adapteurs du côté de la présentation et du noyau fonctionnel

! les composants peuvent être de taille variable... ou absents

interactiontoolkit

component

presentationcomponent

noyaufonctionnel

dialoguecomponent

domainadaptor

component

domainspecific

component

MVC : Model - View - Controller

Origine

! modèle issu de Smalltalk-80

! adopté par de nombreuses boîtes à outils(Java AWT et Swing, Microsoft MFC, …)

Principe

! le modèle correspond à une vue abstraite d’un objet de l’application (e.g. un client)

! la vue présente à l’utilisateur des informations issues du modèle (e.g. le nom et l’adresse d’un client)

! le contrôleur se charge de l'interaction avec l'utilisateur

C V

M

noyaufonctionnel

Page 78: 61453824-Introduction à l'interaction homme-machine.pdf

Mise en oeuvre de MVC

Un modèle asymétrique

! une paire Contrôleur/Vue est associée à un seul Modèle

! un modèle peut se voir associé plusieurs paires Contrôleur/Vue

Listes de dépendants et notification

! les paires Contrôleur/Vue d’un modèle sont enregistrées dans une liste de «!dépendants!»

! lorsque le modèle change, tous les dépendants sont notifiés

Avantages

! vues multiples synchronisées

! vues et contrôleurs modulaires et ré-utilisables

Inconvénient : complexité de communication entre les composants (e.g. entre C et V)

Modèles à agents

Un système interactif peut être vu comme une collection d'agents, chaque agent ayant

! un état

! une expertise

! et étant capable d'émettre et de réagir à des événements

Un interacteur est un agent en contact direct avec l'utilisateur

Remarque : tous ces agents sont réactifs, pas cognitifs (IA)

Page 79: 61453824-Introduction à l'interaction homme-machine.pdf

PAC : Présentation - Abstraction - Contrôle

Un agent PAC incarne une compétence à un niveau d’abstraction donné composé de trois facettes

! présentation (le V+C de MVC) : définit le comportement perceptible de l’agent (entrée/sortie)

! abstraction (le M de MVC) : représente l’expertise de l’agent

! contrôle (pas d’équivalent dans MVC) : fait le lien entre A et P (pas de communication directe) et gère les relations avec les autres agents de la hiérarchie

L'interface est une structure hiérarchique d’agents PAC, de l’application à l’utilisateur

CAP

dispositifs d'interaction

CAP

CAP

CAP

CAP

CAP

CAP

application

Comparaion PAC - MVC

Distinction entrées/sorties dans MVC mais pas dans PAC

! MVC offre une meilleure souplesse/réutilisation possible de composants d’interaction sur des vues différentes, mais nécessite une communication accrue entre les objets Vue et Contrôleur

Distinction entre "modèle" et "communication entre la vue et le modèle"

! cette distinction n’est pas faite dans MVC : risque d’amalgame au niveau du modèle

! dans PAC, distinction entre Abstraction et Contrôle

Page 80: 61453824-Introduction à l'interaction homme-machine.pdf

Nicolas Roussel

Conception

centrée sur l’utilisateur

In Situ project-teamLRI (Univ. Paris-Sud – CNRS) & INRIAhttp://insitu.lri.fr/situin

Pourquoi s’intéresser à l’utilisateur ?

Eléments de psychologie de la perception

Page 81: 61453824-Introduction à l'interaction homme-machine.pdf

Jouons un peu

A un jeu proposé par Zhang & Norman en 199x

Le premier qui a 3 chiffres dont la somme fait 15 a gagné

A a déjà 4, 5 et 8 et B a déjà 2 et 3. Que doit prendre B ?

A 1 2 3 4 5 6 7 8 9

B 1 2 3 4 5 6 7 8 9

Jouons un peu

Trouver une solution, n’est ce pas dans certains cas trouver une bonne représentation ?

4 3 8

9 5 1

2 7 6

A B A

A

B

Où B doit-il jouer ?

Page 82: 61453824-Introduction à l'interaction homme-machine.pdf

Utilisation du canal visuel

Présenter de l’information

! qualitative

! quantitative

! émotionnelle, esthétique

Notifier des changements

! spontanés (alarmes, événements asynchrones)

! provoqués (feedbacks, modifications de l’information)

Simuler des comportements

! animation

! manipulation

Jouons encore un peu : combien de “F” ?

FINISHED FILES ARE THE RESULT OF

YEARS OF SCIENTIFIC STUDY

COMBINED WITH THE EXPERIENCE

OF YEARS.

FINISHED FILES ARE THE RESULT

OF YEARS OF SCIENTIFIC STUDY

COMBINED WITH THE EXPERIENCE

OF YEARS.

Page 83: 61453824-Introduction à l'interaction homme-machine.pdf

Trouvez le mot “fonctionnement”...Un système interactif est un système dont le fonctionnement dépend

d'informations fournies par un environnement externe qu'il ne contrôle pas

[Weg97]. Les systèmes interactifs sont également appelés ouverts, par

opposition aux systèmes fermés - ou autonomes - dont le fonctionnement peut

être entièrement décrit par des algorithmes.

L'Interaction Homme-Machine s'intéresse aux systèmes informatiques interactifs

contrôlés par des utilisateurs humains. Du point de vue de la machine, l'humain

a beaucoup de défauts : il est indécis, désordonné, inattentif, émotionnel,

illogique [Nor94]. Mais il présente une grande qualité : sa capacité d'adaptation.

Cette capacité d'adaptation a longtemps contribuée à une vision du progrès

centrée sur le développement des capacités technologiques de la machine et se

désintéressant totalement de sa relation avec l'humain. A quoi bon se

préoccuper de lui, puisqu'il s'adapte si bien à tout ce qu'on lui propose ? Le

slogan de l'Exposition Universelle de 1933 illustre parfaitement cette vision : "la

Science trouve, l'Industrie applique et l'Homme s'adapte".

Encore un, mais c’est le dernier

Bon, cette fois, c’est vraiment le dernier

Trouvez le mot “machine”...Le degré d’interactivité d’un système peut se mesurer au nombre et à la

nature de ses échanges avec les utilisateurs. On peut ainsi dire que les

premiers systèmes informatiques basés sur l’utilisation de cartes perforées

et l’allumage de diodes étaient peu interactifs. L’augmentation de la

puissance des ordinateurs a depuis permis l’avènement des interfaces

graphiques et l’exécution parallèle de plusieurs tâches, deux éléments qui

contribuent de façon importante à l’interactivité des systèmes actuels.

Confrontés à cette interactivité croissante des systèmes informatiques que

nous utilisons, nous observons aujourd’hui les limites de la vision du

progrès centrée sur la machine. La progression constante de la

technologie se heurte chaque jour un peu plus au seuil de complexité au-

delà duquel notre capacité d’adaptation ne suffit plus. De nombreuses

fonctionnalités offertes par les systèmes actuels restent ainsi hors de notre

portée. La machine nous paraît alors rigide, inutilement complexe,

inadaptée à nos besoins et nous laisse un sentiment de frustration

[Bux97].

Page 84: 61453824-Introduction à l'interaction homme-machine.pdf

Eléments du langage visuel

Imagerie : signes, icônes, symboles

Typographie : polices, attributs

Mise en page : formats, proportions, grilles, structure (hiérarchique, linéaire, etc.)

Mise en scène : enchaînements, animation

Variables visuelles

Position

Forme

Intensité, contraste

Orientation

Relief, perspective

Taille

Couleur (teinte)

Transparence, opacité

Texture

Mouvement

Page 85: 61453824-Introduction à l'interaction homme-machine.pdf

Théorie de Bertin (abrégée)

Variables planaires : x, y

Variables rétiniennes : taille, couleur, forme, orientation, texture, luminosité

Propriétés des variables

! associatives (associer un élément à un groupe)

! sélectives (différencier un élément d'un groupe)

! ordonnées (comparer deux éléments)

! quantitatives (comparer deux éléments)

Données multi-dimensionnelles

! optimum = 2 planaires + 1 rétinienne

! ensuite, utilisation des propriétés

Exemples de propriétés des variables visuelles

Couleur pour différencier/associer

Intensité pour donner un ordre de grandeur (pas une valeur précise)

Mouvement pour attirer l'attention ou marquer l'appartenance à un groupe

Page 86: 61453824-Introduction à l'interaction homme-machine.pdf

Traitement pré-attentif

Pré-attentif : moins de 200 à 250 msec

Mouvement de l'œil : 200 msec au moins pour initier

Exemple : y-a-t-il un rond rouge dans cette figure ?

De très nombreux travaux en psychologie expérimentale sur le sujet

Pour des exemples, voir http://www.csc.ncsu.edu/faculty/healey/PP/

Cécité aux changements

http://www.cs.ubc.ca/~rensink/flicker/

http://nivea.psycho.univ-paris5.fr/ASSChtml/ASSC.html

Page 87: 61453824-Introduction à l'interaction homme-machine.pdf

Grille de Hermann

Gestalt perception

proximité

similarité

continuité

cloturesymétrie

Page 88: 61453824-Introduction à l'interaction homme-machine.pdf

Gestalt perception : figure et fond

Le media informatique

Inconvénients historiques (de moins en moins vrai…)

! faible résolution

! mauvais contrôle des couleurs

! confort de lecture limité

Avantages : dynamicité et interactivité

Page 89: 61453824-Introduction à l'interaction homme-machine.pdf

Quelle est la meilleure représentation ?

Ca dépend de ce que l’on cherche

Valeur précise Comparaison avec un

maximum précédent

Evolution dans

le temps

Conception centrée sur l’utilisateur

Page 90: 61453824-Introduction à l'interaction homme-machine.pdf

L’homme et la machine

Du point de vue de la machine

! l'homme est imprécis, désorganisé, inattentif, émotif, illogique

! la machine est précise, ordonnée, imperturbable, sans émotion, logique

Du point de vue de l'homme

! l'homme est créatif, flexible, attentif au changement, imaginatif, capable de s'adapter au contexte

! la machine est stupide, rigide, insensible au changement, sans imagination, contrainte au respect

de procédures figées

L’homme est indécis, désordonné, inattentif, émotionnel, illogique... mais il sait s’adapter !

Pourquoi s'intéresser à lui, puisqu'il s'adapte si bien ?

Une vision du progrès centrée sur le développement des capacités technologiques de la

machine et se désintéressant totalement de sa relation avec l'humain

Science finds,Industry applies,Man conformsSlogan de l’Exposition Universelle de 1933

Page 91: 61453824-Introduction à l'interaction homme-machine.pdf

Limites de cette vision du progrès

Au-delà d'un certain seuil de complexité, notre capacité d'adaptation ne suffit plus

La technologie se heurte chaque jour un peu plus à ce seuil

De nombreuses fonctions offertes par les systèmes actuels restent hors de notre portée

La machine paraît alors rigide, inutilement complexe, inadaptée à nos besoins et laisse un

sentiment de frustration...

Rappel : loi de Moore,

loi de Buxton, loi de Dieu (ou de la nature)

1965 2008

De l'interface à l'interaction contextualisée

De beaux boutons, des menus et des animations ne suffisent pas à rendre un système utilisable

Exemples de mesures possibles de l’utilisabilité

! temps nécessaire pour apprendre

! rapidité d’utilisation (benchmarks)

! taux d’erreurs

! facilité à se souvenir

! satisfaction subjective

Au delà de l'interface

! séquence d’actions nécessaires pour accomplir une tâche

! adéquation entre le système et le contexte dans lequel il est utilisé

Page 92: 61453824-Introduction à l'interaction homme-machine.pdf

Pourquoi est-ce si difficile ?

Coté utilisateur

! le nombre des choses à contrôler a considérablement augmenté

! les moyens d'affichages sont de plus en plus artificiels

! les moyens de feedback sont de plus en plus complexes et subtils, de moins en moins "naturels"

! les erreurs coûtent de plus en plus cher

Coté "fabricant"

! l'ajout de fonctionnalité ne coûte pas cher

! l'ajout de moyens de contrôle ou de feedback coûte cher

! la "pression du marché" limite le nombre d'itérations

Malheureusement, le coût et l'apparence comptent souvent plus que l'utilisabilité

Démarche centrée sur l'utilisateur

Nous vivons dans un environnement psychologique, social et culturel complexe

La connaissance de cet environnement par les concepteurs d'un système est

donc fondamentale pour pouvoir fournir aux utilisateurs la représentation de ce

système et les moyens d'action appropriés

La démarche de conception, de mise en œuvre et d'évaluation des systèmes

interactifs doit donc être centrée sur l'utilisateur et sur le contexte d'interaction

But

! informatiser (informate) au lieu d'automatiser (automate)

! créer des systèmes qui nous rendent meilleurs (things that make us smart)

Page 93: 61453824-Introduction à l'interaction homme-machine.pdf

People propose, Science studies

Technology conformsDon Norman

Modèles humains

Page 94: 61453824-Introduction à l'interaction homme-machine.pdf

Le processeur humain (Card, Moran & Newell)

L'individu est considéré comme un système de traitement de l'information composé de trois

sous-systèmes interdépendants

! sensoriel

! moteur

! cognitif

Chaque sous-système a une mémoire locale et un processeur caractérisés par

! " : capacité de la mémoire

! # : persistance dans la mémoire

! $ : cycle de base du processeur

Système sensoriel

Système sensoriel visuel

! " = 17 lettres

! # = 200 msec

! $ = 100 msec

! deux stimuli espacés de moins de 100 msec sont perçus simultanément (effet d'animation)

Système sensoriel auditif

! # = 1500 msec

! l'intensité du stimulus agit sur la durée du cycle

Page 95: 61453824-Introduction à l'interaction homme-machine.pdf

Système moteur

Un mouvement est une suite de micro-mouvements ($ = 70 ms)

Loi de Fitts (1954)

! T = a + b*ID

! ID = log2 (1 + D/S)

a est le temps de réaction

b indique l’allongement de la durée en fonction de l’indice de difficulté

Exemples (a=0.1 sec, b=1)

! D = 10 cm, S = 1 cm, T = 0,34 sec

! D = 10 cm, S = 0,1 cm, T = 0,67 sec

! D = 30 cm, S = 0,5 cm, T = 0,59 sec

Temps de pointage typique : entre 0,5 et 1 seconde

D

S

Système cognitif

Cycle reconnaissance/action

Mémoire à court terme

! " = 7 +/- 2 mnèmes

! # = 10-100 sec

! $ = 70 msec

Mémoire à long terme

! " = !

! # = !

! $ = 70 msec

Stockage et recherche dans la mémoire à long terme sont réalisés de manière associative

Il n'y a pas oubli, mais inaccessibilité par manque d'activation des associations

Page 96: 61453824-Introduction à l'interaction homme-machine.pdf

Mais à quoi ça sert ?

Temps de réaffichage : effet d'animation si réaffichage < 1/10 sec

Périphérique de pointage : vitesse maximale de la main : 1 à 1,5 m/sec

Le chiffre magique 7+/-2

! nombre de commandes dans un menu pour qu'elles soient mémorisables

! dans une longue liste, on ne retient que le début et la fin

Mais encore ?

Le Canon Cat (1987),

décrit par J. Raskin

Exploitation of the single locus of attention

! lorsqu’on l’éteignait, le Cat sauvegardait une image bitmap de l’écran au début du disque

! lorsqu’on le rallumait, le Cat chargeait l’image et l’affichait avant de charger le reste des données

! il faut 10 secondes à l’utilisateur pour changer de contexte et se préparer à la nouvelle tâche (Card,

Moran & Newell)

! il en fallait 7 au Cat pour lire le reste du disque…

Page 97: 61453824-Introduction à l'interaction homme-machine.pdf

Le modèle GOMS (Card, Moran & Newell)

Goal, Operator, Method, Selection

! But : état recherché (organisation hiérarchique)

! Opérateur : action élémentaire provoquant un changement d'état

! Méthode : procédé pour atteindre un but

! Sélection : règle pour choisir une méthode en cas de conflit

Cadre pour les méthodes de conception d'interfaces et l’évaluation prédictive des

performances

Remarque : le modèle n'intègre pas le traitement des erreurs

Keystroke (Card, Moran & Newell)

Version simplifiée de GOMS : décomposition en tâches élémentaires pour prédire le temps

d'exécution

Opérateurs

! K = frappe (keystroking)

! P = désignation (pointing)

! H = rapatriement de la main (homing)

! D = dessin (drawing)

! M = activité mentale (mental activity)

! R = temps de réponse du système (response time)

Page 98: 61453824-Introduction à l'interaction homme-machine.pdf

Keystroke

Evaluation expérimentale des temps d'exécution des différents opérateurs

! K : 0,28 sec

! B(outon) : 0,1 sec

! H : 0,4 sec

! P : loi de Fitts modifiée (entre 0,8 et 1,5 sec, typ. 1,1 sec)

! D : 0,9*n + 0,16*l (n segments de longueur moyenne l)

! M : 1,2 sec

! R : max(0,n-t)

n est le temps de traitement du système

t est le temps exploité par l'utilisateur

Principale difficulté : placer les opérateurs M...

Keystroke

Règles pour le placement de l'opérateur M

! insérer M devant tous les K

! insérer M devant un P qui correspond à une commande (et pas à un argument)

! supprimer M si l'opérateur qui suit peut être anticipé (ainsi, PMK devient le plus souvent PK)

! si MKMK…MK constitue un mot, le transformer en MKK…K

! etc.

Le plus important : être cohérent !

Page 99: 61453824-Introduction à l'interaction homme-machine.pdf

Keystroke : exemple

Déplacement du curseur d'un traitement de texte

Méthode 1

! prendre la souris

! la déplacer au point désiré

! appuyer sur le bouton

M1 : H(souris)P(pointer)K(clic)H(retour)

insertion des opérateurs M…

M1 : HMPMKH

élimination des opérateurs M superflus (anticipation)

M1 : HMPKH (T1 = 3,45 sec)

Keystroke : exemple

Déplacement du curseur d'un traitement de texte

Méthode 2

! tant que le curseur n'est pas sur la ligne cible, taper Ctrl-n

! tant que le curseur n'est pas sur le mot cible, taper Esc-f

M2 : K(Ctrl) l*K(n) m*[K(Esc)K(f)]

insertion des opérateurs M…

M2 : MK l*K M m*[KK] (T2 = 3,5 sec pour l = m = 1)

Page 100: 61453824-Introduction à l'interaction homme-machine.pdf

Keystroke : exemple

Déplacement du curseur d'un traitement de texte

! M1 : HMPKH

! M2 : MK l*K M m*[KK]

Comparaison des méthodes

! pour l = m = 1, T1<T2

! si l'on omet le deuxième opérateur M dans M2, alors T1<T2 pour l=0 et m>5 ou pour l>10 et m

petit

Keystroke : problèmes

Pas de prise en compte du contexte

Pas de prise en compte des erreurs

Pas de prise en compte de l’apprentissage

Ceci dit, Keystroke nous oblige à penser à toutes les actions à effectuer, même les plus

minimes, et donc à nous mettre à la place de l’utilisateur

Page 101: 61453824-Introduction à l'interaction homme-machine.pdf

Théorie de l’action

Théorie de l’action (Norman)

GOMS et Keystroke modélisent un comportement observé

La théorie de l'action modélise les processus psychologiques qui conduisent à ce

comportement

Réalisation d’une tâche

! établissement du but

! formation d’une intention

! spécification d'une suite d'actions

! exécution des actions

! perception de l'état du système

! interprétation de l'état du système

! évaluation de l'état par rapport au but fixé

Page 102: 61453824-Introduction à l'interaction homme-machine.pdf

Théorie de l’action : distances

but

intention

spéc. actions

exécution

système

perception

interprétation

évaluation

distance

articulatoire

d'entrée

distance

articulatoire

de sortie

distance

sémantique

de sortie

distance

d'exécution

distance

d'évaluation

distance

sémantique

d'entrée

Théorie de l’action

Comment peut-on

! déterminer la fonction d'un appareil

! dire quelles actions sont possibles

! déterminer le lien entre l'intention et l'action

! réaliser l'action

! voir dans quel état est le système

! déterminer le lien entre ce que l'on voit et l'état désiré

! dire si le système est dans l'état désiré

Page 103: 61453824-Introduction à l'interaction homme-machine.pdf

Modèles perceptuel et conceptuel

Modèle perceptuel : modèle mental construit par l'utilisateur

Modèle conceptuel : description et fonctionnement du système

La distance entre les deux modèles détermine l'utilisabilité du système

réponses

feedback

commandes

opérations

Exemple : le bain

Problème : remplir une baignoire avec deux robinets eau chaude/froide

Variables psychologiques

! d = débit de l'eau

! t = température du bain

Variables physiques

! dc, tc = débit et température de l'eau chaude

! df, tf = débit et température de l'eau froide

Relations entre les variables

! d = df + dc

! t = (dc*tc + df*tf) / (df+dc)

Page 104: 61453824-Introduction à l'interaction homme-machine.pdf

Exemple : le bain

Problèmes typiques rencontrés par l'utilisateur

! quel robinet est celui d'eau froide ?

! comment faire varier le débit (dans quel sens tourner) ?

! comment refroidir en conservant le débit ?

! comment manipuler les deux robinets en sens inverse ?

! comment diminuer le débit en gardant la température constante ?

! comment évaluer le débit ?

! comment évaluer la température ?

De quoi est fait ce dessin ?

Comment est fait ce dessin ?

Autre exemple

C'est un ensemble de points que l'on peut effacer

C'est un rectangle et un cercle que l'on peut déplacer

Page 105: 61453824-Introduction à l'interaction homme-machine.pdf

Modèle perceptuel

L'utilisateur construit un modèle mental du système en se basant entre autres sur

! les affordances (relations naturelles) du système qu'il perçoit

! les liens de causalité qu'il perçoit

! les contraintes imposées par le système (ex : physiques)

! des correspondances perçues (ex : contraintes/objets)

! des stéréotypes culturels

! l'expérience de systèmes similaires (transfer effect)

! des instructions reçues

Ce modèle n'est pas nécessairement juste...

Exemple : la commande DISK du Cat

Une seule commande, sans paramètre, permet de formater la disquette, sauvegarder le

système ou le restaurer (la mémoire du Cat avait la capacité d’une disquette…)

Objectif : limiter les messages, éviter les erreurs

Memory

unchanged

Memory

changed

Empty

memory

Same disk

New disk

Blank disk

no action save no action

load warn load

save (dup) save no action

Page 106: 61453824-Introduction à l'interaction homme-machine.pdf

Design languages (Rheinfrank & Evenson)

Design languages

! ces langages peuvent émerger naturellement en réponse à des facteurs extérieurs (ex : style

architectural)

! peuvent être créés pour faciliter l’assimilation d’un élément nouveau (ex : couleurs des éléments

d’un photocopieur de la famille Xerox)

Cinq étapes

! characterization : describing the existing assumptions

! reregistration : creation of new assumptions

! development and demonstration : make the new assumptions explicit

! evaluation

! evolution

Connaissez votre utilisateur

Vous ne représentez pas nécessairement l'utilisateur moyen du système que vous développez

N'attendez pas des autres qu'ils pensent ou se comportent comme vous le faites, ou comme

vous aimeriez qu'ils le fassent

Les pensées et le comportement varient autant que les caractéristiques physiques

Allez à la rencontre de vos utilisateurs !

Exemple : programme Follow-Me-Home d'Intuit

Page 107: 61453824-Introduction à l'interaction homme-machine.pdf

Différences entre individus

Il est rarement possible de concevoir un système qui convienne à tout le monde

Exemples : longueur des lits, hauteur des portes, espace entre les sièges de train ou d'avion

Il faut le plus souvent trouver un compromis…

Erreur classique : concevoir le système pour la moyenne (on risque d'exclure la moitié de la

population)

Objectif à viser : 80% de la population

Affordances et approche écologique

Page 108: 61453824-Introduction à l'interaction homme-machine.pdf

Le concept

Affordance : “a property of the world that affords action to appropriately equipped individuals”

Relation tri-partite : l’environnement, l’individu et ses actions

Importance du couplage perception/action

Exemples

! une chaise permet de s’asseoir

! un thermostat peut être tourné

! un bouton peut être pressé

! une porte peut être poussée... ou tiréePush or pull? Which side? Can only push,

side to push clearly visible

Psychologie de la perception

Modèles traditionnels de la perception

! tout commence par les sensations

! ces sensations sont traitées en fonction des souvenirs et des modèles mentaux de la réalité

! le tout résulte en une représentation symbolique du monde

L'approche écologique (d'après Gibson)

We are told that vision depends on the eye, which is connected to the brain. I shall suggest that

natural vision depends on the eyes in the head on a body supported by the ground, the brain being

only the central organ of a complete visual system

Page 109: 61453824-Introduction à l'interaction homme-machine.pdf

L’environment

L’animal et l’environnement se définissent mutuellement

Notre rapport à l'environnement est pratique : nous voyons pour nous déplacer, pour chasser,

trouver un abri, etc.

Exemple : voyons-nous de la lumière en tant que telle ?

! non : nous voyons un feu, le soleil, une lampe

! notre vision est structurée en fonction de nos interactions avec l'environnement

Affordances et perception

Percevoir une affordance n'est pas classer un objet

! les affordances sont perçues directement

! elles sont indépendantes des catégories d'objets existantes a-priori

Les affordances sont des propriétés de l'environnement

! elles existent indépendamment de la perception

! une affordance non perçue reste une affordance... Pas

d’affordance Affordance

Information

perçue

Information

non perçue

fausse

affordance

affordance

perçue

rejet

correct

affordance

cachée

Page 110: 61453824-Introduction à l'interaction homme-machine.pdf

Exemple : tours de Hanoï (Zhang & Norman, 1994)

R1: Only one X can be transferred at a time

R2: A X can only be transferred to a Y on which it will be the largest

R3: Only the largest X on a Y can be transferred to another Y

(X,Y) ! { (ring, peg), (orange, bowl), (cup, plate) }

Prototypage rapide et incrémental

Page 111: 61453824-Introduction à l'interaction homme-machine.pdf

Cultures of prototyping (Schrage)

Prototypes and specifications : wish list vs. embodiment

! les petites boîtes centrées sur un produit unique ont généralement une culture du prototype

! les grosses boîtes avec de très nombreux clients sont plutôt portées sur les spécifications

(produites par le marketing…)

Selon D. Kelley (IDEO), l’innovation est facilitée par une approche prototype-driven

specifications (opposée à specification-driven prototypes)

Le choix de l’outil utilisé pour prototyper est primordial

Exemple : clay models (EU) vs. CAD models (Japon) il y a quelques années

Le prototype permet de répondre à des questions et de créer un vocabulaire propre au produit

(e.g. suckback pour un tube de dentifrice)

Cultures of prototyping (Schrage)

Prototyping cycle, prototyping culture

! mean time to prototype, time between prototypes

! periodic prototyping, explicit schedules (e.g. toutes les deux semaines)

! prototype as an end product?

! who owns the prototype? who manages it? who gets to see it when?

Page 112: 61453824-Introduction à l'interaction homme-machine.pdf

Conclusion

Ce qu’il faut retenir

La conception, la mise en œuvre et l'évaluation des systèmes interactifs doit se faire selon des

critères centrés sur l'utilisateur et les situations d'usages.

Quelques modèles prédictifs permettent de comparer de manière quantitative des techniques

d'interaction différentes.

La théorie de l'action, qui s'intéresse aux processus psychologiques, est à la base de la plupart

des règles ou conseils que l'on peut trouver concernant la conception de systèmes interactifs.

Références

D. Norman. The design of everyday things. MIT Press, 1988.

D. Norman. Things that make us smart : defending human attributes in the age of the machine.

Perseus Press, May 1994.

D. Norman. The invisible computer : why good products can fail, the personal computer is so

complex, and information appliances are the solution. MIT Press, October 1998.

Page 113: 61453824-Introduction à l'interaction homme-machine.pdf

Nicolas Roussel

7 critères ergonomiques

In Situ project-teamLRI (Univ. Paris-Sud – CNRS) & INRIAhttp://insitu.lri.fr/situin

Avant de commencer...

Source de ces critères et recommandations

De l’ergonomie du logiciel au design des sites web

Jean-François Nogier, Dunod, 2002

Avantages

! ces quelques conseils permettent de corriger de nombreux problèmes d'utilisabilité

! ils sont faciles à retenir, et assez simples à appliquer

! ils peuvent éventuellement servir de base à une évaluation simple et rapide d'un système existant

Inconvénients

! ce n'est pas une check-list

! il y a quelques redondances

! certains critères sont à manier avec précaution

Page 114: 61453824-Introduction à l'interaction homme-machine.pdf

1 - Compatibilité

1 - Compatibilité

Capacité du système à s’intégrer dans l’activité des utilisateurs

Recommandations

! parler le langage de l’utilisateur

! présenter les informations de façon cohérente par rapport aux autres supports de travail

! l’accès aux commandes doit être compatible avec la tâche de l’utilisateur

Page 115: 61453824-Introduction à l'interaction homme-machine.pdf

2 - Guidage

2 - Guidage

Objectif : faciliter l’utilisation du système et son apprentissage

Recommandations : incitation

! griser les commandes non disponibles

! fournir la liste des saisies attendues

! donner le format de saisie des données

Recommandations : groupement/distinction

! regrouper les informations de même type par le format ou la position

! distinguer par une présentation différente les informations distinctes

Page 116: 61453824-Introduction à l'interaction homme-machine.pdf

2 - Guidage (suite)

Recommandations : retour utilisateur

! à toute action de l’utilisateur doit répondre un changement de présentation de l’interface

! indiquer les modes de fonctionnement du système

! signaler les traitements longs par un message d’attente

! toujours faire apparaître les saisies de l’utilisateur

! rendre visibles les traitements réalisés par le système

Recommandations : lisibilité

! utiliser une police droite

! employer des lettres sombres sur fond clair

2 - Guidage (suite)

Mécanismes de retour pour

! réduire la charge cognitive

! prévenir des situations d'erreur

! rassurer (ex : progression d'une opération)

Quelques données sur la perception du temps de réponse :

! t<0.1 sec : perçu comme instantané

! t<1 sec : le délai est perçu, mais ne perturbe pas l'utilisateur

! t>10 secondes : l'utilisateur va vouloir faire autre chose en attendant

Pour les longs délais : changement de curseur, barre de progression ou animation aléatoire

Page 117: 61453824-Introduction à l'interaction homme-machine.pdf

3 - Homogénéité

3 - Homogénéité

Concerne la cohérence globale de l’interface

Principe : un système qui a l’air familier est perçu comme simple à utiliser

Recommandations

! les fenêtres doivent suivre le même schéma d’agencement

! la sémantique des boutons de la souris doit être constante

! le même vocabulaire doit être utilisé pour désigner les commandes du logiciel

! la syntaxe des commandes doit être cohérente sur l’ensemble de l’interface

Intérêt : faciliter l'apprentissage et l'utilisation

Risque : freiner ou bloquer l'évolution (inertie des standards)

Page 118: 61453824-Introduction à l'interaction homme-machine.pdf

3 - Homogénéité (suite)

Deux niveaux (au moins) de cohérence

! interne (application)

! externe (avec les autres applications, avec la métaphore du système)

La cohérence ne concerne pas que l'apparence visuelle (e.g. syntaxe et effets des commandes)

Guides de style

! publiés par les concepteurs de systèmes ou d'interfaces graphiques

! décrivent le "look and feel" d'une plateforme

! sont souvent vicieux : faciliter la vie de ceux qui les suivent et compliquent la vie de ceux qui ne les

suivent pas…

Exemples : OSF Motif, IBM CUA, Apple Human Interface Guidelines, MS Windows

Bons sur le principes, mais peuvent être durs à suivre...

3 - Homogénéité (suite)

Motif style guide v1.1 : MessageDialogs should be used to convey a message to the user. They

must not interrupt the user’s interaction with the application. They should include a message,

and one of the following button arrangements.

OK

OK Help

OK Cancel

OK Cancel Help

Yes No

Yes No Help

Yes No Cancel

Yes No Cancel Help

Cancel

Cancel Help

Retry Cancel

Retry Cancel Help

Page 119: 61453824-Introduction à l'interaction homme-machine.pdf

4 - Flexibilité

4 - Flexibilité

Capacité de l’interface à s’adapter à différents contextes d’utilisation

Recommandations

! permettre l’activation des commandes au clavier ou à la souris

! autoriser le déclenchement d’une commande fréquente depuis plusieurs fenêtres de l’application

! permettre à l’utilisateur de paramétrer le logiciel selon ses préférences

! fournir un moyen rapide d’accéder aux commandes des menus

Page 120: 61453824-Introduction à l'interaction homme-machine.pdf

4 - Flexibilité (suite)

Les utilisateurs expérimentés doivent pouvoir se servir rapidement des opérations les plus

courantes

Solutions

! icônes

! abréviations (Ctrl-s)

! mnémoniques (Alt-f-e)

! touches spéciales

! complétion automatique, frappe anticipée (type ahead)

! mécanismes de navigation, historiques

! redo

4 - Flexibilité (suite)

Adaptabilité : personnalisation explicite par l’utilisateur

! lexique

! préférences de présentation

! modalités du dialogue

Attention à l'interface de configuration des préférences...

Adaptativité : personnalisation dynamique sans action explicite de l’utilisateur

L'adaptativité est très controversée...

! non prédictibilité

! rupture du principe de cohérence

Page 121: 61453824-Introduction à l'interaction homme-machine.pdf

5 - Contrôle utilisateur

5 - Contrôle utilisateur

Concerne le degré de contrôle de l’utilisateur sur les traitements réalisés par le système

Recommandations

! valider explicitement les commandes importantes ou difficilement réversibles

! offrir la possibilité d’interompre les traitements longs

! autoriser les retours en arrière

Page 122: 61453824-Introduction à l'interaction homme-machine.pdf

6 - Traitement des erreurs

6 - Traitement des erreurs

Regroupe les différents moyens visant à protéger l’utilisateur des erreurs et à corriger celles-ci

Recommandations générales

! éviter/empécher les erreurs (!)

! détecter les erreurs au plus tôt

! permettre une correction aisée des erreurs

! faciliter l’exploration et l’apprentissage du système

Recommandations : protection contre les erreurs

! griser les commandes non disponibles

! fournir la liste des valeurs possibles

! minimiser les saisies clavier

! prévenir des risques de perte de données

Page 123: 61453824-Introduction à l'interaction homme-machine.pdf

6 - Traitement des erreurs (suite)

Recommandations : correction des erreurs

! placer le message d’erreur là ou l’utilisateur est censé regarder

! mettre en évidence le champ erroné

! afficher des messages d’erreur explicites, brefs, non réprobateurs et auto-suffisants

L'utilisateur n'aime pas se sentir "piégé". Essayer de toujours lui laisser une porte de sortie

clairement identifiée :

! bouton Annuler (cancel)

! bouton Reset/Default pour annuler des changements

! commande Défaire (undo)

! commande Interrompre (et/ou Pause)

! commande Quitter

6 - Traitement des erreurs (suite)

Les utilisateurs vont faire des erreurs, c'est certain

Exemples

! jeter le mauvais sac après avoir trié des papiers

! prendre la voiture un samedi pour aller faire les courses et se retrouver sur la route du bureau

! aller dans une pièce et ne plus se souvenir de ce qu'on est venu chercher

Solutions (entre autres)

! empêcher les manipulations erronées avant qu'elles ne se produisent

! permettre la détection et la correction d'erreur par le feedback et une commande défaire

Page 124: 61453824-Introduction à l'interaction homme-machine.pdf

6 - Traitement des erreurs (suite)

On peut tirer partie de la formation des habitudes

! la répétition et l’entraînement développent des habitudes

! The ideal humane interface would reduce the interface component of a user’s work to benign

habituation. Many of the problems that make products difficult and unpleasant to use are caused

by human-machine design that fails to take into account the helpful and injurious properties of habit

formation. (J. Raskin)

Réduire le nombre de choix peut favoriser le développement d’habitudes

6 - Traitement des erreurs (suite)

Les messages d'erreur sont importants

Le message doit être rédigé dans des termes compréhensibles par l'utilisateur, si possible reliés

à la tâche qu'il essayait d'accomplir

Eviter les messages qui laisseraient penser que l'utilisateur est stupide...

Page 125: 61453824-Introduction à l'interaction homme-machine.pdf

6 - Traitement des erreurs (suite)

La plupart des utilisateurs ne lisant pas la documentation, mieux vaut prévoir un système d’aide

Remarque : ce système n'est pas la pour aider à faire passer une interface mal conçue…

Situation la plus courante : la recherche d’aide en mode "panique"

! besoin ponctuel, spécifique et urgent

! nécessite une documentation "en ligne" avec des mécanismes d'indexation

L'aide peut prendre différentes formes

! tutoriels, démonstrations

! manuel de référence, mémento (cartes de référence, tip of the day, tooltips)

! aide contextuelle : qu'est ce que c'est ? où suis-je ? où est … ? et maintenant ? que s'est-il

passé ? pourquoi est ce que ça ne … ?

! assistants

7 - Concision

Page 126: 61453824-Introduction à l'interaction homme-machine.pdf

7 - Concision

Ensemble des moyens visant à réduire la charge perceptive et mnésique de l’utilisateur

Recommandations

! n’afficher que les informations pertinentes

! réduire le nombre d’actions élémentaires pour atteindre un objectif donné

! minimiser les saisies/lectures

! éviter les textes trop verbeux

! ne pas demander de saisir des informations qui peuvent être déduites

! éviter à l’utilisateur d’avoir à se souvenir d’informations

! ne pas l’obliger à faire des calculs qui peuvent être automatisés

7 - Concision (suite)

Présenter uniquement les informations nécessaires

! less is more : limiter le nombre de widgets et de fenêtres qui introduisent des manipulations

suplémentaires

! cacher ou supprimer les informations non essentielles (cf. progressive disclosure du Star)

! utiliser si possible l'ordre naturel des choses

Préfere les techniques de manipulation directe aux techniques nécessitant la saisie de

commande ou d'arguments (point and click instead of remember and type)

Page 127: 61453824-Introduction à l'interaction homme-machine.pdf

7 - Concision (suite)

7 - Concision (suite)

Préférer un petit nombre de commandes génériques

Expliciter les contraintes existantes

Difficulté : reconnaître est plus facile que se souvenir, mais bien souvent, en terme de

représentation graphique, less is more...

Page 128: 61453824-Introduction à l'interaction homme-machine.pdf

Ouvrages de référence 

B. Shneiderman and C. Plaisant, editors. Designing the User Interface: Strategies for Effective Human‐Computer Interaction, 4th edition, Addison‐Wesley, March 2004. 672 pages.  

J. Carroll, editor. Human‐Computer Interaction in the New Millenium, Addison‐Wesley, August 2001. 703 pages.  

T. Winograd, J. Bennett, L. D. Young and B. Hartfield, editors. Bringing Design to Software, Addison‐Wesley, April 1996. 352 pages.  

J. Raskin. The Humane Interface: New Directions for Designing Interactive Systems, Addison‐Wesley, March 2000. 256 pages.  

D. Norman. Things That Make Us Smart : Defending Human Attributes in the Age of the Machine, Perseus Press, May 1994.  

 J‐F. Nogier. Ergonomie du logiciel et design web, 2nde édition, Dunod, Septembre 2003. 282 pages.  

Page 129: 61453824-Introduction à l'interaction homme-machine.pdf

Introduction à l'Interaction Homme‐Machine : l'examen 

Quels seront les documents autorisés pendant l'examen ? 

Vous aurez droit à une feuille A4 recto/verso manuscrite (écrite à la main). Vous pouvez mettre ce que vous voulez dessus, vous pouvez même ne rien mettre. 

A quoi va ressembler l'examen ? 

Vous devez vous attendre à quatre types d'exercices : 

  1.  des questions sur des points précis vu en cours ; 

   2.  des exercices qui consistent à appliquer certains éléments vus en cours ou en TD ; 

   3. des exercices dans lesquels on vous demande votre avis sur une interface ou une technique d'interaction particulière ; 

   4.  des exercices qui consistent à imaginer une technique d'interaction ou un système interactif pour un problème particulier.  

Pour les exercices de la deuxième catégorie, il peut vous être demandé d'écrire des petits programmes. L'exactitude de la syntaxe ne sera pas le critère de jugement. 

Pour les exercices de la quatrième catégorie, il vous sera demandé de décrire de manière précise les dispositifs matériels, interfaces et techniques d'interaction mis en œuvre, ainsi que le modèle conceptuel qui les accompagne (opérations possibles, feedback et réponse du système). 

De manière générale, toutes vos réponses devront être soigneusement justifiées. 

Plus précisément... 

Exemples de questions de cours : 

    Quels sont les trois principes de base de la manipulation directe ? 

    Pourquoi est‐il souvent conseillé de mettre moins de 10 items dans un menu ?  

Exemple d'exercice de mise en pratique : 

Décrivez informellement une technique d'interaction pour créer un polygone fermé à la souris et donnez la machine à états correspondante. 

Exemple d'exercice d'évaluation informelle : 

Firefox propose trois choix de représentation des boutons de son interface : Icons and text, Icons et Text. 

1. Citez pour chaque représentation un avantage et un inconvénient concernant son utilisabilité. 

 

Page 130: 61453824-Introduction à l'interaction homme-machine.pdf

2. En fonction des avantages et inconvénients mentionnés, quelle représentation vous parait la plus intéressante ? 

Exemple d'exercice de conception : 

Il vous est demandé de concevoir une application de gestion de calendrier pour un système de type palm‐top. Le système envisagé est doté d'un écran de petite taille, de quatre boutons et d'une molette que l'on peut faire tourner et également presser comme un cinquième bouton (Figure x). L'écran n'est pas tactile et ne permet donc pas la désignation directe. 

1. Définir les interactions permettant la navigation dans le calendrier. Celui‐ci doit proposer quatre vues : jour, semaine, mois, année. On cherchera à minimiser le nombre d'actions nécessaires pour se rendre d'un jour à un autre. 

2. Définir l'interaction permettant de créer une nouvelle entrée. L'intitulé de l'entrée peut faire partie d'une liste prédéfinie (rendez‐vous, réunion, cours, vacances, etc.) ou être saisi. L'entrée a une certaine durée et peut se répéter tous les jours, toutes les semaines, tous les mois, ou toutes les années. 

3. Définir les interactions permettant de modifier une entrée (sa date, son heure, son intitulé, sa durée, sa périodicité) et de la détruire.