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 :
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…
Très jolie et très intéressante rétrospective ;-) Merci d’être toujours aussi enrichissant!
Retrospective tres interressante. Cependant, “conslusion” => “conclusion”. ;) Merci
Tiens, je me demandais pourquoi il n’y avait pas Linux dans les navigateurs de nouvelle génération dans la colonne widgets. Parce que tant sous GNOME que sous KDE, on trouve des moteurs de widgets avec pas mal d’applications disponibles. C’est clair que c’est plus discret et rarement installé par défaut dans les distribution, mais il n’y a sans doute pas de grande différence avec ce que peut faire Vista ou osx !
Je pense que l’on peut rajouter le petit pingouin dans les RIA ! En effet le Flash Player 9 est officiellement sorti sous Linux. En tout cas ce schéma est une excellente synthèse.
La conclusion du dernier dossier du “Journal du Net” devrait te plaire ;o) JdN, Les outils de développement Mobile
Il ne manquerait pas Ubuntu dans la colonne RDA au niveau des systèmes d’exploitation ;) ?
Ubuntu est une distribution Linux, en plus je manquais de place sur le schéma (argument imparable contre lequel personne ne peut luter). /Fred
Une fois de plus….brillant ! C’est décidé en 2007 je vote pour toi !
“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.” Et juste en dessous, le post “précedent” sur le RDA Fnac … C’est comme un appel desespere à la Fnac pour repenser leur prototype, non ? ;)
très joli synthèse
Mais comment tu fais pour prendre toujours autant de hauteur/recul dans tes analyses ?! Tu ecoeures tous les apprentis blogueurs qui ont tenter, comme moi, de monter leur propre blog d’analyse… Merci quand même :)
quand je pense qu’après tout ca il y en a encore qui font du web comme en 1996… morts aux papis du web!! vivement l’alter-rich-geek-intra-desktop-mobile-plugin qui va tout révolutionner en XYµHTML. Tout ca pour dire que la techno on s’en balance, on peut faire une RDA en div html s’il le faut. sans concept la techno web n’est rien.
myfenec : “quand je pense qu’après tout ca il y en a encore qui font du web comme en 1996”.Oui, moi !
Pourquoi ? Parce mes clients n’ont pas besoin d’autre chose ! Le Web “à la 1996”, qu’il soit sous HTML 4.0 Transitional ou XHTML 1.1 Strict, avec ou sans CSS, ça restera toujours le bon vieux Web des familles qui a pour vocation d’afficher du texte, des images, avec la possibilité de naviguer !
En revanche, pour des applications tradionnelles en ligne ou pas, le RDA (XAML en l’occurence) est une évolution logique : le rapport entre la qualité graphique du résultat et les efforts déployés n’a rien à voir avec ce qu’il faut transpirer pour avoir l’équivalent avec de l’HTML et du Javascript…
Le plus dur reste à faire : se former.
Allez, au boulot !
@ myfenek > “on peut faire une RDA en div et HTML”, non pas du tout. Ce sont deux technologies et surtout deux approches complètement différentes. L’une n’est pas meilleure que l’autre, elle servent des objectifs différents. /Fred
Le lien pour NetBeans Platform est http://platform.netbeans.org. C’est Web Start (pas Wed Start ;-) Le tout (Eclipse RCP y compris) mérite que l’on mette le logo Java dans la partie RDA. -Alexis (pas objectif du tout)
Une petite remarque pour commencer: le configurateur 3D de Volkswagen n’est-il pas en Flash plutôt qu’en Java, justement ? Ou alors, j’ai raté une étape ? En tout cas, très bonne analyse, qui rejoint ce que j’ai découvert moi-même cette année. Ce que tu dis dans le commentaire 14 est aussi très important, et j’irais même plus loin: une techno ne pourra pas couvrir tous les usages, même si elles peuvent se recouvrir pour certains usages. Par exemple, une application réalisée avec Eclipse RCP, et une application réalisée avec Apollo sont tellement différentes, d’une part dans le développement, d’autre part dans l’utilisation, qu’elles ne conviennent pas aux mêmes cas d’usage, alors même que ces deux technos sont de type RDA… Autre remarque : je ne comprends pas pourquoi le pingouin n’est pas dans chaque colonne… Sous Linux (et autres Unix du même style), on peut faire du Web, on a le plugin Java, Flash 9, Apollo aura un runtime et Xulrunner fonctionne d’ores et déjà.
Effectivement, Voskwagen a changé de configurateur. Concernant le pingouin dans chacune des colonne, je réitère ma précédent e réponse : oui mais je manquais de place sur le schéma (argument imparable contre lequel personne ne peut luter). /Fred
QQ commentaires (constructifs j’espère)
Pour commencer, la première colonne s’intitule “Web”, or dedans tu ne parles pas du Web (qui englobe tout le schéma) mais de HTML (d’ailleurs tu te corriges dans le paragraphe descriptif en écrivant “La page HTML”). Ensuite l’échelle de temps me gène énormément (car il s’agit bien d’une échelle de temps,puisque tu décris l’évolution des interfaces au cours du temps).
Si je devais placer tout cela sur une échelle, cela donnerait à peu près cela:
HTML: 1990
applet: fin 90
flash: fin 90
RIA: 2004
widget: 2005
RDA: 2006
Donc 1/ pour moi flash devrait se situer au même niveau que les applets (sauf que flash a su évoluer, les applets non), et 2/ RIA, widgets et RDA existe depuis 3 ans, alors que HTML et applets existe depuis 15 ans, voire plus, ce qui ne ressort pas du tout sur son schéma.
De plus avec ce schéma, on a de fausses impréssions. Par exemple l’HTML (et non le web) ressort comme une vieille techno qu’il faut abandonner, alors que pas du tout. Avec tous ses cousins (XUL, XAML, et tous les Markup Language en général) il est au coeur de bcp d’autres technos comme les widgets et les RDA.
D’autres points sur lesquels je ne suis pas d’accord:
les widgets existent depuis longtemps (http://www.irintech.com/x1/blogarchive.php?id=498), mais sont très à la mode en ce moment, je l’accorde
EclipseRCP et NetbeansRCp ne sont pas des machines virtuelles, mais des plateformes
Pour conclure, je dirai que le schéma n’est pas à mettre entre toutes les mains, et tout cas pas les miennes :-), celles d’un techophile, mais plutot pour des marketeux ou des décideurs (les personnes un peu loin de la technique) qui raffolent de ce genre de schéma.
J’ajouterai même qu’on remarque qqch d’amusant: les RDA sont très à la mode (surtout dans ce blog), mais n’est ce pas un retour en arrière vers les bonnes vieilles applications clients lourdes tant critiquées à la fin des années 90?
Si oui, où est l’évolution? (à part dans les technos utilisées)
Nicolas G.
Nicolas,
, bien sûr que non, c’est avant tout un schéma qui vulgarise et qui simplifie. Donc tu va forcément y trouver des petites imprécisions (comme le fait qu’EclipseRCP soit une plateforme) qui n’intéressent absolument pas les décideurs. , loin de moi l’idée de vouloir remettre tes compétences en cause, il n’empêche que là tu donne le bâton pour te faire battre ! Les RDA sont une avancée majeure (décisive ?) dans la mesure où elle autorise les même puissance, robustesse, stabilité que les applications tout en bénéficiant de la souplesse de déploiement des applications légères. Mais j’imagine que tu sais déjà tout ça. /FredBonjour, Blog découvert suite au passage dans 8-Fi. Pas mal mais un très gros oublis je pense, c’est WPF. Windows Presentation Foundation est révolutionnaire car permet de faire aussi bien des applications Windows que Web. Voir http://msdn2.microsoft.com/en-us/library/aa663364.aspx puis paragraphe “A Common Technology for Windows and Web Browser User Interfaces” C’est disponible maintenant, fonctionne avec une machine virtuelle .NET et tourne sur Mac avec WPE/e (e comme everywhere). C’est révolutionnaire car le SmartClient c’est Windows et cela exploite .NET et DirectX. WPF = HTTP+XML+Flash+DirectX+3D+.NET+… Rémi