MGL 835 Interaction humain-machine 2013 hiver Prof. Michael McGuffin
LIHM Interaction humain-machine Synonymes (ou presque): interaction homme-machine, interfaces usagers-machine, {interaction, interfaces} {humain,homme}- {machine,ordinateur}, … En anglais: «Human-Computer Interaction» (HCI), «Computer-Human Interaction» (CHI), «Man-Machine Interaction» (MMI), …
LIHM Létude de la conception, la réalisation, et lévaluation des systèmes interactifs (et surtout informatisés) destinés à lusage humain, et létude des phénomènes associés. NB: le mot interface signifie la surface de contact, ou la frontière, entre deux corps ou deux régions despace. Linteraction a lieu à linterface, ou à travers linterface.
LIHM Le côté pratique : – Comment concevoir une interface utilisateur ? Étant donné une tâche et une classe dutilisateurs, concevoir la meilleure interface, en respectant les contraintes, qui optimise un aspect de lutilisabilité (lefficience, la facilité dapprentissage, etc.) – Comment programmer les interfaces utilisateurs. Algorithmes, outils de programmation, boîtes à outils, libraries, … Le côté recherche : – Développer des nouvelles et meilleures façons dinteragir. Développer des interfaces et des techniques dinteraction novatrices. – Comment expliquer et mieux comprendre linteraction ? Développer des modèles et des théories descriptifs et prédictifs. Développer des nouvelles méthodologies de conception.
Dautres domaines reliés à lIHM Facteurs humains, ergonomie – Ne se limitent pas juste aux interactions avec les ordinateurs ou les machines. Mettent parfois plus daccent sur le côte humain, et/ou sur le travail (et des tâches répétitives, en particulier), que dans lIHM. – Sintéressent à comprendre les capacités humaines, et à appliquer ce savoir à la conception dobjets, doutils, de systèmes, de machines, de tâches, de services, et denvironnements destinés à lusage humain – Des sous-branches: ergonomie physique, ergonomie cognitive (« engineering psychology ») – Quelques concepts clés: stress, perception, attention, contrôle moteur, mémoire, charge mental, faire des décisions, les erreurs, … – Ont été beaucoup développés, par exemple, pendant la deuxième guerre mondiale pour améliorer les contrôles davions et dautres machines, et aussi pour améliorer la performance des ouvriers dans les usines qui effectuent des tâches répétitives
Dautres domaines reliés à lIHM (2) Linformatique La psychologie Le génie Linfographie Le graphisme (« Graphic Design ») Lintelligence artificielle La linguistique La sociologie etc. LIHM est un domaine multidisciplinaire!
Pourquoi apprendre à concevoir les interfaces? Ne sont-t-ils pas déjà amplement conviviales et intuitives?
Je nai pas de choix!
Quest-ce que ça veut dire dannuler une opération déjà annulée?
Vue en 2012, pendant linstallation dun logiciel
Il est facile de mal-concevoir une interface Même lorsquune interface est bien conçue, les interfaces graphiques modernes laissent encore beaucoup à désirer – La souris et le clavier sont des instruments dexpression très limités – Lorganisation hiérarchique des fichiers nest pas nécessairement idéale – Etc… (autres problèmes / défis ?)
Le développement de lordinateur personnel Source: Michel Beaudouin- Lafon, Designing Interaction, not Interfaces, Proceedings of AVI 2004,
Pourquoi est-il difficile de bien concevoir des interfaces? LIHM est une « science douce » Lhumain est difficile à modéliser Il y a une grande variété dutilisateurs, de tâches, dapplications, et de périphériques Brevets Problèmes de compatibilité entre différents plateformes Linertie des utilisateurs/du marché: les gens sont déjà « satisfaits » et habitués avec leurs interfaces actuelles
Les utilisateurs atypiques Les interfaces supposent souvent que leur utilisateur a deux mains peut voir et entendre et a un bon contrôle moteur est intelligent et débrouillard na pas peur des ordinateurs peut lire et comprendre langlais est familier avec les conventions des « GUIs » typiques a la motivation dapprendre à utiliser linterface a le temps nécessaire de résoudre des problèmes lorsquils arrivent Quel pourcentage de la population a toutes ces caractéristiques?
Toutefois, il existe des procédures systématiques quon peut suivre pour concevoir les interfaces!
Principes de base … Ne supposez pas que vous savez ce qui est de mieux pour lutilisateur Ne supposez pas que vous savez ce que sont les buts, les tâches, et les habitudes de lutilisateur Il faut rencontrer, discuter avec, et observer de vrais utilisateurs pour comprendre leurs besoins
Le coût de changer la spécification dune interface temps coût
Quelques dimensions de lutilisabilité (selon Nielsen) Lefficacité (« efficiency ») – par exemple, en termes de vitesse La facilité dapprentissage (« learnability ») La memorabilité – est-ce quon se rappelle facilement de comment fonctionner linterface? Le taux derreurs; et labsence derreurs catastrophiques La satisfaction Autres critères et termes à distinguer (ou à éviter?): flexible, puissante, intuitive, fluide, conviviale, ergonomique, utile
Je me présente … École primaire, secondaire, et cégep à Chibougamau Bacc. en génie informatique (1999) à lU de Waterloo (en Ontario), maîtrise (2002) et Ph.D. (2007) en informatique à lU de Toronto Entreprises où jai travaillé: CAE, SoftImage, Discreet Logic à Montréal; Alias|wavefront, IBM, et Ontario Cancer Institute à Toronto
Mes intérêts de recherche La visualisation Les interfaces utilisateurs Les techniques dinteraction Linfographie interactive Des outils pour la créativité (dessin, musique, …)
Et vous? Votre programme détudes? Maîtrise avec mémoire, sans mémoire, doctorat, D.E.S.S. ? Travaillez-vous en même temps? Avez-vous déjà travaillé sur linterface utilisateur dun logiciel, site web, produit, etc.? Êtes-vous à laise dans la programmation? (Quel(s) langage(s)?) Combien de vous ont pris LOG 350 avec moi? Combien de vous ont pris LOG 740/745 ?
(coup doeil sur le site web, plans de cours, …)
Exemples de sujets pour le survol de littérature …
Exemples de code source de petits logiciels événementiels …
Exemples de projets de programmation potentiels …
SimplePaint – logiciel de dessin 2D en Java
Visualisateur de réseau 2D (en Java)
SimpleModeller – logiciel de modélisation 3D en Java (avec OpenGL et JOGL)
Visualisateur de volumes 3D en Java (avec OpenGL et JOGL)
Vue radiale de fichiers
À faire bientôt Si vous voulez faire le TP1 en équipe, trouvez un co-équipier Assurez vous davoir accès au bibliothèques en ligne à travers le proxy de lÉTS – Comment faire: – Essayez, par exemple, daccéder à cet article :