Articles

Web 2.0 - Enrichir les interfaces utilisateur

Enrichir les interfaces utilisateur

Les modèles de conception du Web 2.0

Dans son livre, A Pattern Language, Christopher Alexander propose un format pour décrire de façon concise la solution aux problèmes d'architecture. C'est ainsi qu'il écrit : "Chaque modèle décrit un problème qui se produit encore et encore dans notre environnement, et décrit ensuite l'essentiel de la solution à ce problème, de telle manière que vous pouvez utiliser cette solution un million de fois, sans même faire deux fois la même chose."

1- La longue traîne
Les petits sites représentent l'essentiel du contenu internet; les niches étroites constituent l'essentiel des applications possibles d'internet. En conséquence : s'appuyer sur l'autonomie du consommateur et sur la gestion des données algorithmiques pour tirer partie de l'ensemble du web, jusque dans sa périphérie et pas seulement son centre, jusqu'au bout de sa longue traîne et pas juste en son coeur.

2- La puissance est dans les données
Les applications sont de plus en plus dépendantes des données. En conséquence : afin d'obtenir des avantages concurrentiels, il faut posséder une source de données unique, difficile à reproduire.

3- Les utilisateurs ajoutent de la valeur
La clé pour obtenir un avantage concurrentiel en matière d'application internet est de faire en sorte que les utilisateurs ajoutent leurs données à celles que vous proposez. En conséquence : ne restreignez pas votre "architecture de participation" au développement du logiciel. Incitez vos utilisateurs implicitement et explicitement à ajouter de la valeur à l'application.

4- Effets réseau par défaut
Seul un petit pourcentage des utilisateurs prendra la peine d'ajouter de la valeur à votre application. En conséquence : établissez des paramètres par défaut pour permettre l'accumulation des données utilisateur comme effet secondaire à leur utilisation de votre application.

5- Quelques droits réservés.
La protection des propriétés intellectuelles limite la réutilisation et previent l'expérimentation. En conséquence : Lorsque les avantages proviennent de l'adoption collective, et non de la restriction privée, faites en sorte que les critères d'adoption soient bas. Suivez les standards existants, et utilisez les licences qui possèdent le moins de restrictions possibles. Pensez "bidouillable" et "remixable".

6- La Beta Perpétuelle
Quand les périphériques et les programmes sont connectés à internet, les applications ne sont plus des artefacts logiciels, ce sont des services continus. En conséquence : n'incluez pas de nouvelles fonctionnalités dans des versions monolithiques successives, mais ajoutez les plutôt régulièrement en faisant de ces ajouts une chose normale pour l'utilisateur. Impliquez vos utilisateurs comme testeurs en temps réel, et faites en sorte de savoir qui utilise les nouvelles fonctionnalités.

7- Coopérez, ne contrôlez pas
Les applications Web 2.0 sont conçues à partir d'un réseau de services coopérant entre eux. En conséquence : offrez des interfaces de services web et de syndication de contenu, et réutilisez les services des autres. Appuyez-vous sur des modèles de programmation légers qui acceptent les systèmes faiblement couplés.

8- Le logiciel se libère du PC
Le PC n'est plus le seul appareil à pouvoir accéder aux applications internet, et les applications qui sont limitées à un seul type d'appareil ont moins de valeur que celles qui sont connectées. En conséquence : concevez vos applications à partir du début afin de les rendre accessibles aux appareils portables, aux PC et aux serveurs internet.

Dès le navigateur « Viola » de Pei Wei en 1992, le web a été utilisé pour délivrer des « applets » et d'autres types de « contenus actifs » à l'intérieur du navigateur. L'introduction de Java en 1995 était aussi motivée par cet objectif. JavaScript puis le DHTML permirent d'apporter de manière plus légère intelligence côté client et richesse d'interface. Il y a de cela plusieurs années, Macromedia lança le terme « Rich Internet Applications » (qui a été repris par le projet Open Source Lazlo) pour mettre en lumière les possibilités de Flash vis à vis des applications (et plus seulement des contenus multimédias).

Cependant le potentiel de richesse d'interface du web ne fut jamais exploité par les grandes applications, jusqu'à ce que Google lance Gmail, rapidement suivi par Google Maps : des applications web possédant un niveau d'interactivté équivalent à un logiciel PC classique. La technologie utilisée par Google pour cela fut baptisée AJAX dans un article de Jesse James Garrett de l'entreprise de design web Adaptive Path. Il écrivait alors :

« Ajax n'est pas une technologie, il s'agit de plusieurs technologies, se développant chacune de leur côté, combinées ensemble pour donner des résultats aussi nouveaux que puissants. Ajax comporte :
- une présentation basée sur les standards XHTML et CSS
- un affichage dynamique et intéractif grâce à DOM (Document Object Model)
- un système d'échange et de manipulation de données utilisant XML et XSLT
- un mécanisme de récupération de données asynchrone utilisant XMLHttpRequest
JavaScript pour lier le tout »

Ajax est aussi un élément clé des applications web 2.0 tels que Flickr (qui appartient désormais à Yahoo!), les applications de 37signal basecamp et backpack et bien entendu les applications de Google comme Gmail ou Orkut. Nous entrons dans une période sans précédent d'innovation dans l'interface à mesure que les développeurs deviennent capables de réaliser des applications web aussi riches que les applications locales classiques.

Il est intéressant de noter que bien des possibilités explorés aujourd'hui existaient depuis maintenant quelques années. A la fin des années 90, Microsoft et Netscape avaient une vision des possibilités qui sont désormais exploitées mais leur bataille au sujet des standards rendit difficile la création d'applications multi-navigateurs. C'est seulement lorsque Microsoft eut gagné cette guerre que le seul navigateur restant devint de facto le standard et que ces applications devinrent possibles. Heureusement, lorsque Firefox relança la concurrence sur le marché des navigateurs, les blocages au sujet des standards ne se reproduisirent pas dans les mêmes proportions.

Nous nous attendons à voir apparaître de nombreuses applications web au cours des prochaines années, certaines seront entièrement nouvelles, d'autres seront des réimplémentations d'applications PC existantes. C'est d'autant plus inévitable que chaque changement de plate-forme crée aussi l'opportunité d'un changement de leadership pour les acteurs d'un marché logiciel donné.

Gmail a déjà apporté plusieurs innovations intéressantes dans les applications e-mail en combinant les forces du web (accessible de n'importe où, capacités de recherches avancées) avec une approche ergonomique proche des interfaces PC habituelles. Les applications clientes essaient donc de grignoter des parts de marché en ajoutant de nouvelles fonctionnalités telles que la messagerie instantanée. Sommes nous encore loin du client de communication complètement intégré incluant le meilleur de l'e-mail, de la messagerie instantanée et du téléphone portable tout en utilisant la voix sur IP pour ajouter encore plus de richesse à l'interface du nouveau client web ? En tout cas, le compte à rebours est lancé.

Il est assez facile d'imaginer comment le web 2.0 réimplémentera le carnet d'adresses. Un carnet d'adresses web 2.0 pourra d'une part traiter un ensemble de contacts mémorisés comme le fait par exemple un téléphone. Parallèlement à cela, un agent de synchronisation web, dans le style de Gmail, se souviendra de chaque message envoyé ou reçu, de chaque adresse e-mail ou numéro de téléphone utilisé et s'appuiera sur des heuristiques de réseaux sociaux pour décider quelles alternatives offrir en cas de recherches infructueuses. Si il ne trouve pas de réponse, le système élargira alors le périmètre du réseau social dans le lequel il effectue sa requête.

Le traitement de texte du web 2.0 permettra l'édition de données collaborative de type wiki et plus seulement celle de documents indépendants. Mais il pourra aussi offrir l'édition de document riche comme Microsoft Word ou OpenOffice savent le faire. Writely est un excellent exemple d'une telle application, bien que sa portée soit encore assez limitée.

Mais la révolutions web 2.0 ne s'arrêtera pas là. Salesforce.com a montré comment le web pouvait être utilisé pour délivrer le logiciel comme un service, à l'échelle d'applications d'entreprises telles que la CRM.

L'opportunité pour de nouveaux arrivants d'exploiter pleinement le potentiel du web 2.0 entrainera la création d'applications qui apprennent de leurs utilisateurs en s'appuyant sur une architecture de participation et qui se démarqueront non seulement par leur interface mais aussi par la richesse des données partagées qu'elles offriront.

Le coeur de métier des sociétés du web 2.0

A travers les 7 principes évoqués plus haut, nous avons souligné quelques uns des principaux traits du web 2.0. Chaque exemple abordé démontre un ou plusieurs principes clé, mais laisse en général les autres de côté. Terminons donc en résumant ce que nous pensons être le coeur de métier des sociétés du web 2.0 :

- des services, pas un package logiciel, avec des possibilités d'économie d'échelle

- un contrôle sur des sources de données uniques, difficiles à recréer, et dont la richesse s'accroit à mesure que les gens les utilisent

- considérer les utilisateurs comme des co-développeurs

- tirer partie de l'intelligence collective

- toucher le marché jusque dans sa périphérie à travers la mise en place de services « prêts à consommer »

- libérer le logiciel du seul PC

- offrir de la souplesse dans les interfaces utilisateurs, les modèles de développements ET les modèles d'affaires

La prochaine fois qu'une société clame « ceci est web 2.0 », confrontez-la à la liste ci-dessus. Plus elle marque de points, plus elle est digne de cette appellation. Rappelez-vous néanmoins que l'excellence dans un domaine vaut mieux quelques paroles pour chacun des sept.