10 ans d’évolution des interfaces web au service de l’expérience utilisateur

2007 sera une grande année pour les interfaces riches (voir à ce sujet mon précédent billet). Pour célébrer cette révolution à venir, je vous propose de faire une rétrospective sur dix années d’évolution des interfaces web, en incluant un peu de prospective sur l’année à venir.

J’ai résumé tout cela dans ce schéma :

ria-rda-widget.jpg

La page HTML : simple et efficace

La manière la plus simple de réaliser une interface web est d’utiliser HTML. Pour consulter une page web, il faut : un système d’exploitation et un navigateur. C’est simple et efficace, suffisamment efficace pour faire fortune (à l’image d’eBay ou d’Amezon).

L’applet : un peu plus de puissance mais au détriment du confort d’usage

Durant la fin des années 90, sont apparus des micro-applications qui pouvaient être exécutées au sein d’une page web : les applets réalisées en Java. Pour pouvoir les exécuter, il fallait bien évidemment un système d’exploitation, un navigateur, mais également une machine virtuelle. C’est cette dernière qui servait à interpréter le code Java (qui n’a rien à voir avec Javascript).

Les applets permettent de faire plus de chose que le HTML mais au détriment du confort d’usage, car les applets sont lourdes et longues à démarrer (de 1 à 3 secondes) et que la machine virtuelle nécessite souvent des mises à jour intempestives. Quand il s’agit du configurateur en 3D de Volkswagen, ça va, mais quand il s’agit d’un simple calendrier pour choisir une date comme sur le site de la banque Fortis, c’est inadmissible.

Les RIA : le meilleur compromis à ce jour

Puis sont apparues les Rich Internet Applications qui proposaient de bien plus grandes possibilités d’affichage et de manipulation que le HTML. Ces interfaces riches pouvaient être réalisées en AJAX (à l’image du sélecteur de diamant d’Amazon ou du site de GAP) ou en exploitant des technologies vectorielles comme Flash ou WPF/E. Pour les faire tourner, vous devez posséder le bon plug-in (ce qui est le cas de 99% des ordinateurs pour Flash). L’intégration des animations au sein d’une page web est transparente et très performante (à l’image du très bon comparateur de Ford Vehicles).

Les widgets : petites mais terriblement efficaces

Plus récemment, des petits modules autonomes sont venus s’installer sur notre bureau : les widgets. Ces micro-applications nécessitent plusieurs choses pour pouvoir tourner : soit un programme appelé moteur de widget (Yahoo! Widget, Google Desktop, Kapsules sous Linux ou encore le navigateur Opera), soit un système d’exploitation de nouvelle génération comme Windows Vista ou Mac OS X.

Les RDA : l’avenir du logiciel ?

La toute dernière évolution des interfaces web s’appelle les Rich Desktop Applications. Tout comme les applets, les RDA nécessitent une machine virtuelle (Eclipse RCP, NetBeans, Java Web Start, XULRunner de Mozilla, Le futur Apollo d’Adobe ou encore le SmartClient de Microsoft). Ces technologies permettent d’avoir des interfaces aussi robustes que des applications et la simplicité de déploiement des sites web (pas besoin de les installer sur le système d’exploitation).

Plusieurs expérimentations sont en cours autour des RDA : SongBird (un concurrent de iTunes réalisé avec XUL), le Mozilla Amazon Browser (une RDA qui exploite le catalogue d’Amazon) ou encore le module d’eBay réalisé avec Apollo.

Conclusion : le service avant tout

Après ce formidable déballage des technologies toutes plus prometteuses les unes que les autres, je vous propose de faire le constat suivant : Qui avons-nous à gauche du schéma ? Amazon et eBay. Qui retrouvons-nous à droite du schéma ? Amazon et eBay. L’enseignement que nous pouvons en tirer est le suivant : si votre service est bon alors ces différentes technologies (et les plus récentes en particulier) ne doivent vous servir qu’à enrichir l’expérience utilisateur que vous proposez. Par contre si votre service n’est pas performant alors ne rêvez pas, l’interface (quelle que soit la technologie utilisée) ne compensera pas une expérience utilisateur négative.

Je vous laisse méditer là dessus…

Vers un flash player en open source pour la fondation Mozilla ?

La nouvelle vient de tomber , et elle a de quoi surprendre : Adobe vient de livrer à la fondation Mozilla le code source de sa machine virtuelle ActionScript (voir le communiqué de presse ici : Adobe and Mozilla Foundation to Open Source Flash Player Scripting Engine).

Quand on y regarde de plus près, et surtout entre les lignes, on se demande si Adobe ne serait pas en train d’abandonner la maintenance de son Flash Player au profit d’une dynamique open source.

Plusieurs facteurs sont à l’origine de cette décision :

  • La stratégie d’Adobe n’est pas le même que celle de feu Macromedia, comprenez par là que la gamme de produits d’Adobe est bien plus large et que ses centres de revenus (les vaches à laits) ne sont pas forcément liés à Flash ;
  • Les équipes d’Adobe ont bien du mal à assurer la maintenance du Flash Player (rappelons qu’il n’existe toujours pas d’adaptation de la version 9 pour linux) ;
  • Le marché des interfaces riches est en pleine croissance et l’offre d’Adobe (Flash / Flex) doit faire face à la concurrence d’autres approches technologiques comme Ajax, OpenLaszlo, Java Web Start, .Net , XUL… ;
  • Adobe concentre sa R&D sur Apollo, son logiciel hybride capable de lire du Flash, du PDF et du HTML.

Toujours est-il qu’Adobe vient probablement de montrer le premier signe d’une stratégie de retrait. La suite logique serait de livrer le code source du Flash Player, tout comme l’a déjà fait Netscape à l’époque avec son navigateur.

Si l’on rapproche cette stratégie de celle faite par IBM (de baser son environnement de développement Java sur Eclipse), la question que je me pose est la suivante : Quelle va être la capacité de la communauté des développeurs à absorber cette charge de travail ? Car il faut bien appeler un chat un chat : Adobe n’est pas une organisation philanthropique et son seul souhait est de faire supporter une partie des frais de R&D et de maintenance à la communauté du libre.

Quand on y réfléchi, ça commence à faire beaucoup de boulot tout ça : Firefox, Thundberbird, PHP, MySQL, Java, Eclipse… J’en oublie certainement une grande partie, mais il ne faut pas oublier que les bénévoles ne sont pas non plus de pigeons. Pour vivre, une communauté à besoin d’une dynamique, de leaders, d’animateurs… et tout le monde n’a pas un Tristan Nitot dans sa manche !

Bref tout ça pour dire que je suis très content pour la fondation Mozilla. C’est un très bon choix de la part de MacromediaAdobe que de « confier » son bébé à une organisation qui a fait ses preuves et qui dispose déjà de l’infrastructure nécessaire.

Dans cette histoire, le seul perdant pourrait être le format SVG soutenu par le W3C. Cependant, au vu des dernières évolutions du format Flash (qui en est à sa 9ème itération), on est en droit de se demander si l’animation vectorielle est encore au cœur de ce dernier… C’est sûr que comparé à Flash 9, SVG c’est comme un playmobil dans Prison Break (hé hé hé, elle n’était pas facile à placer celle là !).

Et vous, feriez-vous confiance à la fondation Mozilla pour reprendre le travail sur le Flash Player ?

MAJ (08/11/2006) : Les explications complètes sur le blog de Tristan Nitot : Adobe et Mozilla s’allient pour lancer le projet Tamarin. Heu… pourquoi avoir choisi ce nom de Tamarin ?

IE 7 est disponible… et Firefox 2 très bientôt

Aujourd’hui est un grand jour, non pas parce que IE 7 vient de sortir en version définitive, mais plutôt parce qu’après 3 Release Candidate, Firefox 2 est également sur le point de sortir.

Pourquoi est-ce si important ? Pour plusieurs raisons :

  1. ces deux nouvelles moutures intègrent de façon native l’abonnement et la gestion des flux RSS, ce qui va faire sortir de l’ombre la syndication et la faire connaitre aux yeux du grand public) ;
  2. les moteurs de rendu ont évolué, ce qui veut dire une meilleur prise en charge des CSS ;
  3. deux modèles d’organisation (la multi-nationale privée et la fondation) nous ont démontré leur réactivité et leur puissance de feu (l’une fondée sur la capitalisation et des milliers de salariés, l’autre basée sur la passion et des millions de bénévoles).

Bref tout ça pour dire que je serai bien allé à la soirée de lancement de Firefox 2 la semaine prochaine, mais visiblement je ne suis pas le seul comme le précise ce billet de Tristan. Comme je suis convaincu du bienfondé des standards web et un inconditionnel de Firefox, je suis prêt à laisser ma place à cette soirée. Je préfère en effet utiliser Firefox au quotidien et faire bénéficier de cet évènement quelqu’un d’autre (même si cette soirée aurait été une bonne occasion de revoir des gens que j’apprécie).

iTunes + XUL = Songbird

Songbird est une jeune start-up qui développe un lecteur multimédia (comme iTunes) connecté à l’internet (comme iTunes) où les utilisateurs vont pouvoir gérer leur mediathèque et même acheter des nouveaux morceaux musicaux (comme iTunes).

L'interface de Songbird

Jusque là rien de très palpitant, sauf que le Songbird en question est développé avec la technologie XUL. Et là vous me direz : OK et alors ? Ce n’est pas la technologie qui assure le succès d’un produit. Certes, mais quand on y réfléchit un peu, l’utilisation de cette technologie est intéressante à plus d’un titre :

  • les temps de développement doivent être moins long qu’avec des technologies traditionnelles comme C++ (en tout cas à priori, merci de me corriger si je raconte des bêtises) ;
  • l’interface est bien plus légère et simple à faire évoluer (puisque construite avec des CSS et du javascript) ;
  • l’application se connecte pus facilement à l’internet (puisque c’est bel et bien un Firefox qui tourne derrière Songbird) ;
  • les mises à jour sont plus transparentes (en tout cas plus que le couple iTunes / Quicktime qui nécessite le téléchargement de 60Mo après chaque mise à jour mineure).

Bref, tout ça pour dire que même si la technologie ne fait pas tout, il serait intéressant d’étudier ce cas d’école pour avoir un aperçu de ce vers quoi l’informatique grand public va évoluer, à savoir des applications flexibles et connectés. Peut-être un expert peut-il s’exprimer sur XUL et nous donner quelques information supplémentaires… Laurent ? Daniel ?

IE7 et les standards web : un pas en arrière, un pas en avant

Alors qu’en début de semaine l’équipe de développement d’IE 7 demandait à la communauté des développeurs de nettoyer leur feuilles de styles des astuces CSS permettant de contourner les problèmes d’affichage de leur navigateur (ils ne doutent de rien : Call to action: The demise of CSS hacks and broken pages), voici que Microsoft nous apprend que les objets ActiveX seront abandonnés dans IE 7 au profit des objets standards comme XMLHttpRequest : The right way to create an XMLHttpRequest Object. Une intéressante nouvelle, puisque cela va simplifier la mise en oeuvre de services basés sur AJAX.

Mais une nouvelle inquiétante car il semble que Microsoft n’a visiblement rien compris à la vague de fond provoquée par les navigateurs alternatifs Firefox et Opera : ils se comportent encore comme si les utilisateurs du monde entier (et les développeurs) étaient pieds et poings liés à leurs produits et ne pouvaient pas trouver de solutions alternatives. Grave erreur, surtout lorsque l’on apprend que Firefox a dépassé la barre des 100 millions de téléchargement. (merci à Didier pour le lien).