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 ?

Après les RIA, voici les RDA

Si vous suivez ce blog régulièrement, alors les RIA (Rich Internet Application) n’ont plus de secrets pour vous. Par contre, connaissez-vous les RDA (Rich Desktop Application) ?

Les RDA sont les applications riches du poste de travail. Comprenez par là que ce sont des applications, au même titre que votre traitement de texte ou votre logiciel de messagerie, sauf que ces applications riches sont déployées à la volée et exécutées sur une machine virtuelle. Gloups ! Et oui, ça calme comme définition, non ? Pour vous aider à bien faire la différence, je vous propose de revenir sur ce que sont les RIA puis de vous donner des exemples concrets de RDA.

RIA = Writely (heu… Google Docs)

Une RIA est une application qui se lance depuis votre navigateur et qui est exécutée à l’intérieur de ce dernier. WritelyGoogle Docs est ainsi un traitement de texte en ligne qui n’est pas installé sur votre poste de travail mais que ressemble à une application traditionnelle.

Les technologies de références pour faire des RIA sont :

  • AJAX ;
  • Flash / Flex ;
  • OpenLaszlo.

RDA = AjaxWrite

Prenons maintenant un autre exemple dans le même domaine : AjaxWrite est également une application en ligne mais qui s’exécute en dehors de votre navigateur. Oui je sais, vous allez me dire : mais… il s’exécute dans la fenêtre de votre navigateur, mais je vous répondrais : pas tout à fait.

C’est là où les choses se compliquent et où j’ai besoin de votre attention. En fait, AjaxWrite n’est pas exécuté par Firefox lui même mais par XulRunner, une sorte de machine virtuelle sur laquelle on peut faire tourner des applications en XUL. C’est un peu complexe à comprendre dans la mesure où Firefox utilise ce fameux XulRunner comme moteur d’affichage.

Donc pour faire simple : il est impossible d’exécuter Google Docs sans Firefox, par contre il est tout à fait possible de faire tourner AjaxWrite sans Firefox (du moment que vous avez installé XulRunner). Vous remarquerez que ce principe de machine virtuelle n’est pas neuf : le langage Java exploite déjà cette architecture depuis son lancement.

Le meilleur des deux mondes

Le principal intérêt des RDA est de pouvoir allier la praticité des RIA (légèreté, pas besoin d’installer l’application pour s’en servir) et la robustesse des applications traditionnelles (temps de réaction, stabilité…). Car il faut bien avouer que Google Docs est une belle prouesse technologique, mais qu’à utiliser au quotidien, c’est un peu pénible (lenteur, plantages).

Il est ainsi tout à fait possible de se connecter à un site, de lancer une application riche de type RDA (qui va se télécharger et s’exécuter à la volée en quelque secondes comme AjaxWrite) et de pouvoir l’utiliser par la suite en mode déconnecté avec une grande souplesse (l’application vérifiant s’il n’y a pas de nouvelle mise à jour à chaque nouvelle utilisation).

Pour rentrer dans des considérations plus techniques, il existe différentes technologies pour faire des RDA :

  • en Java à l’aide de Java Web Start, Eclipse RCP ou encore NetBeans RCP ;
  • en XUL (le langage de description d’interfaces de Mozilla) avec XulRunner ;
  • en XAML (le langage de description d’interfaces de Microsoft) avec la machine virtuelle de Microsoft (SmartClient.Net) ;
  • il faut également parler d’Apollo, le futur player universel d’Adobe (PDF, Flash, HTML) qui va également permettre de faire des choses très itnéressantes.

D’autres exemples ?

Il existe de nombreux exemples de RDA mais celui qui me plait le plus est le Mozilla Amazon Browser (dont j’avais déjà parlé dans un précédent billet il y a plus de deux ans) : une application riche pour parcourir le catalogue d’Amazon que l’on peut installer sur son ordinateur ou exécuter directement en ligne.

Et là vous me direz : et iTunes dans tout ça ?, et je vous répondrais : Ha non, iTunes est une application connectée. Nous sommes donc dans une configuration différente puisqu’il faut installer iTunes et le mettre à jour manuellement. De même pour Google Earth, c’est également une application traditionnelle mais qui se connecte à internet pour récupérer les données cartographiques.

Quelques réserves…

Je suis certain que mes explications feraient hurler des puristes comme Didier, Daniel ou Guillaume, mais voilà… il faut bien que je prenne des raccourcis pour vulgariser une notion complexe à expliquer.

Pourquoi est-ce que je cherche à vulgariser les RDA ? Tout simplement parce que leur potentiel est immense et qu’elles sont peut-être LA solution qui pourrait réconcilier deux mondes qui se font la guerre : les géants des services en ligne (Google, Yahoo!, SalesForce…) et les géants du logiciels (Microsoft, Oracle, MacromediaAdobe…).

Compte-rendu du Adobe Live 2006

La Cité des sciences de La Vilette accueille depuis hier la grande messe annuelle de la création organisée par Adobe / Macromedia : Adobe Live 2006.

Une bonne occasion pour découvrir les nouveautés de l’éditeur (produits et solutions) :

  • une plus grande interopérabilité entre les produits des gammes Adobe et Macromedia ;
  • de nouvelles solutions orientées données et entreprise (Flex Data Center 2.0 ou un truc dans le genre) ;
  • des démos très sympas de solutions nomades et multi-plateformes.

Pour un complément d’informations, je vous recommande l’analyse du TrendWatch Blog : Adobe’s revolution is still mostly for designers.

En tout cas, l’annonce qui a retenu mon attention concerne un logiciel (nom de code = Apollo) à mi-chemin entre navigateur web et lecteur universel Flash / PDF. Hum… voici donc l’évolution ultime du Adobe Reader et de Macromedia Central… Pas trop de précisions ni de date de livraison, mais un peu plus d’infos ici : Adobe Apollo, un client Acrobat Reader / Flash.

Beaucoup de monde à la conférence que j’ai eu l’occasion de donner sur le thème des interfaces riches et du web 2.0.

AdobeLive

 

Pour celles et ceux qui étaient présents ce matin (et pour tous les autres), voici le support de mon intervention : Web 2.0 et RIA (format PDF, 9,8 Mo).

Ne dites pas à ma femme que je participe au Adobe Live, elle pense que je vais à la Macromedia Expo

Je vais avoir la chance d’intervenir mercredi prochain à la grande messe de la création : Adobe Live 2006. Cet événement est dédié aux professionnels de la création travaillant sur tout type de supports (impression, web, vidéo, photo…), un rendez-vous annuel qui sera présent dans 7 grandes capitales européennes (France, Allemagne, Grande-Bretagne, Hollande, Italie, Espagne et Suède).

Affiche de l'événement Adobe Live 2006 Un événement majeur qui va permettre à Adobe (prononcez adobi) de nous dévoiler un peu plus sa stratégie d’ensemble. Il sera intéressant de voir comment vont être remaniés les produits des gammes Adobe et Macromedia, et surtout comment le nouveau géant de la création va réussir à concilier un public aussi large.

Pour information je dois intervenir le mercredi 31 à 10 H 45 sur le thème du Web 2.0 et des RIA dans un contexte d’entreprise. Pour plus d’infos, un programme est disponible sur le mini-site de l’événement.

Etrange destin tout de même pour ces deux sociétés qui se sont mariées. Quand on y réfléchit un peu, vous ne trouvez pas que la nouvelle entité Adobe serait une cible idéale pour Yahoo! ? Non pas à cause de ses produits, mais plutôt pour ses contenus : les jeux en ligne du Shockwave.com qui viendraient étoffer les Yahoo! Games, et les courts métrages d’Atom Films qui viendraient alimenter Yahoo! Video ou le Yahoo! Entertainment.