Visiteur non identifié. Spherick
« Celui qui ferme la porte aux erreurs la ferme aussi aux vérités »Rabindranath Tagore
Jan
Fév
Mar
Avr
Mai
Jui
Jui
Aou
Sep
Oct
Nov
Déc
Accueil > Blog Eric > Raconter... > C’est quoi ma thèse ?

Public  C’est quoi ma thèse ?

Hmmm c’est du teasing [1] ou du spoiler [2] ????

lundi 11 février 2013, lu 280 fois

Bon, on me pose "assez souvent" cette question, même quand j’ai déjà donné l’explication.

Ben oui, faut dire que c’est de la recherche, donc novateur.... donc pas très connu... donc pas simple à se représenter quand on n’est pas du domaine...

Alors voilà !

Mon objectif : définir une méthode flexible de conception et de développement d’interactions homme-machine plastiques. Rien que ça :-)

Ça vous aide pas ? Rassurez-vous c’est normal !

Premier élément : c’est de l’informatique. Malheureusement, quand je dis ça, la plupart des gens me répondent "ah je connais, j’ai un compte facebook". Oui, mais bon, facebook c’est pas de la recherche ! Donc on parle d’un peu autre chose...

Je cherche à inventer une méthode de conception et de développement. Autrement dit, une "démarche" pour créer des "programmes". Toujours pas clair ? Prenons une métaphore...

Imaginons que vous voulez construire votre maison. La "démarche" pourrait être (1) trouver un terrain (2) trouver un architecte (3) faire les plans (4) demander le permis de construire (5) si besoin, demander un prêt bancaire (6) trouver une entreprise de construction (7) lancer la construction etc...

Une méthode, c’est une "façon de faire" qui vous dit quoi faire et dans quel ordre.

En informatique, c’est une "façon de faire" un programme : d’abord étudier ce qu’on veut obtenir (la conception) et ensuite faire le programme (le développement).

Donc je veux inventer une "façon d’étudier le programme qu’on veut faire puis de le réaliser".

Évidemment, il en existe des centaines. Je veux donc faire quelque chose de nouveau (ben tient !).

D’abord, je ne m’intéresse pas à TOUS les programmes possibles. Je veux une méthode pour les interactions homme-machine.

Les interactions, c’est par exemple, ce que vous voyez en ce moment même sur votre écran : l’ordinateur affiche des informations et attend des actions de votre part (cliquer quelque part, descendre pour voir la suite etc...). Mais ce n’est que la partie émergée de l’iceberg. Parce que l’ordinateur est aussi capable de communiquer avec vous de plein d’autres façons : il sait des sons (parler ?), écouter des sons (discuter ?), vibrer (comme votre téléphone), voir des images (par la caméra, donc identifier des gestes, par exemple) etc...

Quand on fait un programme qui interagit avec une personne, on peut donc jouer sur ces différentes formes d’interactions, on parle alors de différentes modalités.

Une méthode pour aider à créer des interactions doit donc prévoir ces différentes formes, mais aussi les conditions dans lesquelles elles sont pertinentes. Par exemple, ça ne sert à rien de vous parler si vous êtes à côté d’un gars qui utilise un marteau-piqueur : vous entendrez rien ! Et l’ordinateur peut le savoir (en surveillant les bruits ambiants). Il est tout aussi inutile de vous afficher un message "Attention il y a le feu à la maison" si vous êtes aveugle... Et donc on aimerait qu’il s’adapte automatiquement...

Autre dimension : vous avez des applications sur votre PC que vous n’avez pas sur votre téléphone / votre télévision / votre tablette etc... Et pourquoi ? Après tout, ce sont tous des ordinateurs ! Mais ce sont des ordinateurs un peu bêtes, chacun d’eux ne sait pas faire ce que les autres savent faire. Et on aimerait bien qu’ils sachent le faire. Jusqu’à présent, pour y arriver, on crée x programmes spéciaux, qui font "la même chose" mais avec des supports différents : un programme pour gérer votre agenda sur le PC, un programme pour le gérer sur le téléphone, un programme pour la télé... Vous imaginez bien que (1) ça coûte cher, (2) vu le nombre d’ordinateurs différents, c’est un boulot de titan [oui, parqu’un téléphone de chez Apple et un téléphone de chez Google c’est tout à fait différent, on repart à 0... Alors si on veut aussi les Blackberry, les Nokia, les Samsung etc... on refait 500 fois le même travail], et (3) bonjour le découragement quand on veut améliorer ce programme : on repart pour 500 fois le même travail !

Mon domaine, ce sont les interactions "plastiques", c’est-à-dire capables de s’adapter automatiquement aux changements. Vous êtes dans la rue, le téléphone affiche au lieu de parler ; vous arrivez chez vous ? l’écran transite sur le PC ; la lumière est très forte ? il le prend en compte ; vous êtes aveugle ? il vous parle ; vous avez du mal à utiliser vos mains ? donnez des ordres en parlant ! Etc...

Reprenons : je cherche à créer une "façon de faire" des programmes qui interagissent avec l’être humain en s’adaptant automatiquement au contexte.

Ce n’est pas tout !

J’ai dit : "une méthode flexible" (c’est le point clé).

Si l’on revient à la démarche pour construire une maison, on peut remarquer :

- elle est rigide : il faut faire (1) avant (2). Et si vous, vous connaissez un archi, hein ? Et si vous voulez en premier lieu lui demander s’il veut bien, c’est-à-dire faire (2) avant (1) ? C’est pas prévu.
- elle est bridée : bordel, et si vous voulez faire le toit vous-même ??? C’est pas prévu. Et si votre terrain n’est pas viabilisé ? Elle n’en parle pas. Pour réaliser votre projet, vous allez donc devoir faire des choses en plus de ce que la méthode prévoit. Vous pouvez de même en faire moins : vous connaissiez déjà l’entreprise de BTP, pas besoin de la chercher !
- elle est monolithique : et si vous savez pas ce que c’est, un archi ? Comment vous faites pour réaliser l’étape (2) ? Elle ne vous donne pas les explications dont vous pourriez avoir besoin.
- Et si vous aviez déjà, je sais pas, les plans ? Imaginons que des architectes philanthropes ont mis à la bibliothèque des plans tout faits. Il y en a un qui vous va bien. Donc vous voulez utiliser celui-là. Eh bien la méthode n’a jamais prévu qu’on puisse utiliser un plan pré-existant.

Bref, la méthode, malgré ses avantages (elle fournit un guide pour certains cas, quand même), elle est sacrément limitée.

Mon but à moi c’est d’en inventer une qui soit flexible... Une qui, comme l’ordinateur, s’adapterait au contexte. Et comme on ne peut jamais prévoir tous les contextes possibles, il faudrait qu’on puisse la compléter quand on en a besoin.

(Re-)reprenons : je cherche à créer une "façon de faire" des programmes qui interagissent avec l’être humain en s’adaptant automatiquement au contexte, façon de faire qui sache s’adapter aux besoins du projet.

Ben voilà !

Finalement, c’est pas si compliqué, non ?

Notes

[1annonce, exemple : bande-annonce d’un film

[2Révélation gênante, ex : cette bonne amie qui vous dit qui est le meurtrier avant que vous ayez fini le livre

Vous pouvez noter cet article, lu 280 fois
2 votes


Qui êtes-vous ?
Votre message

Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.