Approche de conception NUI
July 2nd, 2010Un article intéressant sur les approches Bottom-Up dans le cadre de la conception de NUI: ici
Un article intéressant sur les approches Bottom-Up dans le cadre de la conception de NUI: ici
Suite du post de la dernière fois:
Une NUI, ce n’est pas quelque chose que l’on implémente à la fin, vite fait.
Les NUI ne doivent pas être implémentées a la fin. En effet, le nombre de fonctionnalités, leur utilisation, leur accessibilité et les gestures associés nécessitent d’y réfléchir dès le départ. Ce n’est pas l’interface qui découle des fonctionnalités du logiciel mais de l’interface (enfin surtout du contexte) en découleront les fonctionnalités.
En effet, le contexte étant extrêmement important dans l’utilisation des NUI (une interface pour frigo High-Tech ne se pilotera pas de la même manière ni par les mêmes personnes qu’une interface pour table tactile), il est crucial de penser à la manière d’utiliser le logiciel dans les premières phases de conception.
Plus concrètement, en reprenant les deux contextes cités au dessus, imaginons que l’on souhaite mettre en place un logiciel permettant de choisir les recettes qui nous intéresse. Sur le frigo, l’écran est orienté, le logiciel est Single-User et le frigo se situe dans la cuisine. Dans le second cas, l’écran de la table n’est pas orienté, l’utilisation idéale est Multi-User et la table se situe la plupart du temps dans la salle à manger (qui n’est pas nécessairement proche de la cuisine).
On peut donc rapidement identifier des fonctionnalités qui se retrouveront dans l’une mais pas dans l’autre. Par exemple l’interface sur table permettra à chaque convive d’effectuer des recherches ou de s’échanger des fiches recettes pour montrer cette super recette de poulet rôti au miel et aux épices à son voisin. Par contre, le frigo proposera des recettes en fonction des ingrédients qu’il contient et qui auront été enregistré par l’utilisateur ou de lire les instructions. Au final, pour un même logiciel, l’on a facilement identifié deux utilisations radicalement différentes.
Logiquement, c’est le moment que l’on choisit habituellement pour décrire de manière très clair ce qu’est qu’une NUI. Mais je vais plutôt commencer par expliquer ce que n’est pas une NUI.
Les NUI ne sont pas de nouvelles interfaces destinées à remplacer nos interfaces actuelles.
Les Natural User Interfaces sont une nouvelle « catégorie » d’interfaces qui commencent à émerger. L’objectif de ce genre d’interfaces est simple (mais particulièrement complexe à mettre en place): permettre à l’utilisateur d’utiliser le logiciel sans avoir à apprendre au préalable comment le faire. Pour parvenir à atteindre cet objectif, ce type d’interface se base sur les acquis au niveau interaction homme/objet.
Imaginons une NUI sur table tactile qui nous permettent d’ouvrir un dossier dans lequel se trouvent un certain nombre de documents. Cette dernière nécessiterait par exemple d’attirer à soi un objet qui ressemble à un dossier papier sur lequel serait inscrit son nom, de toucher l’un de ses bords et de le déplacer pour ouvrir le dossier. La même opération utilisant une GUI (Graphical User Interfaces, ce que tout le monde ou presque utilise actuellement) nécessiterait de double-cliquer sur la bonne image. Cela peut sembler naturel, mais implique néanmoins des réflexes acquis lors de notre apprentissage de l’informatique: l’image qui représente un dossier, le double clic …
Cependant ce type d’interfaces, plus convivial et plus simple n’impliquent pas nécessairement un gain de productivité. L’exemple utilisé plus haut risque probablement de diminuer la productivité si ce genre d’interface était mise en place sur un poste de travail (Après tout, on s’est débarrassé des contraintes de place, de bureau bordélique et autres joyeusetés alors pourquoi les ramener à la vie ?).
Par conséquent, même si les NUI s’avèrent intéressantes dans de nombreux cas, elles ne sont pas pour autant adaptées a toutes les situations, de même que pour certaines choses, on utilise encore les CLI (Command Line Interfaces).
Avant de regarder où l’on va, il est de bon ton de regarder d’où l’on vient.
J’ai donc déterré mon stage de 3° année.
Le premier constat, c’est que ce n’est pas extraordinaire comme code. Le second, c’est que je suis bien meilleur maintenant, ce qui est rassurant
Bref, voici le rapport de stage: ici
Un petit texte développant rapidement certains points: ici
Puis, quelques screenshots:
Enfin, quelques vidéos youtube:
Bon, on est loin de Virtual Skipper, mais l’objectif principal étant d’arriver à un prototype en 2 mois, je trouve pas ca si mal …
Sur la lancée, j’ai fait un petit système Multi-Agents qui reprend un vieux projet issu du cours Systèmes Multi Agents de Mr Pascal Ballet.
Vous pouvez trouver une description rapide ici.
Puis, trois vidéos:
Certains principes de ces deux projets s’avérent plutôt intéressant:
-La génération de terrain via des HeightMaps. L’idée etait de pouvoir générer un nouveau terrain de jeu avec seulement une HeightMap et une Texture assez grande (une MegaTexture, quoi …). De cette manière, non seulement il était aisée de générer de nouveaux terrains de jeu mais en plus, des photos satellites et des relevés de hauteur aurait pu permettre de reproduire des lieux existant.
-La mise en place de l’océan. Il existe plusieurs facons de representer une etendue d’eau. La première, la plus simple, consiste a appliquer une illusions d’optique sur une surface plane de manière à donner l’impression que l’eau est parcouru de petites vagues comme ici:

Cependant, dans un jeu de voile, on s’attends plus à ca:

Du coup, il a fallu ruser. Et utiliser une technique de projection de rayon dévellopé par un etudiant neerlandais pour sa these en informatique qu’il a fallu adapter a notre projet. Mais pour en savoir plus, autant lire le rapport de stage.
-Sinon, le système de patch est nul. Enfin, pas vraiment. Sur le fond, il est bien, mais il me manquait à l’epoque des connaissances pour le transformer en quelque chose de bien mieux. Le genre de quelque chose que vous pouvez voir ici.
Bon, ce sera tout pour aujourd’hui, bonne soirée !
(N’hésitez pas a poser des questions, si vous en avez …)
Parce qu’être poli, ca n’a jamais tué personne …
Bref, je m’appelle Gaël Leblan. J’effectue actuellement la dernière année de mon master 2 d’Informatique Systèmes Complexe en alternance au sein du Crédit Mutuel Arkéa. Je travaille au domaine Innovation sur le thème des technologies tactiles multitouch.
Ce portfolio n’a pour but que de montrer un peu ce dont je suis capable avec les technologies sur lesquels j’ai travaillé durant ma formation et surtout pendant cette année passée en alternance.
Etant un peu touche à tout, il y aura donc, pêle mêle, du WPF, du XNA, un peu de Surface et sans doute un peu d’Android. Je n’exclus pas non plus la possibilité de poster quelques billets d’humeur techniques (et là, ce sera très probablement concernant les NUI).
En espérant faire un bout de chemin ici avec vous ! Bonne visite !
PS: Je ne suis pas là pour me la péter où quoi que ce soit du genre. Je sais que mon travail est loin d’être parfait et que d’autres ont fait bien mieux. Cependant, si vous avez des remarques constructives, n’hésitez pas.
PSS: Je sais que d’éventuels recruteurs pourrait regarder ce site (d’autant plus que l’adresse figure sur mon CV …). Néanmoins je compte avoir un langage détendu tout en restant correct (même si ca va à l’encontre de tout ce que mes profs de communications m’ont appris …).
Bonjour !
Finalement, après 1 an et demi, j’ai décidé de remettre à jour mon portfolio …
En attendant, c’est encore en construction ! Désolé !