Articles étant taggés ‘interfaces-riches’

Native Client, la technologie RIA de Google qui risque de faire long feu

La sortie de Native Client, une technologie encore expérimentale du Google Labs, est passée complètement inaperçue à quelques rares billets près. Le problème n’est pas que les blogueurs soient peu inspirés par cette nouvelle, mais plutôt que ce produit a tellement été mal présenté au public que personne ne sait trop à quoi ça va servir. Pour information il m’a fallu près de deux semaines de cogitation avant d’attaquer la rédaction de ce billet.

Pas réellement un concurrent de Flash ou de AIR

Force est de constater que ce nouveau produit est plutôt obscur, que les explications sont rares et que même les équipes à l’origine de ce projet sont incapables de fournir une explication claire (cf. Native Client: An OS in Your Browser). Pour faire simple, Native Client est une extension que vous installez sur votre ordinateur pour pouvoir exécuter au travers de votre navigateur des applications en ligne écrites en code natif (C ou C++). Si vous avez le courage vous pouvez toujours lire l’annonce officielle mais vous n’y apprendrez pas grand chose de plus : Native Client, A Technology for Running Native Code on the Web.

Ne vous y trompez pas, même s’il est beaucoup question de RIA, NaCl n’est ni un plugin à la Flash ou Silverlight, ni un runtime à la AIR. Ce n’est pas non plus une technologie qui exploite une machine virtuelle à la JavaFX et pour finir c’est encore moins un mini-système d’exploitation. En fait c’est un peu tout ça à la fois (bien que pas tout à fait). Lire à ce sujet : Why Google Native Client is not a Flash competitor.

En tout cas le moins que l’on puisse dire c’est que Native Client laisse un certain nombre d’observateurs avertis très sceptiques : Google Native Client: A Game Changer or an Also-Ran? et Google Native Client: web deluxe, or ActiveX redux?.

Avec Native Client ne gaspillez plus la ressource de votre processeur

Pour bien comprendre tout l’intérêt de Native Client (NaCl pour les intimes), il faut se pencher sur l’architecture des ordinateurs et surtout sur le fonctionnement des plug-in. Pour faire simple un ordinateur est composé de couches matérielles (la carte mère, le processeur, la carte graphique…) et de couches logiciels (le système d’exploitation, les applications…). Quand vous consultez une interface riche en Flash, celle-ci repose sur du code qui est interprété par le plug-in, par le navigateur, par le système d’exploitation et finalement par le processeur. Ce dernier traite l’instruction et remonte un résultat dans l’autre sens. Toutes ces couches sont autant d’intermédiaires qui traduisent, interprêtent et ne font que vous gaspiller de la ressource (mémoire et puissance de calcul). Voilà pourquoi les animations 3D exécutées dans Flash vous paraissent minables comparé à ce que votre carte graphique est capable de faire.

Avec Native Client, la promesse est de ne plus gaspiller cette ressource en évitant les intermédiaires (les différentes couches logicielles) et de faire en sorte que les applications en ligne exécutées dans votre navigateur ne soient que 1% moins lentes que celles qui sont installées sur le système d’exploitation. Lire à ce sujet l’excellent mais très technique article de Samy : Avec Native Client, Google invente l’OS dans le navigateur.

Si la promesse est belle (des performances sans commune mesure) et l’exploit technologie réel, il y a une contre-partie : les applications en ligne doivent être développées en C ou C++. Et c’est là où ça coince : le C et le C++ sont des langages de programmation contraignants qui ne sont pas réellement adaptés aux interfaces riches. Il existe maintenant de nouveaux langages beaucoup plus sophistiqués qui se sont imposés sur ce créneau avec des environnement de développement dédiés beaucoup plus productifs (à l’image d’Eclipse ou de Flex Builder). Donc concrètement pour bénéficier des performances de NaCl il faut revenir 20 ans en arrière et se réapproprier des langages qui font dramatiquement chuter la productivité. En clair il va vous falloir beaucoup plus de temps pour développer la même application. Tout ça pour quoi ? Pour de  meilleures performances, mais est-ce que la performance est réellement un problème ?

PS : Ceci est une tentative naïve de l’auteur d’expliquer de façon simple le fonctionnement des ordinateurs pour pouvoir mieux comprendre la prise de position sur NaCl. Les premières versions de cette explication étaient approximatives et ont engendrés des commentaires très aggréssifs qui ont polués la discussion avec un débat de forme (« le C n’est pas mort et il est plus performant que Java ») au détriment d’une discussion de fond (NaCl est une belle avancée technologique mais qui ne trouvera pas forcément son public dans la mesure où les usages de l’outil informatique sont amenés à beaucoup changés dans les prochaine années, notamment avec les approches centrées sur la collaboration de l’Entreprise 2.0).

Le faux débat de la performance

Oui, la performance est importante, car il en faut pour faire tourner dans votre navigateur des applications équivalentes à ce que vous avez sur votre disque dur. Mais d’un autre côté est-ce que c’est un but légitime ? Traduction : Quel est l’intérêt de faire tourner Word 2007 dans votre navigateur quand un wiki peut vous apporter un bien meilleur service ? Quel est l’intérêt de faire tourner un mastodonte comme Photoshop dans votre navigateur alors que dans 90% des cas vous pouvez vous suffir de Photoshop Express ou de Picnick ?

Nous entrons ici dans la partie délicate de la discussion autour de NaCl, la partie où l’on va se rendre compte que cette technologie est surtout révolutionnaire pour les éditeurs de logiciels, pas pour les concepteurs d’interfaces riches. L’industrie du logiciel est en effet en train de se scinder en deux clans : d’un côté les applications lourdes (Photoshop, 3DSMax…) qui sont avant tout destinées à un petit nombre de professionnels spécialisés dans un domaine et nécessitant beaucoup de ressources (mémoire, puissance de calcul, capacité de stockage…), de l’autre des applications plus légères (SalesForce, Basecamp…) qui sont avant tout orientées collaboration et qui consomment très peu de ressources. Le modèle SaaS est donc parfaitement adapté à la seconde catégorie avec des technologies parfaitement maîtrisées (HTML + Javascript, Flash…) qui ne posent pas de problème de performance.

Vous pourriez me dire que le débat sur la performance est revenu sur le devant de la scène avec la mode des ordinateurs low cost (les EeePC et autres netbooks) qui ne disposent pas du tout de la même puissance de calcul. Pour ce segment bien particulier il serait intéressant de voir s’il est rentable d’adapter des applications desktop existantes pour les reformater aux contraintes de ces ordinateurs (petit écran…). Mais encore une fois la solution se trouve plutôt dans une nouvelle approche de l’outil informatique (avec les intranets wikifiés et les mashups d’entreprise) plutôt que dans l’exploit technique de faire tourner Office 2007 et Vista sur un EeePC.

Ceci est d’autant plus vrai que les dernières versions de navigateurs comme Firefox, Opera ou Chrome ont fait un bond spectaculaire et ont réussi à décupler les performances d’exécution de code Javascript. Et comme une bonne nouvelle ne vient jamais seule, les plug-in progressent aussi à pas de géant puisque Flash 11 et Silverlight 3 devront également marquer une nette rupture de performance avec une prise en charge beaucoup plus poussée de l’accélération matériel, donc un recours plus intensif aux composants hardware (notamment la carte graphique) et moins de gaspillage de mémoire. Ca ne vous rappelle rien ? Bref, toutes ces améliorations à venir nous font relativiser le gain de performance annoncé par NaCl. Mais bon… l’idée n’est pas neuve car Microsoft avait tenté d’introduire une technologie équivalente avec les fameux ActvieX (cf. Google Native Client : Un ActiveX-Like ?) et n’oublions pas non plus que le javascript a ses limites (cf. L’invasion des machines virtuelles).

Donc au final NaCl doit être avant tout considéré comme un environnement d’exécution et de déploiement révolutionnaire car il permet aux éditeurs de ne développer qu’une seule version de leurs applications et de les distribuer via le web (en évitant les circuits de distribution classique avec boîtes et DVD). Vous noterez au passage que cette solution n’a été rendu viable que depuis l’adoption d’une architecture commune (x86) par les constructeurs et éditeurs de système d’exploitation (Microsoft / Windows, Apple / Mac OSX, Linux). Pour en savoir plus sur le potentiel de NaCl dans ce domaine je vous recommande cet article de Louis Naugès : Web 2.0, Lla marginalisation, définitive, de Windows sur les PC.

C’est quoi déjà une interface riche ?

Mais revenons à nos moutons : les interfaces riches. Dans la vision de Google, les interfaces riches sont avant tout destinées à être exploitées dans le cadre d’applications en ligne. Mais cette vision est très réductrice car que fait-on des innombrables interfaces riches qui reposent sur de la vidéo, des animations, du son, des transitions et autres effets spéciaux ?

Même si Native Client intègre un moteur de rendu vectoriel, Flash (et dans une certaine mesure Silverlight) reste la technologie la plus appropriée et de très loin pour faire ce type d’interface. Est-ce que vous vous imaginez faire un carrousel, un configurateur ou un assistant au choix en C ou C++ ? Non bien évidement car ce n’est pas pour cela que ces langages ont été conçus. L’avantage de Flash est d’autant plus net qu’il est couplé avec un environnement de production parfaitement adapté à ce type d’interface ainsi qu’une infinité de bibliothèques prêtes à l’emploi pour gagner du temps. Vous noterez que l’approche de Google centrée sur les applications en ligne se vérifie également avec d’autres produits comme GWT, un framework Ajax qui est exclusivement tourné vers une logique applicative.

Bref, ce n’est pas demain que nous allons voir des studios de production comme 2advanced, Blitz, Megalos ou Soleil Noir abandonner Flash pour faire du C. Ces studios sont capables de faire des prouesses que le C n’autorise pas.

Conclusion

Si nous résumons :

  • NaCl n’est pas un plug-in, c’est un projet encore expérimental qui n’est même pas en phase alpha ;
  • NaCl n’est pas un mini-système d’exploitation, c’est un complément qui permet de court-circuiter des intermédiaires pour profiter des pleines performances du matériel ;
  • NaCl n’est pas concurrent de Flash ou Silverlight qui sont bien plus performants pour faire de belles interfaces riches ;
  • NaCl dépend de langages de programmation (C et C++) qui sont plus plus performant mais plus contraignant ;
  • NaCl propose une approche tout à fait intéressante de la distribution de logiciels, mais les gros éditeurs disposent de leviers très puissants (accords cadres, partenariats, lobbying…) pour défendre leur modèle de distribution (et je ne parle pas que de Microsoft).

Voilà pourquoi NaCl va très certainement chambouler la longue traîne de l’industrie logiciel bien que cette technologie ne soit en l’état pas viable pour survivre sur le marché des RIA. Marché déjà bien encombré avec FlashSilverlightJavaFX ou des acteurs de niche comme Curl ou Unity3D (respectivement pour des applications en ligne d’entreprise et pour des jeux en 3D comme Cmune).

Reste donc deux possibilités : Soit Google fait fortement évoluer son produit pour le rendre réellement attractif (en expliquant clairement ce à quoi il sert et ce qu’il n’est pas), soit NaCl restera une expérimentation intéressante mais qui sera confinée à un usage interne chez Google.

Mes réflexions sur l’édition 2008 de MAX

Troisième et dernier jour à « Milan la grise » et c’est déjà l’heure du départ… et dans la foule celui de faire un bilan sur ce séjour.

Milan la grise

Premier constat : Une dangereuse tendance à la complexification de l’offre avec toujours plus de logiciels pour la création graphique (Photoshop, Illustrator, Fireworks), l’animation (Catalyst, Flash) et le code (Flex Builder, ColdFusion). Il y a donc un écart important entre le discours (simplifier la vie des designeurs / développeurs) et la réalité (une offre toujours plus dense et de nombreuses licences à acquérir). Même si visiblement l’argument massue avancé par Adobe semble être la parfaite transparence du langage FXG qui permet d’échanger des fichiers projets en toute simplicité, il n’empêche que la lisibilité de l’offre et de quels outils ont besoin les équipes va rapidement être problématique.

Deuxième constat, toute cette débauche de bonne volonté (plus de productivité, de confort…) ne semble concerner que trois métiers : designeur, intégrateurs et développeur. Les concepteurs et chefs de projet sont toujours ignorés. Étrange dans la mesure où se sont deux fonctions-clés dans la chaîne de production et où le chef de projet joue justement un rôle central dans l’animation de l’équipe projet et surtout dans la circulation de l’information. Mais où sont donc les outils de supervisation ? Où alors peut-être que les équipes d’Adobe évoluent dans un univers parallèle où un projet de site web débute avec une maquette de site sous Photoshop qui est déjà toute prête et où les équipes de production n’ont qu’un seul projet à gérer à la fois… Comment fait-on SVP pour rejoindre cet univers ?

Idem pour les concepteurs, même si Flash Catalyst apporte un début de réponse, nous sommes encore très loin d’un produit réellement exploitable pour pouvoir concevoir des arboresences, des cas d’utilisation, des scénarios de navigation et surtout des maquettes fonctionnelles qui soient rigoureuses. De plus, la vision d’Adobe est encore bien trop tournée vers les RIA alors que jusqu’à preuve du contraire… le HTML n’est pas mort (enfin il me semble).

Je pense qu’une des clés serait de compléter l’offre avec un service d’espaces projet collaboratifs. Ce type de solution existe déjà mais rien n’est spécifiquement étudié pour les projets web. Adobe aurait ainsi toute légitimité à proposer ceci en l’intégrant aux environnements de création (Creative Suite) et en l’adossant à une plateforme SaaS comme Acrobat.com.

Troisième constat : La course à l’armement avec Silverlight pour les capacités vidéo et 3D. Visiblement les contenus vidéo HD, le dynamique streaming et les casual games en 3D sont en centre de nombreuses attentions et les prochaines versions de ces deux players (Silverlight 3 et flash 11) devraient élever la barre encore plus haut (pour la plus grande joie utilisateurs).

Voilà, il est maintenant tant pour moi de faire mes valises et de rentrer.

Si vous croisez d’autres bilans de ce type sur la conférence, merci de mettre l’URL en commentaire.

En route pour Milan

Comme chaque année en décembre, Adobe organise l’édition européenne de MAX (la grande messe des interfaces riches). Cette année ça se passe à Milan et votre serviteur est déjà sur-place afin de couvrir ces 3 jours de conférences.

Normalement il ne devrait pas y avoir de nouvelles annonces depuis l’édition US (cf. Flash devient une marque ombrelle et autres annonces d’Adobe) mais j’ai quand même hâte de voir tourner les toutes dernières versions de Catalyst et d’en prendre plein la vue lors du keynote (généralement riche en études de cas).

Ce soir c’est sortie en ville avec l’équipe d’Adobe et quelques journalistes mais dès demain matin je serai sur le point à la première heure.

RichCommerce.fr élu meilleur blog e-commerce par la FEVAD

Hier soir j’étais à la grande soirée annuelle de la FEVAD pour l’élection des Favor’i 2008. Beaucoup de beau monde à cette soirée où étaient rassemblés tous les grands noms du commerce en ligne et où deux séries de récompenses ont été attribuées :

Très grosse émotion lors de l’annonce du résultat du meilleur blog e-commerce (où étaient également nominés le Capitaine Commerce et OlivierBlog) puisque c’est RichCommerce.fr qui remporte le trophée :

Le trophée du meilleur blog e-commerce

Cerise sur le gâteau, cette récompense a été annoncée par Loic Lemeur himself (en direct depuis sa webcam).

La suite de la soirée a été sans surprise avec les favoris des internautes : FnacLa RedouteVoyages-SNCFYves Rocher, Cdiscount, eBay, Eveil&Jeux, OfficeDepot. Mention spéciale à la Fnac qui remporte le prix de la performance et à Voyages-SNCF qui remporte le Grand prix du public.

Une équipe de BFM étati également sur-place pour enregistrer une emission spéciale e-commerce (à laquelle j’était convié) qui sera diffusée le 2 décembre prochain :

Enregistrement de l'émission de radio sur BFM

Bon bref, tout ça pour dire que nous sommes très contents avec François d’avoir été récompensé par les professionnels et que cela nous motive à publier encore plus de billets intéressants.

Tant que j’y suis, je vous propose un petit récapitulatif des billets publiés en Novembre :

Merci aux membres du jury pour ce vote et à très bientôt.

Yahoo! Pipes + Photoshop Express = Aviary Peacock

Connaissez-vous la toute dernière suite d’applications en ligne d’Aviary ? Il s’agit d’un ensemble d’outils de création exclusivement disponibles dans la fenêtre de votre navigateur : Aviary Tools. On trouve un peu de tout dans cette suite : création vectorielle, retouche d’image, blender de couleurs, édition vidéo / sonore / 3D…

Mais ce qui m’impressionne le plus est cet incroyable outil d’expérimentations visuelles (« visual laboratory« ) qui permet de créer des images à partir de générateurs et de filtres : Aviary Peacock.

Pour faire simple : vous choisissez un générateur (formes, fractales, nuages, courbes…), vous lui appliquez des effets (floutage, saturation, granulation…), des filtres (couleurs…) et vous jouez ensuite avec les différents paramètres pour modifier le rendu.

L’interface me fait à la fois penser à Yahoo! Pipes (avec une série de briques qui sont autant de générateurs, filtres, effets et un grand panneau de paramètres) et à Photoshop Express (avec ce fond noir et cet aspect neutre) :

L'interface d'Aviary

C’est en tout cas une très bonne source d’inspiration visuelle et une superbe interface dont vous trouverez une visite guidée ici : A video of Peacock in action.

(via Mashable)

Sortie de Silverlight 2 et Flash 10

Hasard du calendrier ou guerre des nerfs ? Toujours est-il que Microsoft et Adobe sortent quasiment en même temps une nouvelle version de leur plug-in :

  • Silverlight 2 avec une prise en charge de contrôles-types (ex : DataGrid, ListBox, Slider, ScrollViewer, Calendar…) et d’habillages (skins), une protection avancée de contenu, une amélioration de la performance serveur et un support avancée de fonctions publicitaire (cf. Silverlight sort enfin sa V.2) ;
  • Flash 10 qui propose quant à lui de nouveaux filtres visuels et autres effets 3D, de mailleures capacités d’indexation et une impression plus fidèle.

Bon… après avoir installé les deux, force est de constater que cette course à la version a ses désavantages :

  • Chrome supporte visiblement très mal ce nouveau Silverlight (sinon ça fonctionne sur IE et Firefox) ;
  • Impossible de faire tourner le module d’upload d’image en Flash sous WordPress.

Rien de très grave, mais il va falloir attendre un peu pour que la retro-compatibilité soit parfaitement assurée.

C’est en tout cas une très bonne chose que nos deux éditeurs tiennent leurs promesse et que cette compétition re-stimule le marché des RIAs. À quand JavaFX 2 et Curl 7 ?

L’actualité du Rich Commerce (Septembre 2008)

Je profite de ce billet récapitulatif pour vous confirmer le report du petit déjeuner sur les widgets et applications marchandes à une date encore non-fixée (mais qui le sera très prochainement). En attendant, voici un petit résumé des plus belles boutiques de rich commerce :

La suite le mois prochain.

Tous au congrès E-commerce 2.0 du 24 Septembre !

Comme chaque année le mois de Septembre voit se rassembler à la porte de Versailles le grand raout annuel du commerce en ligne à l’occasion du Salon E-Commerce.

Grande nouveauté de cette édition 2008 (en plus des stands, formations et conférences) : une série de 3 congrès dont une journée entièrement dédiée au E-commerce 2.0. Pour celles et ceux qui se posent la question, ces congrès sont payants.

Les organisateurs du salon m’ont confié le montage du programme ainsi que le choix des intervenants, attendez-vous donc à une journée riche en enseignements. J’ai donc la lourde tâche d’animer une série de 6 tables rondes et d’orchestrer le témoignage de nombreux annonceurs (Fnac, Pixmania, Shopping.com…) et start-ups (Netvibes, Zlio, FeedBack 2.0…), ainsi que la prise de parole d’acteurs spécialisés comme BazaarVoice, Webreport, Looneo ou encore Tangane :

  • La matinée sera consacrée au social shopping avec une genèse des communautés en ligne, un décryptage du fonctionnement des communautés d’acheteurs et un œil sur les aspects légaux et la gestion de l’identité / de la réputation en ligne.
  • L’après-midi sera consacrée au rich commerce avec une présentation des bénéfices des interfaces riches associées au commerce en ligne, avec un focus sur les widgets et applications marchandes et un peu de prospective autour du m-business de la 3D et v-business.

Bref, que du beau monde et un programme bien chargé. Pour voir le programme et vous inscrire, c’est ici : Congrès E-commerce 2.0.

Venez nombreux !