27 January 2010

6 règles pour les développeurs / designers d'applications multitouch

Six règles de base pour tous les développeurs et designers qui songent à basculer dans le développement d'applications multitouch (6 basics rules for developers and designers who think about working on multitouch applications) :
  • Touchscreens are just components - they do not represent an experience in themselves.
  • Tweaking an existing platform and adding a touchscreen will not deliver a revolutionary new set of products.
  • Touch interactions are fundamentally different from those performed with keys or even a stylus, and will often require a completely revised user interface...
  • If you start your product design process with the premise of ‘we need a touchscreen device in our portfolio’, you can expect to end up with a bad user experience.
  • The (mobile) industry has made this mistake time and again, seeking to sell users the promise of a particular technology rather than focusing on how that technology can be applied to enhance the customer experience.
  • Touchscreens do not change the rules - remember, always start by designing for the user rather than designing around a technology.
Source : MEX

25 January 2010

Des interfaces naturelles, intuitives ou ludiques ? (2)

« L’art et les jeux nous permettent de nous soustraire aux pressions matérielles de la routine et de la convention, d’observer et de questionner. Il n’y a pas de rôle ou d’emploi capables comme les jeux, en tant que forme d’art populaire, de donner à quiconque un moyen direct de participer à la vie entière d’une société. »
Pour comprendre les media - Marshall  Mc Luhan


Pour les travaux que je réalise sur les applications multitouch, j’aime beaucoup me rapporter au terme d’ « Interface Utilisateur Ludique ». La première raison est que « ludique » est souvent le mot employé par les personnes qui expérimentent pour la première fois un dispositif multitouch. Au-delà de ce constat, que je serais bien tenté d’associer à l’effet de nouveauté, j’aime utiliser le terme pour le sens qu’il porte : est ludique ce qui a rapport au jeu.

Est donc (selon moi) une Interface Utilisateur Ludique, un dispositif :
  • répondant à des règles reconnues et partagées par tous ses utilisateurs,
  • dont l’apprentissage des règles est rapide,
  • dont l’expérience est agréable,
  • dont l’expérience permet et encourage l’exploration de nouveaux schémas. 
Cette définition ne signifie en rien que l’usage de telles interfaces est limité à des finalités ludiques : l’expérience d’utilisation d’une interface est une chose, la finalité d’utilisation du système en est une autre. Ludique n’est pas antinomique de productif, bien au contraire.

Si vous vous demandez à quoi peut bien ressembler une Interface Utilisateur Ludique, je dirais que l’Iphone d’Apple me parait un assez bon exemple d’une première génération de telles interfaces :
  • Son utilisation ne nécessite que quelques manipulations/gestuelles dont l’apprentissage est rapide, y compris pour les utilisateurs les moins technophiles.
  • L’expérience utilisateur est agréable : je connais peu d’utilisateurs d’Iphone qui soient prêts à faire marche arrière et à revenir à l’utilisation de leur ancien téléphone portable.
  • Par la forme de son offre applicative, l’Iphone encourage l’exploration de nouveaux schémas d’expérience. En voyage dans une ville inconnue, vous êtes à la recherche d'un bar que l'on vous a recommandé. Grace à son GPS et à l’application GoogleMaps, le téléphone vous indique ou vous vous trouvez et comment vous rendre jusqu'au bar tant désiré. Accoudé au comptoir, vous sirotez un mojito bien mérité, quand vous entendez une chanson que vous ne connaissez pas mais qui vous plait bien. Grâce à l’application Shazam, vous obtenez en quelques secondes le titre de la chanson. Les applications de l’Iphone couvrent souvent un périmètre fonctionnel réduit (des sortes d’haïkus logiciels) mais enrichissent l’expérience de l’utilisateur et idéalement s’adaptent à différents contextes d’utilisation.
 
GoogleMaps sur Iphone

Un autre dispositif que je serais tenté de qualifier de Ludique est Twitter :
  • Son utilisation ne nécessite qu’un nombre très limité de règles dont l’apprentissage est très rapide (Twitter, Répondre, Retwitter, …).
  • L’expérience utilisateur est agréable, notamment en raison de la souplesse qu’elle autorise.
  • L’expérience du dispositif permet à l’utilisateur d’explorer de nouveaux schémas extrêmement variés. On peut ainsi utiliser Twitter pour rester en contact avec ses amis, pour faire de la veille technologique,  pour de la communication d’entreprise, pour l’organisation d’évènements, pour témoigner d’évènements politiques ou sociaux, …

Mais le meilleur exemple d’Interface Utilisateur Ludique que je puisse trouver reste quand même les briques Lego :
  • Son utilisation ne nécessite l’apprentissage que d’une seule règle très rapide à appréhender : les briques peuvent être connectées grâce au système de plots.
  • L’expérience utilisateur est agréable (bon, je concède surtout au petit garçons et à leurs pères).
  • L’expérience du dispositif permet d’explorer de nouveaux schémas. L’utilisateur peut se limiter à construire le modèle présenté sur la boite,  mais il peut également recombiner les briques contenues dans la boite pour construire un nouveau modèle. Il peut enfin recombiner les briques de plusieurs boites pour construire un modèle plus complexe.
 
Escher's "Relativity" in LEGO (Copyright © A. Lipson 2003)
 
Intérêt du terme d'Interface Utilisateur Ludique
A mon sens, l’intérêt du terme « Interface Utilisateur Ludique » est triple :
  • il permet de lever l’ambiguïté « marketing » du mot naturel  utilisé dans le terme NUI en mettant l’accent sur l’apprentissage,
  • il place l’utilisateur au centre des réflexions pour la conception des applications,
  • il porte en lui une invitation à revoir la façon dont nous concevons nos applications en adoptant une approche plus modulaire et plus « mashupable » (euh oui je sais, il n’existe pas ce mot :D).

Mesure des caractéristiques d'une Interface Utilisateur Ludique
Peut on mesurer objectivement les caractéristiques d’une telle interface ?
  • "Elle doit répondre à des règles reconnues et partagées par tous ses utilisateurs" : oui en demandant  à  l’utilisateur de réaliser une tache donnée et en mesurant l’aptitude de l’utilisateur à réaliser cette tache.
  • "L’apprentissage des règles est rapide" : oui en mesurant la durée d’apprentissage des règles.
  • "L’expérience est agréable" : oui même si il faut reconnaitre qu’ici la mesure parait plus compliquée. Comment mesurer objectivement quelque chose de subjectif comme le plaisir ? Je serais assez tenté de proposer un système de « mesure différentielle »  sur le même principe que la mesure de la douleur en médecine. On ne peut pas mesurer la douleur sous forme d’un indice objectif, mais en demandant au patient d’attribuer une valeur entre 1 et 10 à sa douleur et en observant l’évolution de cette valeur, il devient possible de connaitre l’évolution de la douleur chez le patient, l’effet d’un traitement sur la douleur ressentie, … De manière similaire, on peut soumettre plusieurs variantes d’une même fonction, d’une même interaction aux utilisateurs, en leur demandant d’évaluer chaque variante. Au-delà des valeurs précises, il devient possible de mesurer les variations de notes entre 2 variantes afin de déterminer si une tendance claire en ressort.
  • "L’expérience permet et encourage l’exploration de nouveaux schémas" : peut être existe-t-il des métriques adaptées mais dans mon esprit ce point est plutôt une invitation à concevoir l’architecture et les fonctionnalités de nos applications selon de nouveaux schémas.

En conclusion, l’expression « Interface Utilisateur Ludique » n’est surement pas parfaite mais elle me semble tout de même être un bon support pour la création d'interfaces conviviales et utiles, notamment sur surfaces multitouch.


Sources
Pour ceux que le sujet intéresse, il existe depuis peu un programme d’enseignement et de recherche en Europe sur les Ludic Interfaces. La définition générale donnée à ces Ludic Interfaces est la suivante :
The tools and concepts applied with the concept of ludic interfaces differ from traditional technological systems as they are playful, user-generated and user-driven, flexible, low-cost and cooperative. Ludic interfaces take the best from computer games, artistic experiment, interactive media, media conversion, social networks and modding cultures and result in tools that offer an ease of use and playfulness to cope with a rapidly changing society.
En dehors du fait que la durée d’apprentissage et la facilité d’utilisation me semblent plus être des prérequis que des résultantes, je ne vois pas comment je pourrai le dire mieux.


----------------------------------------------------------
Summary / Key points
----------------------------------------------------------
- For my works on multitouch software, I like using term “Ludic User Interface” (or “Fun User Interface”) as a complement to NUI. “Fun” is a word often used by persons experimenting a multitouch device for first time (Wow effect ?). But main reason for using this term is the sense of word “ludic” : which is related to play.

- So, according to me, a Ludic User Interface is a device defined by :
  • its rules are accepted and shared by all users,
  • its rules are learned quickly,
  • it offers an enjoyable experience,
  • it allows and encourages exploration of new patterns.
-  Best example of Ludic User Interface are Lego building bricks :
  • a unique rule has to be learned (quickly) : how to connect bricks,
  • experience of game is playful and enjoyable,
  • bricks allow exploration of new patterns. Using bricks contained in a Lego box you can build model showed on the box. But you can also use these bricks to build a new model you’ve imagined. Furthermore, you can use bricks from several Lego boxes to build a more complex model.
- Some others examples of Ludic User Interfaces are Apple Iphone and Twitter.

- Advantages of using this term are :
  • less ambiguous than term “Natural” (especially when used by marketing) since it’s focused on skills and learning curve,
  • focus on user experience,
  • it’s an invitation to design more modular, flexible, “mashupable” applications.
- Is it possible to measure these characteristics in objective way ?
  • "Rules are accepted and shared by all users" : Measure user ability to realize tasks.
  • "Rules are learned quickly" : Measure learning time.
  • "Enjoyable experience" : More difficult to measure since pleasure is subjective. I propose to use a “differential technique” quite similar to the measure of pain by medicine. During tests, users experiment and rate different alternative solutions for a functionality/interaction. Instead of focusing on values, we’ll focus on variations of values between alternative solutions.
  • "Allows and encourages exploration of new patterns" : I don’t know existing measures for this but may be we could define some.
- If you’re interested in this subject : A european academic program has been recently created about Ludic Interfaces. Definition of Ludic interfaces is :
The tools and concepts applied with the concept of ludic interfaces differ from traditional technological systems as they are playful, user-generated and user-driven, flexible, low-cost and cooperative. Ludic interfaces take the best from computer games, artistic experiment, interactive media, media conversion, social networks and modding cultures and result in tools that offer an ease of use and playfulness to cope with a rapidly changing society.
Except than, according to me, ease of use and short learning time is a prerequisite and not a result, I couldn’t find a better definition.

18 January 2010

Des interfaces naturelles, intuitives ou ludiques ? (1)

Bien que son histoire soit finalement assez récente, le domaine des interfaces homme/machine a déjà connu plusieurs phases de maturation et ne cesse d’évoluer.

Il est fréquent de présenter ces différentes étapes selon le nom ou l’acronyme du paradigme sous tendant l’élaboration des interfaces. Ainsi, on parle d’Interfaces en Ligne de Commande (CLI – Command Line Interfaces) précédant les Interfaces Graphiques (GUI – Graphical User Interfaces) qui seraient elles mêmes aujourd’hui appelées à laisser la place aux Interfaces Utilisateur Naturelles (NUI – Natural User Interfaces), annonciatrices selon certains des XUI (Experience User Interface).

Je vous propose, dans ce billet, de faire un rapide tour des différents paradigmes avant de nous interroger sur la notion d’Interfaces Utilisateurs Naturelles. Dans le prochain billet, nous parlerons de la notion d’ « Interface Utilisateur Ludique » telle que je la définis pour mes travaux, en complément de la notion de NUI.

CLI ou le plaisir de commander...
Au début étaient donc les Command Line Interface. L’utilisateur interagit avec le système par le biais de « commandes » saisies à l’aide d’un clavier. Le système reçoit, analyse et exécute la commande avant de redonner la main à l’utilisateur.

Exemple d’interface CLI (image Wikipedia)

Ainsi va la vie du nouveau couple que forment l’utilisateur et sa machine au début des années 60. Le principal problème est que le système CLI est un conjoint capricieux, exigeant que l’on s’adresse à lui en y mettant les formes (qu’il impose). Il ne tolère que très peu la fantaisie et la nouveauté. Un vrai tue-l’amour.

Pour le dire autrement, les systèmes CLI se veulent codifiés, stricts, peu flexibles et nécessitent un apprentissage les réservant au final à un public ciblé et qualifié.

GUI/WIMP ou l"art de filer la métaphore pour filer le "parfait" amour...
Suivant les travaux précurseurs d’Ivan Sutherland et de Douglas Engelbart, les chercheurs du Xerox Parc mettent au point dans le courant des années 70 le Xerox Alto Computer, jetant les bases d’un nouveau paradigme d’interface homme / machine que nous utilisons encore aujourd’hui sur nos ordinateurs : les Graphical User Interfaces.
Exemple d’interface GUI/WIMP (image Wikipedia)

Véritable petite révolution copernicienne pour les interfaces homme / machine, les GUI sont indissociables :
  •  d’objets visuels et graphiques venant se substituer aux séquences de caractères des CLI.
  • de la notion centrale de métaphore. Les objets visuels de l’interface sont conçus comme des métaphores d’objets du monde réel (le bureau, les dossiers, les fichiers, la poubelle, …). Comme tout le monde l’aura deviné, la métaphore retenue est celle de la vie au bureau…
  • de dispositifs d’interaction venant compléter l’utilisation du clavier sous la forme de systèmes de pointage mono-point (le plus célèbre d’entre eux étant la souris).
Ce système d’IHM que nous connaissons tous est également souvent présenté sous l’acronyme WIMP (Window, Icon, Menu, Pointer – Fenêtre, Icône, Menu, Pointeur) en référence à ses briques constitutives.

L’un des apports majeur des systèmes GUI/WIMP est qu’ils proposent des dispositifs dont l’apprentissage est accéléré et qu’ils favorisent la découverte du système par l’utilisateur.


NUI ou chassez le naturel, il revient au galop...
La récente mise au devant de la scène des dispositifs multitouch a popularisé un nouvel acronyme, résumant la nouvelle étape dans laquelle rentre le monde des interfaces homme / machine : NUI (Natural User Interfaces).

Les systèmes NUI poussent la métaphore un peu plus loin en stipulant que l’interaction ne passe plus par un objet médiateur (la souris et son pointeur visuel) mais doit devenir plus directe et plus intuitive. Par exemple, l’utilisateur interagit avec les objets numériques par manipulation directe ou par le biais de gestuelles utilisant à cette fin ses mains, ses doigts, ....

Parmi de nombreux exemples de réalisations, la table Surface de Microsoft est assez emblématique de ce nouveau type d’interfaces homme / machine.
La table Microsoft Surface (image Microsoft corp.)

Les questions auxquelles il faut répondre pour définir ce nouveau modèle sont nombreuses mais passionnantes : L’utilisation d’une métaphore unique (le bureau) pour nos interfaces a-t-elle encore un sens alors que de plus en plus de nos ordinateurs sont utilisés dans un contexte non professionnel ? Quels sont les principes ergonomiques fondant ces nouvelles interfaces? Comment continuer à accélérer l’apprentissage et la prise en main du système par l’utilisateur ? …

Des interfaces naturelles et intuitives ?
 
Travaillant depuis des années à la définition et la création d’applications informatiques (que ce soit sur le web ou en multitouch), je crois pouvoir dire que je comprends l’idée d’interfaces et d’interactions plus naturelles, plus intuitives… Je dirais même que j’y souscris avec une grande part d’enthousiasme.
Mais je dois avouer que j’ai aussi toujours ressenti une légère « incompréhension » par rapport à ces termes. Concevoir une application pour des utilisateurs expérimentés (ou qui tout du moins bénéficieront d’une formation adéquate) n’a que peu à voir avec la conception d’une application pour le grand public, devant être utilisable tout de suite, sans formation préalable. Dans ces conditions, que peut on considérer comme naturel ou intuitif ? Ce qui est naturel ou intuitif pour une personne l’est il pour une autre ?
Tout le monde sera a peu près d’accord pour dire que faire tourner une photo sur un écran à l’aide de 2 doigts peut être qualifié de « relativement » intuitif, cette manipulation étant facilement reproductible dans le monde de tous les jours. Mais repensez à Tom Cruise devant son écran dans le film Minority Report.



Peut-on encore vraiment qualifier ce Corporate Tai Chi de naturel et intuitif ?
Je recommande vivement la lecture d’un post récent écrit par Nicolas Roussel sur le sujet et de l’extrait du livre de Jef Raskin qu’il contient. Les arguments de J.Raskin sont plus que pertinents et utiles.
Une discussion récente avec Joshua Blake, consultant chez Infostrat et grand enthousiaste des NUI, sur le rapport entre les notions de « gestuelles » et de « naturel » m’a convaincu d’un certain nombre de points sur le sujet :

- Le principal problème du terme « naturel » est qu’il recouvre plusieurs sens :
  • SENS PREMIER : Est naturelle, une chose relative à la nature, à l’ensemble des êtres et des choses. Selon ce sens, une chose naturelle est liée à notre condition d’être humain, d’animal, « d’objet physique », …
  • SENS COMMUN : Est naturelle, une chose que nous faisons en conséquence de nos habitudes. Selon ce sens, une chose naturelle est liée à notre expérience passée, à notre apprentissage. 
- En tant que développeurs, designers, experts en interaction homme / machine nous devrions attacher une importance primordiale au SENS COMMUN du terme pour concevoir nos applications multitouch. En effet, la plupart de nos activités quotidiennes sont rendues possibles par des apprentissages passés et non pas en raison de notre condition.

- Garder à l’esprit cette définition, nous oblige à perpétuellement nous interroger durant nos travaux :
  • Pourquoi suis-je convaincu que cette gestuelle (manipulation, métaphore, …) est naturelle ?
  • Quand ai-je appris à faire ceci ?
  • Comment ai-je appris à faire ceci ?
  • Cela sera-t-il naturel aux utilisateurs finaux ? (Qui sont les utilisateurs finaux ? Ont-ils déjà appris à faire ceci ? Auront-ils à apprendre à faire ceci ? Quelle sera la durée d'apprentissage ?
- Comme l’écrivait Jef Raskin, un bon indicateur pour mesurer le degré de naturel (SENS COMMUN) est la durée d’apprentissage, indicateur qui a l’avantage d’être un critère objectif et clairement quantifiable.

Dans le prochain billet, nous parlerons d’Interfaces Utilisateur Ludiques.

Sources 
 - Pour tous ceux que le sujet intéresse, l’évolution des interfaces homme/machine présentée dans ce post est inspirée d’une conférence, donnée en 2008 par August de Los Reyes, Principal Experience Architect Microsoft,que dont vous pourrez trouver des éléments ici et ici.
- Concernant l’importance de l’apprentissage (ce que j’ai appelé Naturel au SENS COMMUN), je vous recommande la conférence de Bill Buxton, Principal Researcher Microsoft, au CES 2010.
 

----------------------------------------------------------
Summary / Key points
----------------------------------------------------------
- First part of this post is a short introduction to user interface paradigms (past, present or future) : CLI, GUI/WIMP, NUI and XUI.
This introduction is inspired by August de Los Reyes's talk (Principal Experience Architect Microsoft) at MIX2008 : more here and here.

- As a developer (web and multitouch) I think I can say I'm a NUI enthusiast but I've always been a bit puzzled by main principles of NUI (natural and intuitive).
I know building a specific application for power users (who will get a specific training before using this app) is quite different from building an application for general public (users will use application, immediately, without any previous training). So, what can be considered as natural and intuitive ? Can we really consider that something natural and intuitive for someone will be natural and intuitive for someone else ?

- I recommand this blog post written by Nicolas Roussel. It contains a usefull extract from a book written by Jef Raskin.

- A recent discussion  with Joshua Blake about terms "gestures" and "natural" convinced me that :

  • The key point is that Natural means 2 different things :
            - MAIN SENSE : something related to nature, to all beings or to all things.
            - COMMON SENSE : something we've learned and we're used to do.

  • Most of human activities are possible because of our skills (COMMON SENSE) and not because of our natural condition (MAIN SENSE). Remembering we work (as software designers, HCI experts, ...) on skills (COMMON SENSE) will be the key to define good natural UI. 
  • If we remember this, we'll have to ask ourselves at every moment :
            - why do I think this gesture (manipulation, ...) is natural ?
            - when did I learn to do this ?
            - how did I learn to do this ?
            - will it be natural for end users ? (Who are my end users ? Did they learn to do this ? Will they have to learn it ? How long will be training ?)

  • As written by Jef Raskin, a good indicator to measure naturalness is learning time, because it's an objective and measurable indicator.

- Bill Buxton's talk at CES 2010 for specific insight about skills.


Pas touche !...

... comme l'injonction parentale de mon enfance, quand me prenait l'envie d'appliquer mes mains sur l'écran de la télévision. Pas la peine de préciser que mon premier contact avec une table multitouch, 30 ans après, fut un immense plaisir régressif. Fini les interdits. Les mains sont désormais libres de s'exprimer.

Comme cela fait maintenant un certain temps que je travaille sur la conception d'applications multitouch, il était surement inévitable que je finisse par créer un blog sur ce thème. J'essaierai de poster ici des idées, des intuitions, des coups de coeur, ... touchant aux interfaces homme/machine en général et aux Natural User Interface en particulier. Bien évidemment, ce sera fortement centré sur les interfaces multitouch. Mon espoir est que vous trouverez ici quelque chose qui vous intéresse, quelle que soit votre activité ou votre expérience dans le domaine.

L'idée même d'IHM n'ayant de sens que si l'on tient compte du facteur humain, j'invite chaleureusement chacun de vous à participer à ce blog. Quel que soit votre expérience, votre parcours ou votre langue maternelle, si le sujet vous intéresse donnez votre avis, approuvez, désapprouvez, proposez. Ce sera toujours bienvenu... et d'ailleurs : "Bienvenue !"