Il y a donc plusieurs lieux de recherche qu'il faut préciser.
A cela, s'ajoutent les services contextuels.
Une machine à café en fonctionnement.
Une fois l'informatique et le web totalement fusionné, il est possible de concevoir que n'importe quel appareil communiquant puisse être accessible depuis n'importe quel terminal web.
Si l'on intègre des moyens de communication dans tous les appareils, il devient ainsi possible de trouver, par exemple, une machine à café dont l'interface de commande est un service web.
Grâce à ma ligne de commande, je peux demander: nouveau café sucre, et la machine à café la plus proche de moi va me faire un café et ajouter du sucre.
Avec cet exemple, on remarque que le web peut devenir une interface homme machine universelle. Tout appareil peut être commandé avec la même ligne de commande.
Il ne suffit plus que de connaître le service et les options qu'il propose. C'est là qu'intervient la notion de service contextuel. Un service contextuel est un service qui se propose spontanément à l'utilisateur, car il sait qu'il est dans voisinage proche.
Si l'on reprend l'exemple de la machine à café, il ne m'est pas très utile de me préparer un café sur une machine à l'autre bout du monde. Par contre, étant assis à mon bureau, j'aimerai bien me préparer un café sur la machine de la cuisine à l'autre bout de la maison.
Donc sur mon point de départ, en plus de mes ressources favories, et mes notification diverses, je dispose également d'un aperçu de services locaux qui sont disponibles.
Je pourrais ainsi découvrir que sur mon réseau local, j'ai une machine à café, mais également une télévision, la commande des lumières, la commande du chauffage, et les informations de la station météo locale.
Ce genre de service est déjà disponible. Par exemple, dans le navigateur web Safari, dans les bookmarks il y a l'onglet Bonjour qui indique les services se signalant sur le réseau local via le protocole Bonjour. (l'implémentation d'Apple du protocole zeroconf)
UPnP est également un protocole qui permet la découverte et l'utilisation de services locaux contextuels.
Avec la prolifération de téléphone mobile (si on peut encore les appeler ainsi), qui sont capables de se balader sur le web (iPhone, android...), la télécommande universel est déjà dans les mains de beaucoup de monde. Il ne reste maintenant plus qu'à avoir des appareils communs dans l'environnement d'une maison qui proposent d'être piloté par l'intermédiaire de commandes web.
Six ans après avoir rendu mon travail de diplôme, la technologie a beaucoup évoluée au niveau de la télécommande. Donc des téléphones mobiles qui sont capables de faire énormément plus de choses qu'il y a quelques années.
Cependant, nous sommes toujours au même point en ce qui concerne les appareils d'une maison. Il ne communiquent quasiment pas avec l'extérieur.
On commence à voir certaines grosses machines (donc pas dans la maison) qui diffusent de l'information à l'exemple du flux twitter du pont de Londres pour connaître en direct l'état du trafic sur le pont ou de certains radio-téléscopes qui indiquent sur quoi ils pointent. Vivement que nos appareils électro-ménager, que nos chauffages, thermomètre et divers appareils d'électronique de loisirs diffusent également leur état sous forme web.
Lors de mon travail de diplôme, j'avais expérimenté une solution avec la technologie java Jini pour concevoir un service de découverte et d'utilisation de service. Actuellement avec quelques années de recul. Je ne réutiliserai pas la même technologie. Je miserai tout sur le web et des services web REST pour piloter des objets. Cette approche est beaucoup plus souple et moins gourmande en ressources.
Actuellement, seuls les équipements réseaux (routeur, switch, modem, webcam..) intègrent couramment une interface web pour les piloter. J'espère que dans un futur proche, d'autres appareils proposeront également une interface de commande web. (télévision, home cinéma, machine à café, chaine hi-fi...)
Alors avis aux constructeurs d'appareils multimédia et électroménager: si vous fournissez une API de commandes web avec vos appareils... ça aura du succès !
Après ces quelques exemples de futurologie déjà bien ancré dans le présent, (les exemples ci-dessus (tags) sont des exemples bien réels qui sont utilisés quotidiennement) le but est maintenant de tenter d'imaginer l'interface utilisateur du futur.
On a déjà dit que la métaphore du bureau est totalement dépassée. Donc que vais-je voir sur mon écran d'ordinateur si il n'y a plus de bureau, de dossier et de fichier ?
Comme nous l'avons vu ci-dessus, l'interface utilisateur du futur comportera certainement une ligne de commande intelligente capable de comprendre de requête proche du language humain. La notion de fichier sera remplacée par la notion de ressource. Une ressource peut être une image, un document, une personne, un lieu, etc...
Pour utiliser une ressource, il n'y aura pas besoin de disposer d'une application. La notion actuelle d'ouvrir un fichier avec une application va disparaître. A l'avenir il faudra juste demander d'éditer la ressource. La ressource porte en elle même toute la machinerie qui permet l'éditer. Ainsi, plus de problème de mise à jour des applications ou de compatibilité des formats. La ressource est auto-gérable au travers du navigateur web.
Les mondes du web et de l'informatique vont totalement fusionner. L'ordinateur ne sera qu'un terminal d'accès à des ressources web.
Les ressources créées ne seront plus cantonnées au disque dur de son propre ordinateur, elle seront directement posée sur le web. Physiquement, elle seront sur un serveur web quelque part, le mieux étant directement sur le serveur web de sa maison. Cette approche permet d'avoir des ressources qui sont disponibles pour soi évidemment, mais également pour tout ceux qui ont le droit d'y accéder. Il devient ainsi beaucoup plus facile de partager des ressources vu qu'elle sont en permanence en ligne.
Seul bémol, la connexion réseau est alors indispensable pour tout ordinateur! Cependant, on peut assouplir cette dépendance en utilisant un mode déconnecté qui permet le travail en local sur son ordinateur, et qui ensuite synchronise les ressources locales et distantes dès qu'une connexion réseau est retrouvée.
Et mon bureau alors qu'est ce qu'il devient ?
Cette question devrait plutôt être posée sous la forme suivante: Quel est mon point de départ quand j'allume mon ordinateur ?
Dans l'interface graphique de la métaphore du bureau, le point de départ est le bureau, une surface sur laquelle on peut déposer ce que l'on utilise souvent, une surface qui peut être personnalisée. Le fond d'écran est un bon exemple pour montrer que c'est une surface que les gens aiment personnaliser.
Sugar (Neighborhood) - Interface graphique du XO show fullsize
Dans les dernières évolutions des interfaces utilisateurs graphiques, la métaphore du bureau a tout de même beaucoup perdu en importance. C'est surtout depuis que l'on a réintroduit les systèmes d'exploitation multi-utilisateurs. Le but était de disposer à nouveau de fonctionnalités réseau de bas niveau. On a donc ressorti et modernisé les anciens systèmes d'avant la métaphore du bureau (unix).
Ces systèmes étaient tous basés sur la notion de point de départ propre à chaque utilisateur. On l'appelle souvent le dossier home. La maison. En remettant au gout du jour ces systèmes, on a également induit une modification dans la manière de concevoir le point de départ de l'utilisation d'un ordinateur.
Dans un système comme MacOSX, il y a clairement une rupture par rapport au passé. Entre mac OS 9 et Mac OS X, Ii y a un changement profond du paradigme de fonctionnement: le bureau n'est plus qu'un dossier posé dans le point de départ. Ce n'est plus la base sur lequel on trouve le disque dur!
MacOSX introduit également une autre nouveauté. Le Dock. Cette barre est un espace à disposition de l'utilisateur pour mettre des raccourcis vers des documents ou des applications qu'il utilise fréquemment. Il vole un peu le rôle que jouais le bureau.
Le prototype du XO en 2006
L'interface du futur va donc certainement être centrée sur l'utilisateur. L'utilisateur débute son activité sur son ordinateur dans sa maison, dans son point de départ. Ce lieu, est un lieu que chaque utilisateur peut personnaliser à souhait. C'est également le lieu où il est notifié de nombreuses sources d'information et de l'activité de ses amis. On retrouve cette idée dans l'interface utilisateur du XO et surtout sur les réseaux sociaux tel que facebook.
L'idée que l'on trouve dans cette nouvelle interface utilisateur est donc que le point de départ comporte également une sort de Dock dans lequel on peut placer des raccourcis sur des ressources que l'on veut garder à proximité.
Pour le reste des ressources, l'idée d'une interface utilisateur telle que celle du projet Aurora est probablement une piste importante. Aurora utilise une classification de ressource par groupe et permet de concrètement voir les groupes et les intersections entre les groupes. L'interface graphique d'Aurora présente une foule de ressources diverses et variées qui sont une multitude d'icônes flottantes.
La dimension temporelle est importante dans l'interface d'Aurora. Les ressources récentes sont en avant plan, et moins une ressource est utilisée, plus elle s'enfonce dans le lointain jusqu'à disparaître. Si l'on veut retrouver un ancien document, il est possible d'utiliser le zoom pour remonter dans le temps et retrouver la ressource désirée.
Il y a déjà des signes qui montrent l'importance grandissante de la notion temporelle de l'accès aux ressources. Dans l'interface graphique du mac. L'outils de sauvegarde Time Machine a fait son apparition pour retrouver des ressources dans l'état qu'avait son ordinateur à un moment donné.
De son côté, le moteur de recherche google a ajouté fin 2009 un nouvelle fonctionnalité qui permet de faire une recherche de ressources qui ont fait leur apparition dans une durée récente. Un effort a été fait pour intégrer dans le moteur de recherche toutes les conversations en temps réel qui se déroulent sur certain réseaux sociaux. (ex: twitter)
L'ère de la recherche par période temporelle est ouverte.