21 November 2010

First tests with Kinect and OpenKinect

I finally decided to get a Kinect in order to check what can be done with this new "toy". Since a great job was already done by open source community at OpenKinect.org, I just had to install last version of Win7 driver, in order to check a few things related to hardware part. Here are first results after half an hour playing with Kinect.

RGB camera detects IR lights
Microsoft Kinect Teardown states that RGB camera detects the human visual spectrum. I tested RGB cam with a TV command and an IR projector.
IR from TV command
IR from IR projector

It seems RGB camera can detect a broader spectrum than human visual spectrum.

Depth camera and Plexiglass
I also checked depth camera works when a piece of plexiglass stands between camera and target object... And everything works fine.

Plexiglass between depth camera & object

Conclusion
2 humble tests/results but I already imagine what we could do with this. Kinect is going to be a very fun toy !

14 November 2010

Manipulations vs Gestuelles : Quel avenir pour la manipulation directe ?


Certaines interrogations reviennent fréquemment au sujet des interfaces multitouch. Si le multitouch permet de manipuler directement les objets affichés à l’écran, ces manipulations ne sont elles pas finalement assez limitées ? Au-delà du tryptique translation/rotation/mise à l’échelle, quel avenir pour la manipulation directe ? Le futur des interfaces tactiles ne réside finalement il pas dans l’utilisation de gestuelles plus ou moins abstraites que l’utilisateur devra apprendre et s’approprier comme l’utilisateur d’interfaces CLI (lignes de commandes) doit apprendre et s’approprier les commandes système, limitant de fait leur utilisation à une population d’« experts » ?

Manipulations et gestuelles selon OCGM
Commençons par définir plus en détail ce que nous entendons par manipulation et gestuelle.
Pour ce post, je retiendrai la définition donnée par R.George & J.Blake dans leurs travaux sur le modèle OCGM (Object, Container, Gesture, Manipulation) :
  • une Manipulation est une action directe et continue, offrant un feedback immédiat dès lors que la manipulation a commencé.
  • une Gestuelle est une action indirecte, discrète et symbolique.
Les manipulations dans OCGM peuvent être vues comme une métaphore des manipulations que nous effectuons dans notre vie de tous les jours (déplacer un objet, tourner la poignée d’une porte, …)  alors que les gestuelles sont une métaphore des gestes de communication (communication non verbale) que nous effectuons pour échanger avec nos semblables (faire bonjour de la main, lever le pouce pour dire « super ! », …). Avec les manipulations, le mouvement en soi n’est pas le plus important puisque des chemins (manipulations) différents permettent d’arriver au même résultat. Au contraire, le mouvement effectué est une caractéristique importante de la gestuelle, puisqu’il permet de la détecter et de déclencher l’action associée.

Quelques facteurs caractéristiques des manipulations
Le facteur physique
Si nous considérons donc les manipulations comme une métaphore de la manipulation d’objets physiques, nous pouvons d’ores et déjà dire que le concept de manipulation sera fortement dépendant de contraintes physiques telles que le nombre des dimensions de l’espace d’interaction ou le nombre des degrés de liberté de l’effecteur et des objets manipulés. Ainsi, un système comme Kinect, qui détecte les mouvements du corps humain dans un espace 3D, offre de facto un ensemble de manipulations plus étendu qu’une surface multitouch qui implémente une interface 2D  et s’appuie sur la détection des points de contacts entre les mains de l’utilisateur et la surface interactive.

Le facteur culturel
Les manipulations sont assez peu sensibles au facteur culturel en comparaison des gestuelles.
En effet, la signification d’une gestuelle dans un pays peut être totalement différente de sa signification dans un autre pays ou ne pas avoir de signification du tout. De leur côté, si les techniques de manipulation peuvent également varier en fonction de facteurs tels que l’environnement ou les ressources disponibles, le facteur physique reste en général prépondérant dans la définition des manipulations.

Le facteur d’expertise
Les notions d’apprentissage et d’expertise sont applicables aux manipulations. Il n’y a pas une seule et unique façon d’effectuer une manipulation mais toute une gamme s’étendant du mouvement hésitant du débutant au geste parfait de l’expert. Au fur et à mesure que le mouvement est répété, la main devient plus sure et le geste s’affine jusqu’à devenir expert.

Quel avenir pour la manipulation directe en surface computing ?
Les paramètres manquants
Les dispositifs multitouch actuels (logiciel & matériel) sont loin de tirer partie de l’ensemble des facteurs physiques entrant en jeu lors d’une manipulation. Par exemple, très peu de dispositifs utilisent la notion de pression des points de contact. Il s’agit pourtant d’un facteur essentiel qui lorsqu’il est pris en compte, ouvre de nouvelles possibilités en terme de manipulation.



Il est à noter que plus augmenteront le nombre de paramètres physiques pris en charge et la résolution de détection de ces paramètres, plus s’étendra potentiellement l’échelle du facteur d’expertise. Si aujourd’hui être expert dans l’utilisation d’un ordinateur signifie avoir une expertise intellectuelle, on peut tout à fait imaginer que dans le futur cela signifierait également avoir une expertise manuelle.

Les manipulations « symboliques »
Nous pouvons également envisager d’autres types de manipulations, dépendant par exemple du nombre de points de contacts utilisés. C’est le cas du modèle 10/GUI Con10uum (un exemple d'implémentation par M.Dislaire peut être trouvé ici) .


Con10uum and Con10uum side by side from Improveeze on Vimeo.

Observé sous l’angle des NUI, ce type de solution soulève cependant plusieurs questions.

Notre expérience nous mène à associer en priorité la manipulation d’objets à ce que Cadoz appelle la fonction ergotique de la main (sa capacité de transformation des objets de l’environnement). Notre expérience nous a également appris que cette fonction ergotique est fortement liée à des lois physiques faisant intervenir des forces (la gravité, les forces de contact, les forces de frottement, …). Des lois dont nous avons appris à intégrer les effets depuis le plus jeune âge.

Mais lorsqu’on observe un système tel que 10/GUI Con10uum, la première constatation est que ces lois physiques ne paraissent plus applicables et semblent remplacées par des lois symboliques : une manipulation réalisée avec 2 doigts entraine un résultat différent de la « même » manipulation réalisée avec 3 ou avec 4 doigts. La fonction sémiotique de la main (que notre expérience associe habituellement aux gestuelles de communication) devient prépondérante dans la définition de ces manipulations. En fait, au sein d’un tel système, les manipulations paraissent avoir un statut hybride, à mi-chemin entre les manipulations et les gestuelles d’OCGM. D’où le terme de manipulation symbolique que j’ai employé.

Le succès d’un tel système est principalement lié à la capacité que nous aurons à définir des manipulations symboliques faisant suffisamment sens pour que l’apprentissage et la mémorisation en soit facilités.

Le grand oublié…
Prenons un peu de temps pour nous tourner vers le passé et constatons qu’avec ce que nous avons défini comme étant des manipulations, nos vaillants aïeux ont tout de même construit ceci

Notre Dame de Paris
ou encore celà

Pyramide de Kheops
Enfin, pour être plus exact, un ingrédient supplémentaire fut indispensable pour obtenir ces résultats : l’outil.

Si nous considérons plus largement le concept de manipulation tel qu’il apparait dans le monde animal, nous pouvons distinguer 3 stades :
  1. Manipulation directe de l’objet cible de l’interaction (observable chez quasiment tous les animaux)
  2. Manipulation d’un objet intermédiaire pour interagir avec l’objet cible (observable chez certains animaux tels que les primates, …)
  3. Fabrication et manipulation d’outils spécialisés pour interagir avec l’objet cible (activité hautement développée chez l’être humain).
La fabrication et la manipulation d’outils est en fait une des principales caractéristiques de l’activité humaine (l’« Homo Faber » de H.Bergson, l’« animal fabricateur d’outils » de B.Franklin).
Pour vous en convaincre si nécessaire, pensez au nombre de fois dans une journée où la réalisation d’une action passe par la manipulation d’un outil (manger, écrire, …).

Outils et Natural User Interfaces
Considérant ce qui précède, il apparait que la notion d’outil devrait avoir un rôle essentiel à jouer au sein des NUI. En effet, si nous pensons la réification des objets et la manipulation directe comme de première importance pour les NUI, il est difficile d’imaginer priver l’utilisateur de ce qui forme une des caractéristiques principale de l’interaction entre l’homme et les objets de son environnement. 

Il ne s’agit pas ici de penser l’outil comme un concept générique (« mon éditeur de texte n’est pas un outil ») mais sous une forme réifiée, comme un objet spécialisé utilisable dans certains contextes, comme un objet « intermédiaire » pour réaliser une action et obtenir un résultat précis.

Pour ceux que le sujet intéresse, les travaux de M.Beaudouin-Lafon sur l’interaction instrumentale et ceux de B.Buxton sur les See-Through Tools sont une grande source d’inspiration.

Outils et Approche Bottom-Up
Là encore le concept d’outils a un rôle essentiel à jouer dans ce que nous avons appelé architecture Bottom-Up et les outils devraient trouver une place privilégiée pour l’implémentation du concept d’Opérateurs.

En conclusion…
Le concept de manipulation parait avoir encore de beaux jours devant lui. Au-delà de la prise en compte de paramètres physiques supplémentaires comme la pression (qui dépend en partie des solutions matérielles disponibles), la mise en place d’outils réifiés pourrait être une voie prometteuse, notamment dans le cadre d’une approche orientée NUI.

Manipulations vs Gestures : Is there any future for manipulations ?


I frequently hear questions about multitouch systems and direct manipulation : translation / rotation / scaling of objects is cool but what else ? Should we consider abstract gestures as the future of multitouch ? Does it means we’ll have to learn these gestures as CLI users must learn abstract commands ?

Manipulations & Gestures in OCGM model
For this post, I will retain definition from OCGM model by R.George & J.Blake:
  • Manipulations are direct, continuous actions with immediate feedback while the Manipulation is occurring.
  • Gestures represent an indirect, discrete, symbolic action.
Manipulations can be seen as  a metaphor for manipulations of physical objects and gestures as a metaphor for non-verbal communication. With Gestures, the important part is the actual movement of the Gesture. With Manipulations, the movement itself is not important (unlike Gestures) since you could take many paths to get to the same end result.

Some typical factors implied in manipulations
The physical factor
If we consider manipulation as a metaphor for manipulation of physical objects, we can already say that the concept of manipulation will be strongly dependent on physical constraints such as number of spatial dimensions or number of degrees of freedom of the effector and objects handled. Thus, a system like KINECT, which detects human movement in 3D space, provides a larger set of manipulations than multitouch surfaces which implement 2D interfaces and use detection of touch points between hands and interactive surface.

The cultural factor
Manipulations are quite insensitive to cultural factor compared to gestures. Indeed, the meaning of a gesture in one country may be totally different from its meaning in another country or may have no meaning at all. For their part, if manipulation techniques may also vary depending on factors such as environment or available resources, the physical factor is usually dominant in the definition of manipulation.

The skill factor
The concepts of learning and expertise are applicable to manipulations. There is many ways to perform an operation, a whole range of motion, from the beginner’s hesitant movement to the expert’s perfect manipulation. Gradually, as the movement is repeated the manipulation is refined.

Is there any future for direct manipulation in surface computing ?
Missing parameters
Current multitouch devices (software & hardware) are far to take advantage of all physical parameters that come into play during a manipulation. For example, very few devices use the concept of pressure, even if it's an important factor which opens new possibilities.



Note that scale associated to manual skill factor could potentially increase as the number of physical parameters and the resolution of these parameters increase. May be in the future, being an expert in computering will mean you have intellectual and manual skills.

Symbolic manipulations
We can also consider some other types of manipulations, which depend on the number of touch points. This is the case of 10/GUI Con10uum model (an implementation by M.Dislaire can be found here).


Con10uum and Con10uum side by side from Improveeze on Vimeo.

However, this type of solution raises several questions for NUI approach.

From our experience we associate manipulation of objects to the ergotic function of hand (its ability to transform objects). Our experience has also taught us that ergotic function is strongly linked to physical laws involving forces (gravity, contact forces, frictional forces, ...) and we’ve learned to incorporate effects of these forces since our early years.

But when we observe a system like 10/GUI Con10uum, the first finding is that physical laws don’t seem to apply and seem to be replaced by symbolic laws : a manipulation done with 2 fingers leads to a different result from the "same" manipulation performed with 3 or 4 fingers. The semiotic function of hand (usually associated with gestural communication) becomes dominant in the definition of these manipulations. In fact, within such a system, the manipulations appear to have a hybrid status, halfway between the manipulations and gestures of OCGM model. This is why I used the term symbolic manipulation.

Success of this kind of system will depend on definition of meaningful symbolic manipulations, easy to learn and memorize.

The forgotten Tool
Let’s take a while and let’s see what our ancestors have built with the help of manipulations.
They’ve built stuffs like this
Notre Dame de Paris
or  like this
Kheops's pyramid
To be exact, an additional ingredient was needed to obtain these results: Tools.

If we consider the concept of manipulation as it appears in the nature, we can distinguish three stages :
  • Direct manipulation of target object (skill shared by almost all animals)
  • Manipulation of a mediator object to interact with target object (skill shared by some animals like monkeys, …)
  • Manufacture and manipulation of specialized tools to interact with target object (activity highly developed by humans).
The manufacture and manipulation of tools is in fact a key feature of human activity ("Homo Faber" by H. Bergson, "Toolmaking Animal" by B. Franklin). Just think about how many times a day you use a tool to realize an action (writing, eating, ...).

Tools and Natural User Interfaces
It appears that concept of tool should have a role to play in NUI. Indeed, if we think reification of objects and direct manipulation of prime importance for NUI, it is hard to imagine depriving the user of tools, which forms a key feature of interactions between human and objects in daily life. We musn’t think to tool as a generic concept ("my text editor is not a tool") but in a reified form. As a specialized object used in specific contexts. As a mediator object used to perform an action and obtain an accurate result. For those interested in the subject, M.Beaudouin-Lafon’s works on instrumental interaction and B. Buxton’s works on See-Through Tools are a great source of inspiration.

Tools and Bottom-Up approach
The concept of tools has also an essential role to play in what we called Bottom-Up Architecture and tools should find a special place for the implementation of the concept of Operators.

To conclude
The concept of manipulation still seems to have a bright future. Beyond the inclusion of additional physical parameters such as pressure (which depends on the hardware solutions available), the development of reified tools could be a promising way, especially in the context of a NUI-oriented approach.

23 September 2010

Multitouch & Natural User Interface : the Bottom-Up approach

Here's an english translation of paper "Multitouch & Natural User Interface: Opportunities for a Bottom-Up Approach" presented at Forum sur l’Interaction Tactile et Gestuelle (June 10-12, 2010 – Euratechnologies – Lille). And here are the slides of this session.

If this subject interests you, take the time to learn about works realized since 1997 by Michel Beaudouin-Lafon at LRI-CNRS on "Instrumental Interaction".This is a great source of inspiration for all NUI enthusiasts.


Thanks a thousand to Hugo Dahl (Dallas, Texas) for his great work on the translation of this paper.

27 June 2010

Multitouch, Natural User Interface et Approche Bottom-Up

Pour celles et ceux qui n’étaient pas présents au Forum sur l’Interaction Tactile et Gestuelle (10-12 Juin 2010 – Euratechnologies – Lille), voici l’article et les slides de la présentation "Multitouch, Natural User Interface : Opportunités pour une approche Bottom-Up".

Si le sujet vous intéresse, je vous recommande également les travaux effectués dès 1997 par Michel Beaudouin-Lafon au LRI-CNRS sur "l’Interaction Instrumentale". On trouve déjà dans ces travaux nombre de concepts qui devraient parler à tous ceux qui s’intéressent aux NUI. Je retiens de mon côté plus particulièrement les 3 principes de réïfication, polymorphisme et réutilisation.

Mes remerciements à Nicolas Roussel qui m’a permis de découvrir les travaux de M.B.L. sur l’Interaction Instrumentale.

----------------------------------------------------------
Summary / Key points
----------------------------------------------------------
Here are article (french) and slides (english) of session « Multitouch, Natural User Interface : Opportunities for a Bottom-Up Approach » at Forum sur "l’Interaction Tactile et Gestuelle" (10-12 Juin 2010 – Euratechnologies – Lille).

If you’re interested by this subject, I recommend you these works realized since 1997 by Michel Beaudouin-Lafon at LRI-CNRS lab on "Instrumental Interaction". You’ll find many interesting concepts for NUI. I especially like the 3 principles : reification, polymorphism and reuse.

18 April 2010

Quelques considérations purement mécaniques (2)

Dans la première partie de ce billet, j’ai tenté de décrire les paradigmes d’interfaces homme / machine, présents ou à venir, sous l’angle de 2 propriétés mécaniques : la dimension de l’interface et le nombre de degrés de liberté associés aux interactions avec les objets de l’interface.


Voyons maintenant pourquoi nous intéresser à ces considérations mécaniques et quels enseignements ou inspirations nous pouvons tirer de tout cela.

Pourquoi s’intéresser à des considérations mécaniques ?
Finalement peu d’utilisateurs finaux en sont conscients, mais nombre de caractéristiques des interfaces GUI que nous utilisons couramment résultent de travaux portant sur des considérations physiologiques et mécaniques. S’il ne faut citer qu’un exemple, on pensera aux travaux de Paul Fitts dont résulte la loi du même nom.

Une deuxième raison pour s’intéresser à ces aspects est qu’un nouveau système n’est jamais construit ex-nihilo, mais s’appuie sur des concepts ou des métaphores provenant de systèmes existants. Si vous pensez qu’il convient de bâtir de nouvelles interfaces, vous devez au préalable vous demander quels sont les présupposés (conscients ou inconscients) qui ont servi à bâtir les interfaces existantes et pourquoi ils ne sont plus adaptés à certains cas d’utilisation.

Quelles inspirations tirer de tout ceci?
Une « pente naturelle »…
Le premier enseignement de cette courbe est que les interfaces homme / machine de nos systèmes suivent une « pente naturelle » qui tend à les rapprocher de notre expérience quotidienne (1 univers à 3 dimensions avec 6 degrés de libertés). On perçoit dans l’évolution de nos interfaces (existantes comme CLI, GUI/WIMP et NUI ou entrevues comme XUI) une aspiration à reproduire en l’enrichissant, notre expérience quotidienne. Je ne me lancerai pas dans des considérations philosophiques, mais il me parait peu probable que ce mouvement s’inverse ou s’arrête.

NUI ou la 2D enfin complétée
Le deuxième enseignement que l’on peut tirer de cette courbe est que le paradigme GUI/WIMP, tel que nous le connaissons, ne permet pas de profiter totalement d’une interface à 2 dimensions, puisqu’il lui manque un degré de liberté (la rotation suivant l’axe perpendiculaire) supporté par les interfaces NUI telles que nous les avons considérées.

Présenté aussi abruptement, la conséquence peut paraître faible, surtout si l’on se réfère à l’usage individuel d’un moniteur de bureau. Considérons cependant la possibilité apportée par certains dispositifs multitouch de supporter les interactions simultanées de plusieurs utilisateurs. (Note : C’est une des « bizarreries » de l’informatique collaborative, qu’elle aura d’abord permis de travailler ensemble mais séparément (à distance) avant de permettre de travailler vraiment ensemble, mais là n’est pas le sujet…)

Si nous considérons donc ces systèmes de tables collaboratives, nous voyons que le mouvement de rotation devient un « ingrédient » important, permettant aux utilisateurs de se positionner tout autour de la table, comme nous le faisons naturellement autour d’une table de réunion. Mais il se pose alors tout un ensemble de nouvelles questions : Comment orienter les contenus sur un tel dispositif alors que l’endroit d’un utilisateur est l’envers d’un autre? Sur un écran vertical, la question de l’orientation n’a pas vraiment de sens mais ici tout devient différent.

Certaines réponses commencent à être apportées. Par exemple,  en terme de design les formes circulaires tiennent une place importante, ce qui est somme toute logique puisque le cercle ne favorise pas de direction particulière. On notera également l’utilisation de contenus en rotation lorsqu’ils ne s’adressent à aucun utilisateur en particulier (cas des menus d’invite). Il est évident que les problèmes à résoudre vont bien au-delà de ces 2 exemples très simples.

Soit dit en passant, je suis toujours amusé par les vidéos de tables multitouch dans lesquelles le démonstrateur réalise toutes ses manipulations à l’envers. Je comprends les contraintes de prise de vue obligeant à cet exercice mais il me semble que c’est une bien mauvaise manière de vanter l’aspect naturel de ces interfaces.

NUI et interfaces 3D
Même si le paradigme XUI me semble être le seul, parmi ceux considérés dans ce post, que l’on puisse considérer comme supportant réellement un univers 3D, il est inévitable que les moyens d’interaction des dispositifs NUI soient utilisés pour interagir avec des interfaces 3D, comme c’est déjà le cas pour le clavier ou la souris. Et d'ailleurs, les premiers systèmes multitouch de navigation 3D s’avèrent plutôt prometteurs.

Des interfaces à réinventer
Les systèmes que nous concevons s’appuient souvent (consciemment ou inconsciemment) sur des concepts ou des métaphores provenant d’éléments existants. Prendre conscience de ces principes permet d’en définir les limitations et d’envisager les améliorations que peut apporter un nouveau système.

Ainsi, je suis intimement convaincu (mais simple avis personnel) que bien qu’étant visuelles, graphiques et à 2 dimensions, nos interfaces GUI/WIMP sont profondément marquées par l’influence de ce que Marshall Mc Luhan appelait notre univers mécaniste et typographique et dont les principales caractéristiques sont la linéarité et la répétition. En soit, cela n’est pas étonnant si on se réfère à l’histoire de nos machines et de nos interfaces. L’idée n’est pas de rejeter en bloc cette conception mais d’essayer d’en voir les limites dans certains cas d’utilisation. Pour l’exemple, penchons nous plus en détail sur deux cas concrets. 

Les moteurs de recherche
Si vous lancez une recherche Google.com sur le terme « multitouch » vous obtenez en résultat une liste séquentielle de plus de 6 millions de résultats.


Tentons le coup avec quelque chose d’un peu plus people comme « Obama » et nous obtenons une liste séquentielle de plus de 100 millions de résultats (200 millions il y a quelques mois).



Faisons une pause. Imaginez vous en pionnier de la ruée vers l’or. Votre activité consiste d’abord à prélever au meilleur endroit  de la rivière un fragment des matériaux se trouvant au fond de l’eau (la saisie des critères et le lancement de la recherche). Ceci fait, tenteriez vous d’inspecter chaque grain un à un, pour voir s’il s’agit d’un gravier ou d’or (quand bien même une main invisible aurait aimablement rangé chaque fragment en fonction de la probabilité qu’il vous intéresse et ait d'ailleurs intéressé les autres chercheurs d’or précédemment passés par là) ? Il y a fort à parier que vous feriez comme tout le monde et utiliseriez plutôt un outil permettant de tamiser le tout en profitant des 3 dimensions spatiales et des 6 degrés de liberté.



Prospecteur d’or (Dessin de Tony Oliver – Wikipedia)

Certains d’entre vous objecteront que cet exemple est biaisé car si un grain d’or ne peut appartenir qu’à une seule personne, l’information peut être « consommée » sans préjudice par plusieurs personnes, et que finalement seuls les premiers résultats remontés par le moteur de recherche ont réellement l’importance puisque identifiés comme centraux et populaires par le moteur de recherche. Cela ne me semble pas tout à fait exact dans la mesure où ce qui fonde en partie la valeur d’une information est sa rareté. Une information pertinente apparaissant en 50ème page des résultats de recherche a plus de valeur qu’une information apparaissant en première page.  Posséder cette information vous donne de fait un avantage.

A une époque où la recherche et l’accès à l’information pertinente est de plus en plus prépondérant (notamment dans la vie des entreprises), à une époque où cette information est souvent morcelée et noyée dans un volume de données important, l’approche linéaire et répétitive des interfaces de nos moteurs de recherche n’est plus vraiment adaptée.

La recherche d’information est une activité nomade (comme la cueillette ou la chasse l’étaient pour nos ancêtres) nécessitant des qualités de souplesse, d’agilité et de rapidité qui font défaut au monde mécaniste et typographique de nos interfaces GUI.

 Cavalier Scythe (image de Wikipedia)

Il va de soi que changer l’interface de nos moteurs de recherche ne suffira pas à résoudre à lui seul toutes les limitations dont nous venons de parler, mais les moteurs de recherche auront beaucoup à gagner à utiliser un nouveau modèle d’IHM facilitant la manipulation des données [1].

La navigation sur le web
Prenons maintenant le cas de la navigation sur internet. On ne peut pas vraiment définir de méthode type de navigation mais assez usuellement on rencontrera :
  • des utilisateurs qui, à partir d’une page de départ, vont suivre un lien hypertexte en ouvrant la nouvelle page dans la même fenêtre (et le même onglet) puis utiliseront le bouton « Back » pour revenir à la page précédente, ou iront sur un niveau de profondeur supplémentaire en ouvrant une nouvelle page toujours dans la même fenêtre (et le même onglet). Ainsi de suite…
  • des utilisateurs qui, à partir d’une page de départ, vont suivre un lien hypertexte en ouvrant la nouvelle page dans un nouvel onglet du navigateur. Cette nouvelle page est consultée immédiatement ou lue plus tard lorsque la lecture de la première page est terminée. Et ainsi de suite sur différents niveaux de profondeur.
Dans le premier scénario de navigation, l’utilisateur se place dans un schéma d’interface à 0 dimension (la fenêtre et l’onglet de navigation unique). Dans le deuxième scénario, l’utilisateur se place dans un schéma d’interface à 1 dimension (la ligne formée par les différents onglets).


N’avez-vous jamais été étonné par le fait que la navigation sur internet soit une activité s’apparentant à la navigation dans un arbre et que l’interface proposée pour supporter cette activité soit au mieux linéaire ?

Nous avons là ce que j’appellerai un exemple d’interface conçue en fonction de présupposés découlant d’une métaphore (le classement des documents à l’aide de signets) non adaptée à l’activité réelle.  Un exemple d’interface prenant en compte les caractéristiques de l’activité de navigation est l’addon Firefox TabViz développé par Jakob Hilden, Liz Blankenship and Kerry Kao (University of Michigan School of Information).


Poster de présentation de TabViz

L’imbrication croissante du matériel et du logiciel
Un dernier enseignement que nous pouvons tirer de cette courbe est que l’évolution des interfaces tend à prendre en compte de plus en plus de paramètres mécaniques (comme les degrés de liberté). Plus nos interfaces seront évoluées, plus elles devront s’adapter aux caractéristiques physiologiques et mécaniques de l’utilisateur.

De fait, il est probable que les aspects matériels et logiciels de nos dispositifs seront de plus en plus imbriqués, chaque dispositif matériel nécessitant une interface qui lui est adaptée. D’une certaine façon, cette notion est née avec le concept de multicanal et les téléphones portables offrant un accès internet.
Identiquement, dans une approche centrée sur l’utilisateur, nous devrions considérer que chaque cas d’usage doit trouver le dispositif matériel (téléphone, tablette, table,  mur, …) et l’interface associée qui répondent le mieux au besoin présent.

(1) : Pour ceux qui ne connaitraient pas déjà cette application, je vous recommande de jeter un œil à Pivot des laboratoires Microsoft. Il s’agit d’un bon exemple d'application destinée à adresser cette problématique.

21 March 2010

Quelques considérations purement mécaniques (1)

"If someone is excited about an idea and talks about why it is good, then unless they can also talk fluently about what’s wrong with it and when it won’t work, then need to do more homework, and idea isn’t ready"
Bill Buxton – Interview CES2010
 
Alors que le multitouch devient de plus en plus « mainstream », il me parait intéressant et nécessaire de nous interroger sur les caractéristiques de cette technologie et de celles qui la précèdent. Ce n’est qu’en comprenant les apports et les limitations des systèmes passés, actuels (… voire à venir) que nous pouvons espérer faire progresser nos outils.

On peut réaliser ce travail selon bien des points de vue (interaction homme / machine, ergonomie, design, architecture applicatives, …). Pour ma part, je vous propose de débuter par quelques considérations mécaniques simples sur les interfaces et les dispositifs d’interaction. Nous verrons bien ou cela nous mène !

Dans ce billet, je me concentrerai sur deux caractéristiques mécaniques des différents paradigmes  d’interfaces. Dans le prochain billet, nous essaierons de voir les enseignements que nous pouvons tirer de tout ceci.

Notions de dimensions et de degrés de liberté
Avant de rentrer dans le vif du sujet, un bref rappel sur les notions de dimensions et de degrés de libertés que nous allons utiliser.

J’entends la notion de dimension telle qu’elle est utilisée en mathématiques ou en physique pour la définition d’espaces vectoriels. Pour le besoin, nous ne nous intéresserons qu’aux dimensions de l’espace physique :
  • Un objet volumique (un livre, un canapé, une voiture…) est dit à 3 dimensions.  Pour simplifier vous pouvez imaginer ces dimensions comme 3 axes (Devant-Derrière / Gauche – Droite / Haut – Bas).
  • Un objet plan (une feuille de papier, un écran d’ordinateur) est dit à 2 dimensions.
  • Un objet linéaire (un fil) est dit à 1 dimension.
  • Un objet ponctuel (un point) est dit à 0 dimension.
J’entends la notion de degrés de liberté telle qu’elle est définie en mécanique des solides, soit comme les mouvements « fondamentaux » possibles d’un objet dans un espace de dimension donnée. Tous les mouvements de l’objet pourront par la suite être décrits comme une composition de ces mouvements fondamentaux.
  • Dans un espace à 3 dimensions, il y a au maximum 6 degrés de liberté (1 translation possible suivant chacun des 3 axes et 1 rotation possible autour de chacun des 3 axes).
  • Dans un espace à 2 dimensions, il y a au maximum 3 degrés de liberté (1 translation possible suivant chacun des 2 axes et 1 rotation possible autour de l’axe orthogonal à ces 2 axes).
  • Dans un espace à 1 dimension, il y a au maximum 1 degré de liberté (1 translation possible suivant l’axe unique).
  • Dans un espace à 0 dimension, il n’y a aucun degré de liberté.
Degrés de liberté dans un espace à 3 dimensions (Image from Wikipedia)

Pour une présentation plus approfondie de ces notions, je vous recommande la lecture des articles wikipedia correspondants, ici et ici.

Dimensions et degrés de liberté associables aux différents paradigmes d’interfaces
Voyons maintenant, pour chacun des paradigmes d’interfaces présentés précédemment (CLI, GUI/WIMP, NUI, XUI), quelle dimension nous pouvons associer à l’interface et combien de degrés de liberté nous pouvons utiliser au maximum pour décrire les interactions de l’utilisateur avec les objets de l’interface.

Command Line Interface
Les interfaces CLI sont à 1 dimension : la ligne de commande. Concernant les interactions de l’utilisateur avec les objets de l’interface, je serais assez tenté de dire qu’elles mettent en œuvre 1 degré de liberté correspondant au déplacement sur la ligne de commande (que ce soit pour l’insertion de caractères ou le déplacement au sein de la ligne). Remarquons au passage que l’interaction élémentaire de l’utilisateur avec l’interface est de type ponctuelle (la frappe d’une touche du clavier).

Graphical User Interface (WIMP)
Nous allons considérer ici les interfaces GUI uniquement sous leur forme la plus usuelle, c’est à dire le modèle WIMP. Ces interfaces sont à 2 dimensions.Les interactions de l’utilisateur avec les objets de l’interface mettent en œuvre 2 degrés de libertés que vous pouvez visualiser comme les mouvements de la souris selon les 2 axes X et Y. Le 3eme degré de liberté potentiellement existant dans un espace à 2 dimensions (la rotation des objets de l’interface) n’est pas pris en charge par ce paradigme. Remarquons encore au passage que les interactions sont devenues continues.

Natural User Interface (surfaces multitouch)
Nous allons considérer ici les interfaces NUI sous la forme spécifique des surfaces tactiles multitouch et selon leurs implémentations les plus courantes à l’heure actuelle. Ces interfaces sont à 2 dimensions comme c’était le cas pour les interfaces GUI/WIMP. Les interactions de l’utilisateur avec les objets de l’interface mettent ici en œuvre 3 degrés de libertés correspondant aux translations selon les 2 axes X et Y et à la rotation des objets de l’interface rendue possible par une manipulation à 2 (ou plus) points de contacts. Si nous considérons en complément la manipulation (assez usuelle) correspondant au zoom, nous obtenons alors une interface à 3 dimensions mettant en œuvre 4 degrés de liberté.

Xperience User Interface
Essayons maintenant de nous projeter dans le futur et de définir les caractéristiques mécaniques des XUI. Mais qu’est ce qu’une interface XUI ? Microsoft a présenté sa vision de ce que pourrait être une telle interface dans une vidéo de prospective datant de l’année dernière (attention, musique anxiogène et mise en scène quasi-Lynchienne :D)


Si vous préférez une version plus poétique et apaisée, je vous propose ce film de Bruce Branit, datant également de 2008 et me semblant bien correspondre à ce qu’on pourrait appeler une interface XUI.


Peut être serez vous tenté d’objecter que tout ceci relève de la science fiction. Dans l’affirmative, je vous recommande de visionner cette vidéo présentant les travaux d’un développeur japonais de talent.


Donc si nous considérons maintenant les interfaces XUI telles que présentées dans ces vidéos, nous dirons que nous avons une interface à 3 dimensions. Les interactions de l’utilisateur avec les objets de l’interface mettent en œuvre 6 degrés de liberté comme nous en avons l’habitude dans notre vie de tous les jours

Résumons…
Résumons maintenant tout ce que nous venons de voir sous la forme d’un graphe. Les dimensions de l’interface sont présentées en abscisse. Le nombre de degrés de liberté est présenté en ordonnées. La courbe rouge présente le nombre maximum de degrés de libertés qu’il est possible d’associer aux interactions de l’utilisateur avec les objets d’un espace de dimension donnée. La courbe bleue présente l’évolution de ces paramètres en fonction des différents paradigmes d’Interfaces Homme Machine.

Pour le plaisir, je n’ai pas résisté à ajouter à ce graphe les systèmes à cartes perforées qui ont précédé les systèmes CLI. Même si cela peut être discuté, j’espère que vous me permettrez de qualifier ces systèmes comme étant à 0 dimension et 0 degré de liberté (l’utilisateur n’interagit pas directement avec la machine d’un point de vue temporel).


Dans le prochain billet, nous verrons quels enseignements nous pouvons tirer de ce graphe...

----------------------------------------------------------
Summary / Key points
----------------------------------------------------------

- As multitouch becomes mainstream, I think it’s important to understand characteristics of this technology and characteristics of previous systems. If we want to improve our tools we must identify cons & pros of our past, present (… and future) systems.
- We can do this in many ways (HCI, design, software architecture, …). In this post I propose to study some simple mechanicals characteristics of our Human-Computer interfaces. In next post, we’ll see what can be learned from this considerations.
- In this post, we’ll focus on 2 mechanical characteristics : Dimensions and Dregrees of freedom. You can learn more about these notions on Wikipedia, here and here.

- Now, let’s try to define for each user interface paradigm (CLI, GUI, NUI and XUI) :
  • Dimensions of user interface,
  • Max number of degrees of freedom we can use to define interactions of user with objects in this interface.
- Command Line Interface :   
  • Dimensions : 1 (the command line)
  • Degrees of freedom : 1 (user can move on the line or insert characters in this line)
  • Note : interactions are discrete (key press)
- Graphical User Interface (WIMP metaphor) :
  • Dimensions : 2
  • Degrees of freedom : 2 (translation on X and Y axis). Third degree of freedom in a 2D space (rotation around Z axis) does not exist.
  • Note : interactions become continuous.
- Natural User Interface (here, we only consider most usual implementations in surface computing) :
  • Dimensions : 2
  • Degrees of freedom : 3 (translation on X and Y axis and rotation around Z axis).
  • If we take into account the popular pinch gesture we get :
    • Dimensions : 3
    • Degrees of freedom : 4 (translation on X, Y and Z axis and rotation around Z axis)
- Xperience User Interface :
  • Let’s go in the future and let’s try to define these characteristics for XUI… But what is XUI ?
  • Here’s Microsoft’s vision of XUI
  • Another vision more romantic and less anxiety-producing ;D by Bruce Branit
  • And if you think all this stuff is just sci-fi, have a look to this video demonstrating a work realized by a Japanese developer.
  • So, if we consider XUI as envisioned in these videos we have :
    • Dimensions : 3
    • Degrees of freedom : 6
    • Same characteristics as in real life (physical world)
- Let’s put all this stuff on a graph.
  • X axis is dimensions
  • Y axis is degrees of freedom
  • Red curve is maximum number of degrees of freedom which can be associated to a dimension.
  • Blue curve is number of degrees of freedom associated to dimensions for HCI paradigms.
  • I added, for fun, punched card systems which I consider as 0 dimension and 0 degree of freedom systems (no direct temporal interaction)


- In next post, we’ll see what can be learned from this considerations.

13 February 2010

As we may pinch (du zoom visuel au zoom sémantique)

« Pince-mi et Pince-moi sont sur un bateau. Pince-mi tombe à l’eau. Qui reste t‘il ? »
Blague enfantine française


Je vous propose d’aborder aujourd’hui  un sujet plus concret que dans mes précédents billets : le zoom.

Le pinch (gestuelle de pincement) et l’action de zoom/dézoom qui lui est couramment associée, ont été très rapidement adoptés par le grand public. Placez quelqu’un devant un dispositif multitouch, vous pouvez être assuré qu’une de ses premières tentatives sera de voir ce qu’il peut zoomer. Il semble donc raisonnable de se demander quels avantages nous pouvons tirer du zoom…

L’usage aujourd’hui le plus répandu du pinch est donc le zoom d’éléments multimédia comme les photos. A l’heure où nos appareils photos numériques nous proposent des résolutions de plus en plus élevées, il est naturel que nous en voulions pour les millions de pixels promis.

Zoom d’une photo (image Microsoft corp.)

Comme bon nombre, une de mes premières réalisations en multitouch (si ce n’est la première) fut une application permettant de zoomer les photos et je peux vous assurer qu’elle m’a amusé un bon moment. Mais lorsque nous aurons inspecté le moindre pixel de nos albums photos (voire des photos de Flickr pour les plus motivés) que ferons nous du zoom ? Le laisserons nous définitivement tomber en nous disant que ce fut amusant mais qu’il est temps de passer à autre chose ?

Pour essayer de répondre à cette question, il parait judicieux de commencer par définir à quoi correspond l’usage actuel.

Le zoom géométrique
Le zoom présenté ci-avant est un zoom géométrique. L’action de zoomer permet de modifier la principale caractéristique visuelle de l’objet observé : ses dimensions géométriques. Lorsque nous zoomons une photo, nous utilisons le zoom géométrique pour révéler des détails qui étaient présents mais jusque là invisibles à nos yeux.

Ce système est une métaphore du système de zoom utilisé en photographie.

Le zoom géométrique peut trouver d’autres finalités comme adapter la représentation visuelle à l’utilisateur. Nous n’avons pas tous la même acuité visuelle et zoomer/dézoomer peut permettre à l’utilisateur de lire plus confortablement un contenu textuel.

Le Zoom Sémantique
Au-delà du zoom géométrique, il existe d’autres concepts de zoom permettant d’enrichir l’expérience utilisateur. C’est par exemple le cas du zoom sémantique.


Si vous vous demandez à quoi peu bien ressembler concrètement un tel système, il vous suffit de tester l’application GoogleMaps et son layer « Plan ».

 
Visualisation d’un même lieu à différents niveaux de zoom dans Google Maps

Dépassant la simple métaphore du zoom photographique, l’action de zoomer devient une activité de navigation au sein d’une structure multi-niveaux ou multi-échelles.

Bien que l’on puisse le considérer comme une simple application du concept de zoom sémantique, je vous propose également l’idée de ce que j’appelle (faute de mieux) le zoom contextuel. Le zoom contextuel reprend les caractéristiques du zoom sémantique mais avec une intention différente : les données affichées ont pour objectif d’orienter l’utilisateur dans son processus de navigation. Pour reprendre une métaphore cartographique, je dirais que si on considère les données du zoom sémantique comme des lieux géographiques, les données du zoom contextuel deviennent alors les panneaux indicateurs permettant de naviguer entre ces lieux. Les éléments du zoom contextuel apparaissent et disparaissent avant que l’utilisateur soit totalement focalisé sur l’élément de destination. 

Voici  la vidéo d’un prototype réalisé pour illustrer ces concepts. L’application présente un panorama de Paris. Lorsque l’on zoome sur une partie de la ville, des étiquettes apparaissent attirant l’attention sur un lieu, un monument, ...

Pour illustrer la notion de multi-niveaux, observez que lorsque l’on zoome sur le quartier d’affaires de La Défense, une étiquette associée à un premier niveau indique « La Défense ». Si l’on continue à zoomer, cette étiquette disparait pour laisser la place à d’autres étiquettes indiquant le nom de quelques immeubles du quartier.

Si vous disposez d’un écran multitouch et êtes équipés de Win7, vous pouvez tester ce prototype en allant sur cette page. Pour les autres, vous pouvez également tester l'application à l’aide de la souris.
 
Le zoom comme système de navigation dans une représentation multi-niveaux
  Comme nous l’avons vu précédemment, au-delà de la simple métaphore du zoom photographique, le zoom peut être un véritable processus de navigation. Ayant fait ce constat, penchons nous à nouveau sur le zoom géométrique pour voir si nous en avons exploité toutes les possibilités.

Si nous partons du principe que l’action de zoomer est "similaire" à un mouvement de translation selon un axe perpendiculaire au plan d’affichage, pouvons nous exploiter cette "troisième dimension" pour améliorer, par exemple, une activité de visualisation de données ? 

Etudions un cas concret. Voici une représentation visuelle statique de la famille des langues indo-européennes.

Arbre des langues indo-européennes (image wikipedia)

La structure arborescente est présentée dans sa totalité et nous pouvons constater qu’il est difficile :
  • de visualiser simplement la structure globale ou à ses différents niveaux, en raison du volume de données et de la charge visuelle qui en découle,
  • de trouver simplement une entrée au sein de cette structure.
Voici une vidéo présentant un deuxième prototype basé sur une interface multitouch zoomable. Ce prototype s’appuie sur le même jeu de données que l’image précédente et en reprend la même structure.


Vous pouvez tester ce prototype en allant sur cette page.

Les apports de ce type de système sont :
  • qu’il améliore la visualisation de la structure à différents niveaux de zoom.
  • qu’il invite l’utilisateur à explorer le jeu de données en en diminuant la charge visuelle, en faisant apparaître clairement la structure partielle et le contexte de chaque information et en facilitant la navigation au sein de la structure de données.
  • qu’il devient possible d’enrichir la visualisation par des informations additionnelles.

Le pinch résoudra  t’il les problèmes du dérèglement climatique et de la faim dans le monde ?
Le pinch et le zoom sont ils le remède miracle à tous nos maux, enfin au moins pour ce qui concerne la visualisation de données ? Je crains que la réponse soit négative. Comme nous pouvons le constater avec l’exemple précédent, le zoom ne permet pas vraiment de résoudre les difficultés de visualisation de la structure au niveau global. Il ne facilite pas plus l’accès "direct" à une entrée spécifique de la structure. Dans le prototype, cette fonction est assistée par une fonction de filtrage.

Quoi qu’il en soit, ce type de système a beaucoup à nous apporter si nous considérons la recherche d’informations comme un activité ayant deux facettes :
  • un processus discret à 2 temps, de type question/ réponse. C’est sur ce modèle que sont construits nos moteurs de recherche. Dans un environnement informationnel de plus en plus chargé, ce type de solution commence à trouver ses limites.
  • un processus continu, actif, dynamique dans lequel la valeur provient autant du résultat trouvé que de son contexte ou du chemin parcouru pour y accéder. Dans ce schéma, les représentations multi-niveaux accompagnées de dispositifs multitouch ont assurément un grand rôle à jouer.
Le temps du smart pinch est arrivé. Be smart, pinch smart !


----------------------------------------------------------
Summary / Key points
----------------------------------------------------------

  - Pinch gesture and zoom are currently one of the most popular functionality of multitouch systems. The most current use is zooming in multimedia elements like images.
- Beyond this primary use, can we use zooming for more evolved scenario ?
- Zooming in images is a typical example of Geometric Zoom. Geometric Zoom allows to modify main visual characteristic of object : its geometric dimensions. When we zoom in an image we discover visual details which were here but invisible to ours eyes.
- Geometric Zoom is a metaphor of photographic zoom.




 
  
Same place watched with different zoom levels – Google Maps
- Beyond metaphor of photographic zoom, zoom becomes navigation inside a multilevels or multiscales structure.

- Even if we can consider it’s just a special kind of semantic zoom, I propose the idea of Contextual Zoom (can’t find a better word).
- Characteristics of contextual zoom are similar to characteristics of semantic zoom. Goal of contextual zoom is different : data are displayed to help user during navigation process.
- Here’s a video demonstration of a prototype I’ve built to illustrate this concepts.


- When user zooms in panorama, labels appear to show specific locations (historic buildings, …). If user zooms in "La Defense" business area (right side of panorama), label "La Defense" appears. If user zooms in more, this label disappears and is replaced by some others labels indicating buildings located at "La Defense".
- If you own a touchscreen and use Win7, you can try a live demo of this prototype.

- As told before, zoom can be considered as a navigation process. So, let’s see if it can help us to improve our use of geometric zoom.
- Let’s consider zoom as a translation movement, following a third axis, perpendicular to display surface. Can this help us to improve visualization activities ?
- Let’s take a look at this example
 
IndoEuropean languages Tree (image wikipedia)

- We can notice that it’s difficult :
  • to visualize global structure or structure at different levels because of visual load.
  • to find a specific entry in this structure.
- Here’s a video demonstration of a second prototype I’ve built, using same data and structure.


- You can try a live demo of this prototype here.

- Main benefits of this kind of system :
  • It offers a better visualization of structure at different zoom levels.
  • It encourages to explore data structure (lower visual load, better visualization of context and structure at different zoom levels, easy and fast navigation).
  • It’s possible to add further informations without increasing visual load.
- But this kind of system does not help :
  • to get a better view of the whole global structure.
  • to find quickly a specific entry in structure.
- Anyway, this kind of system will help us if we consider search of informations as an activity showing two complementary facets :
  • A two-steps activity (question/answer). Our search engines are built on this model.
  • A continuous, active and dynamic process. Following this model, value comes from answer but also from context of this answer and from path followed to find this answer.
- Era of smart pinch has begun.  Be smart, pinch smart !

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.