16 February 2011

Diving in manipulations: asymmetric bimanual interactions


Back to the blog after a few weeks off ! In a previous post, we talked about the future of manipulations in NUI and the key role of tools. In this post we’re going to see how we interact with our tools and we’ll talk about the key role played by asymmetric bimanual interactions.

What kinds of interactions ?
First, we should note that manipulation of tools by human beings is often realized with hands. It can seem obvious but this isn’t an absolute rule: try to drive a car without using your feet… Anyway, for this post we’ll focus exclusively on manual interactions.

Different kinds of manual interactions
Human beings interact with tools in many different ways but for this post, we’ll retain a simple classification:
  • Interactions realized with one hand (unimanual interactions)like turning a door-handle, …
  • Interactions realized with two hands (bimanual interactions), which can be divided in:
    • Symmetric bimanual interactions like rope skipping, riding a bicycle, driving a car with 2 hands handling the steering-wheel, …
    • Asymmetric bimanual interactions like playing guitar, eating with knife and fork, driving in a nail, writing, …
At first, writing can seem a strange example of bimanual interaction. Don’t we use only one hand to hold and move a pen ? But if you think about it, the importance of the second hand becomes obvious: this hand is required to immobilize the sheet of paper while the other hand writes. But this hand is also useful to move the sheet of paper in order the other hand stays at the same place on the desktop. You’ll see a perfect sample in following video.

Observation of human activity shows that asymmetric bimanual interactions play a key role in our life. Most skilled manual activities involve two hands playing different roles.

Asymmetric bimanual interactions : the kinematic chain model (Y.Guiard)
Asymmetry in bimanual interactions is not a new subject, but for a long time, it has been considered that this lateralization was caused by preference or superiority of one hand. In 1987, Journal of Motor Behavior published an article written by Yves Guiard, researcher at CNRS, called “Asymmetric Division of Labor in Human Skilled Bimanual Action: The Kinematic Chain as a Model”.This article, famous in academic domain, remains quite undiscovered in software industry and this is a pity. Main idea of this article is that, considering asymmetric bimanual interactions, we shouldn’t oppose the 2 hands but we should consider these two hands as two abstract motors cooperating and acting together to reach a goal.

Y.Guiard proposes 3 principles to characterize asymmetric bimanual interactions:

Principle 1: Right-to-Left Spatial Reference in Manual Motion
Let’s  consider that you’re right-handed. According to this principle, motions of right hand find their spatial references in the results of motions of left hand. This is verified when your left hand moves and immobilizes the sheet of paper before your right hand starts to move the pen in order to write. Let’s have a look to the following picture, showing a balinese craftsman carving a traditional mask. First principle is still verified.

The left hand defines a referential for the right hand which activates the tool (left hand positions and immobilizes the mask. Left hand also stabilizes the tool). You’ll notice that legs and feet are also used in this interaction to help the left hand…

Principle 2: Left-Right Contrast in the Spatial-Temporal Scale of Motion
According to this principle, patterns of motions realized by the two hands show a contrast on spatial and temporal axis. On spatial axis, right hand realizes shorter and more accurate movements. For example, this is the case of right hand writing while left hand shifts the sheet of paper. On temporal axis, right hand realizes movements with a greater frequency. For example, this is the case of your right hand realizing many short movements to write, while your left hand moves at a lower frequency (to shift the sheet of paper).

Principle 3: Left-Hand Precedence in Action
According to this principle, left hand’s contribution to current action starts earlier than that of the right hand. For example, this is the case of your left hand which moves and immobilizes the sheet of paper before your right hand starts to write.

A few additional & personal thoughts
Tools, asymmetric bimanual interactions & interaction patterns
Let’s have a look to this specific scenario: manipulation of a tool to transform an object, with asymmetric  bimanual interactions. Even if some others patterns can be found, I’d say the most common pattern is:
  • Left hand defines and stabilizes position and orientation of the object we want to transform. Incidentally, it also helps to stabilize position and orientation of tool. The left hand decreases number of degrees of freedom of  the object and of the tool. According to Y.Guiard’s model, left hand defines a referential for right hand.
  • Right hand defines position and orientation of tool, activates this tool (it transfers energy) and controls amplitude of motion.
This pattern can be divided in two stages :
  • Preparation of object and tool (left hand and right hand can be used)
  • Transformation of object after activation of tool (right hand is used)
Tools and cyclic interactions
In our everyday life, manipulations of tools with asymmetric bimanual interactions are often cyclic: pattern is repeated several times before we reach our goal.

Asymmetric bimanual interactions &  expertise
Observation of people realizing a task with different levels of expertise is interesting when you take into account the framework defined by Y.Guiard. It shows that we can defines different stages of expertise.

Stage 1 : Easing of Principle 2 (Left-Right Contrast in the Spatial-Temporal Scale of Motion)
After some practice, agility of left hand increases a lot (temporal frequency increases, spatial accuracy increases), often more than agility of right hand. For example, let’s think about a guitarist, a beginner one. Left hand defines chords while right hand transfers energy to strings in order to create sounds.


After some practice, agility of the two hands increases, but except for totally arrythmic people, main initial progression will be the increase of left hand agility to “concatenate” chords. Till the right tempo is reached.


Stage 2 : Inversion of hands in principle 1 (Right-to-Left Spatial Reference in Manual Motion)
We all have a preferred hand, which seems more accurate, more skilful. We often use this hand for accurate operations. But, as stated by Y.Guiard, we shouldn’t think this way. Anyway, experience shows that after some practice, we can invert the usual role of our hands. If you watch the following video (from 0’40 to 2’00), you’ll  notice what I’d name (improperly) a “reversed asymmetric bimanual interaction”.


Newton Faulkner - Guitar 'tutorial' session
envoyé par pandaa_one. - Regardez d'autres vidéos de musique. 

The guitarist uses a technique called « hammer-on », which consists to tap the string with the left hand. Transfer of energy is no more realized by right hand, like in classical technique. If you think again to the three principles defined by Y.Guiard, you’ll see that with this technique, it seems the roles of the 2 hands have been inverted.

Stage 3 : Chaining serialized and parallelized interactions
Watch again the previous video (from 2’00 to 3’30). You’ll see a “reversed asymmetric bimanual interaction” and an unimanual interaction realized in parallel…

To conclude
Asymmetric bimanual interactions play a key role in interactions with our environment. Their importance is not enough reflected in existing Human/Computer interfaces. Let’s hope Natural User Interfaces won’t lose the opportunity…

Post scriptum
Y.Guiard is Directeur de Recherche at CNRS TELECOM-ParisTech. His works are a great source of inspiration for everybody interested in human-computer interactions, from study of Fitts’ law applied to multiscales spaces to the definition of new types of interactions for tactile surfaces like the CycloStar approach.

Allons un peu plus loin avec les manipulations: les interactions bimanuelles asymétriques


Après quelques semaines d’absence, retour au blog ! Dans un précédent post, nous avons parlé de l’avenir des manipulations au sein des NUI et du rôle que la notion d’outils pourrait y jouer. Nous allons aujourd’hui continuer sur ce chemin en regardant de plus près comment nous interagissons avec nos outils.

Quels types d’interactions ?
Le premier point à noter est que la manipulation d’outils chez l’être humain s’effectue majoritairement à l’aide des mains. Ca peut paraitre une évidence mais ça va toujours mieux en le disant. De plus ce n’est pas une règle absolue: essayez donc de conduire une voiture sans utiliser vos pieds... Quoi qu’il en soit, pour la suite de ce post, nous nous intéresserons exclusivement aux interactions manuelles.

Les différents types d’interactions manuelles
Les manières d’interagir avec nos outils sont nombreuses, mais pour cette première approche, nous retiendrons une classification assez simple :
  • Les interaction réalisées à l’aide d’une seule main (interactions unimanuelles) : tourner la poignée d’une porte, …
  • Les interaction réalisées à l’aide de deux mains (interactions bimanuelles), que l’on peut encore distinguer en:
    • Interaction bimanuelles symétriques : sauter à la corde, faire du vélo, conduire sa voiture avec les 2 mains sur le volant, …
    • Interactions bimanuelles asymétriques: jouer de la guitare, manger à l’aide d’un couteau et d’une fourchette, planter un clou, écrire,  …
L’action d’écrire comme exemple d’interaction bimanuelle peut sembler étrange au premier abord. N’utilise t’on pas une seule main pour tenir et déplacer son stylo ? Pourtant, si vous y regardez de plus près, l’importance de la seconde main devient évidente : cette main est non seulement indispensable pour immobiliser la feuille pendant que l’autre écrit mais elle sert également à déplacer régulièrement la feuille sur le plan de travail afin que la première main puisse rester localisée au même niveau du plan de travail. Ceci est parfaitement illustré dans la vidéo suivante.


L’observation de l’activité humaine montre que les interactions bimanuelles asymétriques jouent un rôle de premier plan. En effet, nos activités les plus évoluées impliquent souvent l’utilisation des deux mains, chacune ayant un rôle spécifique. Il parait donc judicieux de nous intéresser de plus près à ce type d’interaction.

Interaction bimanuelles asymétriques : le modèle de la Kinematic Chain (Y.Guiard)
La notion d’asymétrie dans les interactions bimanuelles n’est pas un sujet nouveau mais pendant longtemps, cette séparation des rôles entre les deux mains a été expliquée en terme de préférence ou de supériorité d’une main par rapport à l’autre.

En 1987, le Journal of Motor Behavior  publiait un article d’Yves Guiard, chercheur au CNRS, intitulé “Asymmetric Division of Labor in Human Skilled Bimanual Action: The Kinematic Chain as a Model”. Cette contribution, populaire dans le monde académique, reste assez méconnue du monde de l’industrie informatique et c’est bien dommage. L’idée force introduite par Y.Guiard dans cet article est que dans le cadre des interactions bimanuelles asymétriques, les 2 mains ne devraient pas être « mises en compétition » mais devraient être considérées comme 2 effecteurs coopérant et agissant de concert pour remplir un objectif. 

Y.Guiard propose 3 principes permettant de caractériser les interactions bimanuelles asymétriques.

Principe 1: Relativité spatiale  des mouvements de la main droite par rapport aux mouvement de la main gauche
Considérons par convention que vous êtes droitier. Selon ce principe, les mouvements de la main droite s’effectuent dans un référentiel défini auparavant par la main gauche. C’est par exemple le cas de la main gauche qui bouge puis immobilise la feuille de papier avant que la main droite ne commence à déplacer le stylo pour écrire. Si nous observons la photo suivante d’un artisan balinais sculptant des masques traditionnels, nous voyons que ce principe est encore vérifié.

La main gauche définit un référentiel pour la main droite qui active l’outil (elle positionne et immobilise le masque et stabilise également la direction de l’outil). Soit dit en passant, vous observerez que les jambes et les pieds trouvent également toute leur place dans cette interaction, en complément de la main gauche…

Principe 2: Contraste dans l’échelle spatio-temporelle des mouvements des mains Droite/Gauche
Selon ce principe, les patterns de mouvement des mains droite et gauche présentent une différence d’échelle dans l’espace et dans le temps. D’un point de vue spatial, la main droite effectue des mouvements plus courts et plus précis que la main gauche. C’est par exemple le cas de la main droite qui écrit alors que la main gauche repositionne la feuille de papier. D’un point de vue temporel, la main droite effectue des mouvements à une plus grande fréquence que la main gauche. C’est encore le cas de la main droite qui, pour écrire, réalise un nombre élevé de mouvements entre deux déplacements de la main gauche qui repositionne la feuille de papier.

Principe 3: Précédence de la main gauche dans l’action
Selon ce principe, la contribution à l’action de la main gauche démarre avant celle de la main droite. C’est par exemple le cas de la main gauche qui doit repositionner et immobiliser la feuille de papier avant que la main droite ne commence à écrire avec le stylo.

Quelques considérations additionnelles personnelles

Outils, interactions bimanuelles asymétriques & patterns d’interactions
Arrêtons  nous un moment sur le cas particulier de la manipulation d’un outil, par interactions bimanuelles asymétriques, pour transformer un objet. Je serai assez tenté de dire que même s’il existe certainement d’autres patterns, le plus répandu me parait être :
  • La main gauche définit et stabilise la position et l’orientation de l’objet à transformer. Accessoirement elle sert également à stabiliser la position et l’orientation de l’outil. Elle permet donc de diminuer le nombre de degrés de libertés de l’objet à transformer voire également ceux de l’outil . Conformément au modèle d’Y.Guiard, elle définit donc bien un référentiel pour la main droite.
  • La main droite définit la position et l’orientation de l’outil, active cet outil (transfert d’énergie) et contrôle l’amplitude de mouvement.
Ce pattern est composé de 2 phases :
  • Phase de préparation de l’objet et de l’outil  (implique la main gauche et la main droite)
  • Phase de transformation de l’objet par activation de l’outil (implique la main droite)
Outils & interactions cycliques
Dans la vie courante, la manipulation d’outils à l’aide d’interactions bimanuelles asymétriques est le plus souvent cyclique: le pattern est répété plusieurs fois avant d’atteindre l’objectif de l’action.

Interactions bimanuelles asymétriques &  expertise
L’observation de personnes accomplissant une tâche avec différents niveaux d’expertise est intéressante car rapportée au cadre défini par Y.Guiard, elle permet  de mettre en exergue plusieurs paliers d’expertise.

Palier 1 : Atténuation du principe 2 (Contraste dans l’échelle spatio-temporelle des mouvements des mains Droite/Gauche)
Au fur et à mesure d’une pratique répétée, l’agilité de la main gauche augmente (la fréquence temporelle augmente, la résolution spatiale augmente). Prenons l’exemple d’un guitariste débutant. La main gauche plaque les accords pendant que la main droite transmet de l’énergie aux cordes pour créer le son.


Au fil de sa pratique, le guitariste va certes voir l’agilité de ses 2 mains augmenter, mais à part les arythmiques patentés, la principale progression au début de sa pratique sera celle de la main gauche qui devient de plus en plus agile dans l’enchainement des accords(augmentation de la fréquence temporelle, augmentation de la résolution spatiale) jusqu’à obtenir le tempo désiré.


Palier 2 : Inversion des mains au sein du principe 1 (Relativité spatiale  des mouvements de la main droite par rapport aux mouvements de la main gauche)
Usuellement, nous avons tous une main « préférée », qui nous semble plus précise, plus adroite. C’est souvent la main que nous utilisons pour réaliser les opérations de « précision ». Et pourtant comme le souligne Y.Guiard, nous ne devrions pas penser les interactions bimanuelles asymétriques en ces termes. L’expérience montre d’ailleurs qu’avec de la pratique, le rôle de chaque main peut être inversé. Si vous visionnez la vidéo suivante (entre 0’40 et 2’00) vous verrez un bon exemple de ce que je serai assez tenté d’appeler (improprement) une « interaction bimanuelle asymétrique inversée ».


Newton Faulkner - Guitar 'tutorial' session
envoyé par pandaa_one. - Regardez d'autres vidéos de musique.

Ici, le guitariste utilise la technique dite de hammer-on consistant à taper la corde avec la main gauche. La transmission de l’énergie aux cordes n’est plus effectuée par la main droite comme dans le jeu classique mais par la main gauche. En fait, si vous repensez aux 3 principes définis par Y.Guiard, vous verrez que tout se passe comme si le rôle des 2 mains avait été inversé par rapport au jeu classique.

Palier 3 : Enchainement séquentiel et parallèle de différents types d’interactions
Visionnez encore la vidéo précédente entre 2’00 et 3’30. Vous pourrez y observer une « interaction bimanuelle asymétrique inversée » et une interaction unimanuelle effectuées en parallèle.

Conclusion
Les interactions bimanuelles asymétriques occupent une place primordiale dans le répertoire des interactions avec notre environnement. Leur importance est assurément trop peu prise en compte dans nos interfaces homme/machine actuelles. Il ne reste plus qu’à espérer que les Natural User Interface ne rateront pas le coche.

Post scriptum
Y.Guiard est aujourd’hui Directeur de Recherche du CNRS au sein de TELECOM-ParisTech. Ses travaux sont une source d’inspiration pour toutes les personnes s’intéressant aux interactions homme machine, allant de l’étude de la loi de Fitts dans les espaces multi-échelles à la définition de nouveaux types d’interactions pour les surfaces tactiles comme l’approche CycloStar.

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.