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.

No comments:

Post a Comment