Futur de l’informatique épisode 10 – Domaine de recherche et services contextuels

Domaines de recherche et services contextuels

Lorsque nous avons abordé la question du moteur de recherche, nous avons omis de parler des domaines de recherche. Qu'est ce que l'on entend par là ?

Le domaine de recherche est en quelque sorte le lieu dans lequel on cherche. En effet, il y a plusieurs types de recherche. On peut rechercher:

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.

En 2003, lors de mon travail de diplôme d'ingénieur en télécommunication, j'avais déjà passablement étudié la notion de services contextuels dans un contexte de domotique.

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 !

 

PS: l'intégral des épisodes de cette réflexions sur le futur de l'informatique et du web est consultable dans une mise en forme à la suite.

Futur de l’informatique épisode 9 – Interface homme machine du futur

L'interface homme machine du futur

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.

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.

Aurora (Part 1) from Adaptive Path on Vimeo.

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.

Futur de l’informatique épisode 8 – Les tags

Les tags

Le système de catégorisation par tags est a été popularisé surtout par le service de galerie de photos en ligne: Flickr.

Ce n'est pas étonnant d'avoir vu émerger ce principe sur un service de photos en ligne. En effet, ce système est bien adapté aux photos.

Si l'on reprend notre exemple précédent des albums photos, on peut le résoudre en taguant les photos du petit dernier avec son prénom, et les photos de noël avec un tag du genre Noel2009. Pour les photos faisant partie des deux ensembles, on leur attribue les deux tags.

La même ressource peut se retrouver simultanément dans plusieurs groupes. Ici c'est bien le terme de ressource qui est utilisé et non plus le terme de fichier. C'est pourtant aussi un paquet d'information. Le terme de ressource est celui qui est utilisé dans la terminologie du web. C'est le R de URL. C'est la ressource qui est pointée par ce système d'adresse.

Si l'on admet que la métaphore du bureau a vécu. Il est donc plus juste d'utiliser le terme de ressource pour désigner ce paquet d'information que l'on veut organiser.

Un système de catégorisation par tag permet de résoudre certains problèmes comme le fait de pouvoir mettre une ressource dans plusieurs groupes en même temps. Mais il en pause aussi d'autres. Vu que l'on peut associer autant de tags que l'on veut à une ressource, le nombre de tag est très souvent plus élevé que le nombre de niveau de dossier que l'on créerait pour faire un équivalent avec une arborescence.

Petit rappel important, le graphe étant la généralisation de l'arbre, il est toujours possible de représenter une arborescence à l'aide d'un système de tag. L'inverse n'est pas vrai.

Moteur de recherche

Nuage de mots-clefs anglais liés au Web 2.0

Dans la pratique, on propose rarement une vue par dossier et sous dossier pour naviguer dans un système de tags. On privilégie souvent le nuage de mot. Dans le nuage, la taille des tags est proportionnelle au nombre d'utilisation de celui-ci. On peut aussi dire qu'il représente la taille du groupe de ressource qu'il forme.

Le nuage de mot est utile pour avoir un aperçu global du contenu que l'on a à disposition. Mais pour retrouver concrètement une ressource on privilégie le moteur de recherche.

Le moteur de recherche est une ligne de commande dans laquelle on indique le type de ressource que l'on veut ainsi que les tags qui permettent de déterminer le sous ensemble que l'on recherche.

Ainsi, par cette fonction de moteur de recherche c'est le grand retour de la ligne de commande qui se profile. Mais au fil du temps elle s'est améliorée. La ligne de commande est devenue plus intelligente. Un des meilleurs exemple est probablement google. Il est possible d'utiliser le champ texte de requête pour non seulement faire une requête, mais aussi pour demander à google de faire un calcul, de convertir des unités, d'afficher le cours de la bourse ou de convertir des monnaies au change actuel.

La ligne de commande moderne reconnaît de plus en plus la syntaxe du language humain. Une fois de plus, on voit que la métaphore du bureau n'est plus utile si l'on peut parler directement avec son ordinateur !

Mais on en est pas encore exactement au point de pouvoir philosopher avec sa machine. En l'état actuelle des choses, la ligne de commande la plus répandue est certainement la barre d'adresse de son navigateur web. Elle permet de faire toutes les requêtes que l'on veut si l'application web qu'elle pointe est bien conçue.

De plus, quand cette barre d'adresse est celle de Firefox 3, c'est encore mieux. En effet, cette barre porte le nom de awesome bar. Ce qui indique que ce n'est pas un bête champ de texte. Non, cette barre est une ligne de commande intelligente. Elle est capable de compléter une adresse déjà connue à partir de quelques bribes de mots.

Ainsi, si je connais un service web dont l'adresse est bien conçue, il m'est presque possible de converser avec lui dans un language proche du language humain.

Voici un exemple concret avec l'ajout d'un document:
L'URL suivante doit être utilisée pour ajouter un document: http://exemple.com/document/?new

Dans la awesome bar, il me suffit de taper: new document example et l'adresse ci-dessus m'est proposée. La seule limitation est le fait que l'adresse doit déjà avoir été utilisée pour être proposée.

Voici un autre exemple qui montre comment demander un document avec des tags. Ma demande est la suivante:

document exemple réflexion web

La awesome bar me propose l'adresse: http://exemple.com/document/réflexion/web/ qui me permet de lister les tous les documents sur exemple.com qui correspondent à l'union des groupes réflexion et web.

Comme on le voit dans cette exemple, il est possible d'utiliser le même mécanisme d'adresse web pour obtenir une ressource classée avec des tags qu'une ressource placée dans une arborescence. L'unique différence se situe dans le fait que les tags peuvent être mis dans une ordre quelconque alors que pour une arborescence l'ordre à son importance.

On remarque donc ici, que la forme des URL proposées pour piloter les applications web a une grande importance. Si l'url n'est pas bien formée il peut être impossible de l'utiliser avec une barre d'adresse intelligente.

La fondation Mozilla est donc déjà en avance dans le domaine de la ligne de commande moderne. Et ce n'est pas fini, dans les laboratoires de Mozilla on trouve l'extension Ubiquity qui est une interface par ligne de commande dont le but est d'être le plus proche possible du language humain.

Navigation au sein des articles

1 2 3 4
Remonter