De la ligne de commande
Où je reviens sur la ligne de commande.
C’est rigolo la vie quand même, on croit avoir écrit quelque chose de bien, de réfléchi, puis au hasard d’un surf, tout bascule. Pour moi, c’est en cherchant à savoir si mon article sur la ligne de commande avait été happé par le moteur de recherche commençant par G que je suis tombé sur un article titré tout pareil (article disparu depuis).
Je le lis par curiosité et là je me sens un peu nunuche avec mon article qui se fini en queue de poisson sur une note si négative. Du coup, il me fallait reprendre ma réflexion et essayer de la pousser plus loin.
Et pourquoi pas ?
Je finissais par dire que le grand public n’était de toutes façons pas intéressé par ce genre de fonctionnalité complètement _geekesque. _Mais Tristan a raison quand il dit que toute l’astuce est que l’utilisateur ne s’en rende pas compte. La barre d’adresse de Firefox 3 est un bel exemple d’outil typiquement geek qui est mis à la portée de tous.
Les gens tapent souvent des adresses pour atteindre leur site. Découvrir qu’ils ne sont plus limités au début de l’adresse mais à n’importe quoi entre un bout de l’adresse et/ou un bout du titre de la page du moment qu’elle ait déjà été visitée. Le fait qu’aucune manipulation particulière ne soit nécessaire pour mettre en œuvre cet outil le rend transparent. Du coup, la puissance est là, devient naturelle et on ne pose pas la question de ce qu’il faut faire pour utiliser l’historique de sa navigation.
Du coup, ça vaut peut être le coup de chercher comment on pourrait rendre des technos de type ligne de commande accessibles aux masses.
Le langage naturel
Antistress souligne bien que le langage naturel est puissant pour exprimer des pensées, des actions, des concepts abstraits, bien plus que des icônes. Moi, par contre, je persiste à dire que les technos de traitement du langage naturel sont encore au stade expérimental. On a bien des anti-spams, les publicités ciblées de Google, tout ça ne fonctionne que sur un spectre limité du langage, grâce à un apprentissage progressif qu’on est obligé d’inculquer à la machine. Je ne connais rien qui puisse gérer quelque chose comme : "Supprime les yeux rouges des photos ouvertes" sachant qu’on aurait pu écrire "Enlève les imperfections dû au reflet du flash dans les yeux des photos courantes". Je caricature mais l’idée est là : le langage est puissant, bien trop pour la machine.
Le langage naturel s’appuie sur un contexte culturel fort. Du coup tout ce qui peut être fait comme travail sur une langue donnée n’est pas forcément réutilisable pour une autre. Il suffit de voir que les expressions idiomatiques ne pourront jamais être gérées par un programme de manière générique. Il manque une conscience du contexte socio-culturel à l’ordinateur pour pouvoir déchiffrer les non-dits et autres rhétoriques.
Les commandes
Ubiquity lui s’appuie sur le concept de commande : des mots-clés qui servent à enclencher une action. Là encore, on va atteindre rapidement ce qu’il est possible de faire assimiler à un utilisateur lambda. Actuellement les commandes tentent de rester simples dans leur nommage afin de faire une espèce de phrase. Par exemple, pour ajouter un événement à mon google agenda :
add-to-calendar diner Lili et Marcel 25/09 at 20:00
On va passer sur le problème de la traduction, mais dans notre exemple, on a du retenir que pour ajouter un événement à son agenda, il fallait faire appel à cette commande. Là, on a un nom explicite mais il existe des commandes qui sont plus occultes dans leur nom et l’accumulation de ce genre de choses rendra le caractère naturel obsolète, l’utilisateur passant son temps à essayer de se souvenir du mot à taper.
Les verbes
En fait, il n’est pas tout à fait exact qu’ubiquity se serve de commandes. Ils appellent ça des verbes et pour cause, il n’est pas censé y avoir de commandes qui ne soit pas un verbe. Un verbe, c’est une action, or l’utilisateur veut agir sur le logiciel. il veut calculer, ajouter un rendez vous, consulter son agenda. Du coup, les créateurs de fonctions ubiquity devraient se concentrer sur le nom donné à leur création pour contenir un verbe car il est plus fluide de penser action que de penser fonction.
Par exemple, il existe une commande "rot13" qui permet de crypter du texte en utilisant l’algorithme rot13. En utilisant "rot13" comme nom, l’outil restera de nature "commande", donc geek. En nommant cette commande "crypt-with-rot13" on améliore déjà les choses, l’idéal serait même "crypt", l’algo utilisé étant alors configuré autre part (ce qui lève le problème de configurer ça simplement mais on sort du cadre de la ligne de commande).
Là, on voit donc que l’ergonomie va dépendre du créateur de fonctions : quel verbe utiliser pour qu’il tombe sous le sens quand la personne veut faire telle chose ? Et malheureusement, il y a rarement de réponse universelle.
Mots-clés
Antistress parle aussi de notre utilisation des mots-clés avec les moteurs de recherches internet. C’est vrai, la recherche internet c’est un peu une ligne de commande qui prend les paramètres à une unique action "recherche". Malheureusement, un mot-clé n’a pas de contexte et peut donc signifier tout et n’importe quoi. Google utilise un algorithme complexe qui permet de mettre un contexte à des associations de mots-clés, un contexte de popularité (utilisé dans les suggestions de recherches d’ailleurs). Dans notre recherche de communication avec la machine par les mots, je ne sais pas si ça peut s’appliquer. Quoi que…
Un peu d’imagination
Un aspect fort d’Ubiquity est sa capacité d’extension, les gens pouvant écrire de nouvelles fonctions à ajouter. Cette dimension de partage des commandes pourrait peut être apporter la contextualisation qui manque pour atteindre une souplesse intelligente.
On peut imaginer un mélange entre les verbes et les mots-clés, couplés à une dimension sociale - popularité des verbes, fréquence de verbes avec certains mots-clés . Les résultats pourrait atteindre la souplesse de la barre d’adresse de Firefox 3.
Il restera des problèmes lorsque la tendance populaire à un instant t ne conviendra pas à certaines utilisations dans un domaine précis. Là encore, on peut imaginer un système de changement de domaine d’utilisation pour passer à d’autres données statistiques pour ne plus être pollué par des suggestions non pertinentes.
Du coup, une barre de saisie perpétuellement visible sur l’écran dans laquelle on peut taper ce qu’on désire faire pourrait être envisageable finalement, tout en ayant une souplesse et une transparence d’utilisation qui la rendrait utilisable par le grand public, non ?