Adobe Max 2009 – Jour 2 (suite)

Suite de la seconde journée de conférences à l’Adobe Max 2009.

RIA Design Strategies for Business and Product Owners

IMG_0844

Aaron Adams de l’agence Cynergy à propos des facteurs-clés de succès des interfaces riches :

  • L’étude sur le terrain est clé pour bien comprendre le contexte et les contraintes d’usage ;
  • La modélisation des processus permet de simplifier la compréhension de l’enchaînement des tâches et les interactions entre les différents types d’utilisateurs (rôles) ;
  • Il existe plusieurs niveaux de prototypage (plus ou moins précis) ;IMG_0846
  • Les schémas de conception des sites web sont parfois trop restrictifs, il faut plutôt s’inspirer des schémas de conception des applications ;
  • Les tableaux ne sont pas forcément le seul moyen de représenter des données ;
  • La scénarisation des écrans ainsi que les transitions sont essentielles pour faciliter la compréhension d’une interface et pour concentrer l’attention.

C’est étrange mais j’ai vraiment l’impression d’avoir vu cette présentation plusieurs fois… Peut-être est-ce bon signe car cela prouve que les avis convergent.

Max Awards

Comme chaque année nous avons la traditionnelle remise des Max Awards qui récompense les meilleures réalisations et c’est un authentique chevalier Jedi qui préside cette session 2009 : Mark Hamill.

IMG_0854

Cette année il y a 8 catégories :

  • Advertising & Branding = Pepsi Max It (un jeu en ligne avec la possibilité de contrôler une sorte de tirette comme dans les fêtes foraines) ;
  • Education = PD360 par School Improvement Network (une application en ligne pour publier du matériel éducatif) ;
  • Enterprise Productivity = i3Cube (une solution de gestion d’expérimentations médicales) ;
  • Entertainment = MLB Media Player 4.0 (l’offre de VoD de la ligue de baseball US) ;
  • Mobile = QNX Car Application Platform (une plateforme de widgets pour voitures) ;
  • Public Sector = CommandSim (urn serious game pour l’équivalent de la protection civil) ;
  • Social Computing = SmallWorlds (un casual MMO dont j’ai déjà parlé plusieurs fois) ;
  • Social Responsability = Replay: Finding Zoe (une histoire interactive pour accepter les différences des autres).

Une belle moisson de prix pour cette édition 2009 dont les extraits vidéos sont à découvrir ici : Max Awards.

Sneak Peeks

Mark Hamill et Ted Patrick sont sur scène pour une présentation des différents projets en cours de gestation :

  • Thin Gaming Client pour une expérimentation de Cloud-gaming sur netbooks et iPod Touch (c’est donc du streaming vidéo d’un jeu qui est exécuté sur le serveur) ;

IMG_0856

  • Un moteur physique dans Flash pour simuler des comportements réalistes (collisions…) ;IMG_0857
  • Smart Paste in Dreamweaver pour un copier / coller intelligent en mixant des données XML avec un design Illustrator dans Dreamweaver ;
  • Flex Mobile avec une application mobile développée avec… Flex ;
  • Projet « Rome », un outil d’édition simplifié (à mi-chemin entre Flash et Photoshop) qui repose sur AIR (mais peut être exécuté dans le navigateur) ;

IMG_0859

  • Developer Cloud pour du développement avec des services hébergés dans les nuages ;
  • Selective Undo in Fireworks pour l’annulation sélective de modifications dans Fireworks ;
  • Patchmatch for images, un algorithme de correction de photos qui respecte le contexte de la photo (très impressionnant).

Comme toujours les Sneak Peeks sont très technique et l’on y voit surtout beaucoup de code. Et comme toujours, la traditionnelle démo des algorithmes expérimentaux de Photoshop a bluffée tout le monde (heureusement que nos députés travaillent sur la loi Photoshop). Il est certain que les possibilités de manipulation des images vont très certainement franchir un nouveau stade.

Google lance O3D, un plug-in pour faire de la 3D dans le navigateur

Grosse surprise hier soir avec le lancement par Google de O3D, un plug-in permettant de faire de la 3D dans votre navigateur : Introducing O3D. Cerise sur le gâteau, ce plug-in (et les technologies qui vont derrière) sont publié en open source sous licence BSD : Toward an open web standard for 3D graphics.

Voici une démonstration de ce que le plug-in est capable de faire :

De la 3D dans mon navigateur ?

Oui tout a fait, de la vraie 3D qui utilise la technique du shading pour représenter des objets ou scènes 3D importés depuis des éditeurs comme Google Sketchup, 3ds Max ou Maya.

Mais pour cela il vous faut installer un plug-in (5,3 Mo) qui est disponible sur différents navigateurs et systèmes d’exploitation :

  • Windows XP SP2 ou Vista SP1 avec Firefox 2 et +, Internet Explorer 7 et +, Google Chrome
  • Mac OS X 10.5 (Leopard) avec Firefox 2 et +, Safari 3 et + ou Camino
  • Linux (instructions de compilation fournies)

Pour renter dans les détails techniques, ce plug-in permet de mettre à contribution votre carte graphique via DirectX9 ou OpenGL. Le rendu 3D est généré à partir d’un nouveau langage (le O3D Shading Language) ainsi que le moteur javascript « maison » V8 (le même qui propulse Chrome) :

o3dsoftwarestack

Et le rendu est impressionnant, je vous invite pour cela à découvrir la galerie d’exemples avec la fameuse Beach Scene :

Exemple de scene 3D avec O3D
Exemple de scene 3D avec O3D

Mais il y a également de belles démonstrations du moteur physique dont Box2DJS in 3D :

Le moteur physique en action de O3D
Le moteur physique en action de O3D

De même qu’un configurateur d’intérieur (Home Configurator) :

Le configurateur d'intérieur de O3D
Le configurateur d'intérieur de O3D

Et il y a même des petits jeux concocté par les équipes de Google (Checkers et Prince IO: The SketchUp Knight) :

Le jeu en 3D de O3D
Le jeu en 3D de O3D

Chose intéressante, comme c’est du javascript, les applications 3D peuvent être utilisées en mode hors-ligne avec Google Gears.

D’après le chef de projet (Henry Bridge) et le directeur technique (Matt Papakipos), l’objectif de O3D est de rendre les informations plus accessibles (par le biais de représentations 3D) et d’intégrer dans le navigateur du contenu 3D à la manière de Google Earth. Pour en savoir plus c’est ici : Google joins effort for 3D Web standard with new plugin.

Avons-nous besoin d’un nouveau standard 3D ?

Voilà la question de fond que l’on est en droit de se poser car :

Donc sur ce coup là, c’est bein Google contre le reste de l’industrie (ATI, AMD, Nvidia, Intel, IBM, Sun, Apple, Sony… et tout une tripotée d’industriels qui ont rejoint l’initiative Khronos afin de capitaliser sur OpenGL – cf. About the Khronos Group). Ce qui est vraiment très étrange dans cette histoire c’est que Google a pourtant rejoint le groupe Khronos… mais développe ses propres spécifications qui du coup vont rentrer en concurrence avec la futur extension Canvas:3D de Firefox 3.5 (cf. Bringing accelerated 3D to the web). Ils auraient visiblement l’intention de faire converger les deux (O3D et Canvas:3D) mais pour le moment ils préfèrent avoir une plus grande marge de manoeuvre et faire tranquillement évoluer leur technologie.

Tout ceci est donc conforme à la « culture Google » de jouer sur l’ambigüité avec des technologies dont le code source est publié mais qu’ils se chargent eux-mêmes de faire évoluer comme c’est le cas pour Android, Chrome ou Native Client. Il y a donc fort à parier que Google va tenter d’imposer son standard en s’appuyant sur sa force de frappe technique. Réussiront-ils à convaincre les industriels du secteur ? Difficile à dire pour le moment tant ils évoluent dans deux mondes différents (hardware pour les uns et services en ligne pour Google).

Premières réflexions sur O3D

Passé les premiers tests, il est maintenant temps d’analyser à chaud cette annonce :

  1. Avant toute chose, ne nous emballons pas, O3D n’est pour le moment qu’un prototype technologique uniquement destiné aux développeurs (donc dans un contexte similaire à Native Client – lire à ce sujet : Native Client, la technologie RIA de Google qui risque de faire long feu) ;
  2. Ma préférence va  à Unity3D qui propose un rendu plus fluide pour un plug-in qui s’installe « à chaud » (contrairement à O3D qui nécessite un redémarrage) ;
  3. Si Google ambitionne de révolutionner les jeux en ligne en apportant la 3D dans le navigateur c’est raté car il existe de nombreux acteurs de niche qui sont bien mieux positionnés dont Unity qui propose un environnement d’édition très performant (lire à ce sujet : Après les Rich Internet Applications, les Rich Internet Games ? et Et on reparle des Rich Internet Games) ;
  4. Ça commence à faire beaucoup de plug-in entre O3D, Gears et NaCl ! Ne serait-ce pas une honteuse stratégie pour nous faire comprendre que le plus simple est d’utiliser Chrome ? ;
  5. Va-t-on assister à une résurrection de Lively dans la mesure où Google sait donner une seconde chance à ses produits (notamment Jaiku qui a été racheté puis abandonné puis publié en open source) et où Google voulait en faire une plateforme de jeux (cf. Lively deviendra-t-il une plateforme de jeux ?) ;
  6. Au final, cette histoire de plug-in 3D pour des jeux en ligne ne serait-elle pas un moyen de booster un secteur qui va lui rapporter de l’argent via son programmes In-Game Advertising et concurrencer ainsi Microsoft avec Massive ?

Bref, j’ai comme l’impression qu’il y a une histoire de gros sous et que ce n’est pas juste un prototype technique.

Mes réflexions sur Silverlight 3 et la stratégie RIA de Microsoft

L’édition 2009 du MIX s’achève et comme à chaque fois, Microsoft nous a régalé avec de nombreuses annonces. Oublions le faste et les paillettes de Las Vegas pour prendre du recul et analyser à froid (tiède ?) la teneur de ce qui a été annoncé.

mix09_canyon_1.jpg
Adieu Las Veags et le Grand Canyon

Silverlight 3 et IE8

Annoncé il y a moins de trois ans, Silverlight en est déjà à sa troisième version. Une version par an c’est beaucoup, c’est même énorme pour un acteur de la taille de Microsoft. La preuve qu’ils mettent les bouchées double pour rattraper leur retard sur Flash et s’imposer sur un créneau où Adobe a beaucoup de mal à s’implanter : les RIA d’entreprise. Car ce sont bien les entreprises qui sont la cible principale de Microsoft, tout est fait pour capitaliser sur le framework .Net sur lequel Microsoft a énormément investi (temps et argent).

Le grand public n’est pas en reste avec un focus sur le streaming vidéo et la HD. Petit à petit Microsoft est en train de faire mûrir son offre et sa légitimité avec des partenariats industriels (notamment Akamai) et des partenaires média (NBC, France Television…). Cette approche verticalisée me fait penser à celle d’Apple et QuickTime qui s’est imposé sur la niche des bandes annonces. Sur ce créneau, les ambitions sont clairement affichées : concurrencer le marché des DVD avec de la VOD de qualité et les services qui vont avec. Les disques Blu-ray sont-ils également menacés ? Pourquoi pas, c’est juste une question de débit.

Concernant IE8, il n‘y a pas grand chose à dire : ils sont complètement largés face à une concurrence acharnée de la part de Mozilla (Firefox), Google (Chrome), Apple (Safari) et même Opera. Mon analyse : à quoi bon se battre pour conserver les parts de marché des navigateurs alors qu’ils peuvent noyauter les concurrents avec Silverlight ?

Expression

Débarqué récemment sur un terrain où on ne les attendait pas du tout, Microsoft continue de capitaliser sur la suite Expression qui adresse trois populations distinctes : les designers avec Design, les intégrateurs avec Web et les animateurs avec Blend (désolé pour ce terme barbare mais je n’ai rein trouvé de mieux). Avec SketchFlow il adresse une nouvelle cible (les concepteurs) qui jusque là avait été largement délaissée (laissant quelques miettes à des acteurs de niche comme Axure).

Intégrer un quatrième profil est donc une très bonne chose car ils remontent ainsi encore plus haut dans la chaine de création et peuvent à terme lancer un quatrième produit (qui pourrait potentiellement s’appeler « Flow« ).

Restera alors une cinquième population à cibler (les chefs de projet) qui seraient ravi d’avoir entre les mains un outil de pilotage du projet et de collaboration (avec les équipes internes / externes, le client…). Pourquoi pas une offre hébergée à la Basecamp ? Cela collerait tout à fiat avec la philosophie S+S chère à Ray Ozzie.

Un effort considérable est également réalisé pour développer l’écosystème SL et pour mobiliser une communauté de développeurs (une extension de MSDN ?). Macromedia disposait d’un écosystème incroyablement dense qu’Adobe n’a pas su conserver (changement de marque et de cible). Il y a donc des places à prendre pour convaincre une communauté que la complexité de la gamme Adobe peut rendre sceptique (Photoshop vs. Illustrator vs. Fireworks, Flash Pro vs. Flex Builder…). Sur ce point précis, Microsoft n’a pas a gérer la complexité de l’héritage de nombreux produits.

J’attends donc avec impatience la réponse d’Adobe avec le futur Flash 11 et surtout avec l’évolution de Flash Catalyst, et je vous donne rendez-vous l’année prochaine pour découvrir Silverlight 4 !

MIX09 : Jour 1

2 H 30 : Réveil (très) matinal pour moi ce matin à cause du décalage horaire, pas grave, ça me laisse comme ça le temps de me préparer et surtout de lire les dernières news (IBM rachèterais Sun, Google sort une nouvelle beta de Chrome…). Je me console avec un Expresso à la vanille format XXL et un donught.

mix09_donought

7 H 00 : Lever de soleil (artificiel) sur le place Saint-Marc (artificielle elle aussi). Je suis un des premiers à me présenter à la Registration pour récupérer mon badge et les surprises du Welcome Pack : Une invitation pour un tout nouveau service (Microsoft Translation Widget),un CD de musique (CD ?) ainsi que le livre de Bill Buxton (Sketching User Experience).

mix09_saintmarc

7 H 15 : Le buffet n’attend que moi, il va en prendre pour son grade ! Je profite du déjeuner pour faire connaissance avec le CTO de MapInfo (spécialisé dans le géo-marketing) qui nous fait l’article sur FireLocator.net, un agrégateur d’informations cartographiées sur les incendies.

8 H 55 : La grande salle se remplit pour la première Keynote, les spéculations vont bon train sur les éventuelles annonces de ce matin.

mix09_keynote1

Keynote

C’est Bill Buxton qui ouvre cette conférence avec un discours sur l’expérience utilisateur :

  • Histoire du design industriel au travers de différents exemples (Kodak, Bell, Apple…) ;
  • Les ingénieurs conçoivent des objets, les designeurs conçoivent des expériences ;
  • L’important n’est pas de trouver la bonne réponse mais de poser les bonnes questions ;
  • Importance du sketching pour multiplier les itérations et explorer le plus d’alternatives possibles ;
  • L’équipe UX de Microsoft a énormément augmentée ces dernières années avec l’arrivée de Bill il y a 3 ans (deux exemples : Arc, Zune…) ;
  • Démo Silverlight / DeepZoom : Comment reproduire une expérience complexe (ultra-zoom) avec un client riche.

mix09_billbuxton

Scott Guthrie prend la suite avec les nouveautés et nouvelles versions d’outils Web :

  • Microsoft Web Platform = Tools and Technologies for Next Generation Web Application ;
  • Démo de la future nouvelle version de Expression Web (meilleure intégration des standards, gestion multilingue, CSS diagnostic, SuperPreview = prévisualisation sur différents moteurs de rendu avec comparaisons side-by-side et superpositions) ;

mix09_superpreview

  • Plusieurs nouveaux produits (ASP.net MVC 1.0, ASP.net 4, Visual Studio 10, Web Server Extensions, Commerce Server 2009…) ;
  • Présentation du Microsoft Web Platform Installer (téléchargement unique, mises à jour automatiques) ;
  • Présentation de Windows Web App Gallery (briques technologiques gratuites pour Windows Server = AppStore pour votre serveur web) ;
  • Microsoft BizSpark = un programme pour aider les start-ups (l’équivalent du programme Idée en France) ;
  • Démo de StackOverflow.com (une FAQ collaborative pour les développeurs).

On parle ensuite de Silverlight 3 :

  • Seulement 18 mois d’ancienneté et de très gros progrès ;
  • Nouvelles versions du Worldwide Telescope et Virtual Earth (qui reposent maintenant sur Silverlight) ;
  • Nouvelles fonctions RIA = accélération matérielle, Perspective 3D, Pixel shader effects, améliorations de DeepZoom, Deep linking, meilleur SEO, meilleur rendu du texte, support du multi-touch, +100 contrôleurs disponibles…
  • Nouveaux codec supportés = H.264, AAC et MPEG-4 ;
  • Amélioration des fonctions de media analytics ;
  • Démo de Netflix :
    • Le serveur de streaming repose sur Silverlight ;
    • Bénéfices = interopérabilité (browser et plateformes), adaptive streaming… ;
    • Gros efforts de réalisés sur le processus d’installation qui exploite PlayReady ( ?) ;
    • Itérations très courtes sur le player (toutes les 2 semaines) ;
    • L’applications Silverlight sert de laboratoire d’innovation pour déployer sur les autre supports (Xbox…) ;
    • Prochaines évolutions = accélération matérielle avec la V3 de Silverlight.
  • Retour d’expérience de NBC sur la retransmission web des J.O. (52 M de visiteurs, 75 M de vidéos jouées) – La prochaine version pour les J.O. d’hiver de Vancouver sera encore améliorée (100% smooth streaming, full 720p HD, slow motion, metadata overlay…) ;
  • Démo de Vertigo / Bondi :
    • Implémentation de Silverlight / DeepZoom sur les archives de magazines papier avec fonction de browsing très intuitive, recherche et URL lisibles ;
    • Lancement cet été de CoverToCover.com avec un grand nombre de magazines (dont le RollingStone Magazine) ;mix09_rollingstone
    • PlayboyArchive.com dispo dès maintenant !
  • Démonstration d’une application métier en SL3 avec les Web Forms.

Une démo dédiée à Blend 3 :

  • Grosse surprise avec SketchFlow, un outil de prototypage rapide présenté par Jon Haris :
    • Permet de définir un Application Flow (à mi-chein entre arborescence et workflow) ;mix09_sf1
    • Usage d’une bibliothèque de composants pour créer les écrans (façon Balsamiq) ;mix09_sf3
    • Transformation d’une vue ‘croquis’ à une vue interface (avec les composants standards de Silverlight) ;
    • Possibilité de compiler des croquis pour les publier sur un environnement de collaboration (avec gestion des différentes versions de chaque écran ainsi que des transitions, possibilité de laisser des commentaireset des annotations sur l’écran) ;mix09_sf2
    • Génération automatique d’un document de spécification sous Word ;
    • Génération de données brutes (latin, bolobolo) ou importations de données réelles (XML).
  • Import de fichiers Photoshop / Illustrator avec récupération des calques ;
  • Behaviors = Ajouter de l’interaction à des éléments de l’interface.

Démonstration des capacités ‘Out of the Browser‘ pour Silverlight 3 :

  • Expérience simplissime et sécurisée (sandbox), mise à jour automatique ;
  • Gestion du mode hors ligne (avec re-synchronisation) ;
  • Intégration fine avec l’OS ;
  • Démonstration avec KEXP.org et du KEXP Player = une application à part entière avec envoie de commentaires en live et exploitation de contenus hors-ligne (vidéo).

mix09_kexp

Le mot de la fin : Silverlight 3 est 40Ko plus léger que la V.2 et surtout est disponible dès aujourd’hui !

Ce SketchFlow est une énorme surprise pour moi car même si j’avais entendu des rumeurs, la démo de ce matin était très prometeuse.

En sortant de la keynote j’avale un déjeuner rapide et je vais faire un tour du côté du Xbox Lounge :

mix09_xbox

À suivre…

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.

milangris

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.

Adobe MAX08 : Jour 2

Nette amélioration de la situation à Milan avec un beau soleil et des transports à nouveau fonctionnels. Deuxième journée de conférence avec de très intéressantes sessions.

General Session

benforta

Ambiance Men in Black pour une démonstration de Flash et Photoshop CS4 :

  • Prise en charge avancée de MXML ;
  • Insertion d’une « structure osseuse » à un objet pour pouvoir l’animer et le déformer (avec des os et des articulations) ;
  • Déformation intelligente des images en exploitant les zones creuses sans compresser les sujets principaux ;
  • Application de textures et motifs aux objets 3D.

Nouvelle démonstration de Flash Catalyst avec une description encore plus fine des composants d’une interface (barres de défilement, différents états…) et plus de richesse dans les comportements (déformations, rotations 3D…).

Inévitable revue de code avec les nouveautés du futur Flex Builder :

  • Possibilité d’interpréter du code C ou C++ dans Flash avec AS3 ;
  • Prise en charge de nouveaux formats comme RAW et PDF dans Flash ;
  • Démonstration d’un émulateur en C d’un console Nintendo avec AIR (ça sert à rien mais c’est toujours sympa).

Amélioration des capacités de référencement des contenus Flash et Flex avec l’élaboration conjointe par Google et Adobe d’un virtual user qui sait bien mieux discerner les textes, boutons, liens…

Démonstration des nouvelles fonctions de dynamic streaming de Flash Video (pour s’aligner sur ce que propose Microsoft avec Silverlight) et du live streaming (avec possibilité de jouer avec la timeline pour passer du flux live à l’enregistrement).

Nouvelle stratégie communautaire sur groups.adobe.com (un réseau social dédié aux utilisateurs de produits Adobe) avec les classiques profils, groupes, événements… prise en charge de nombreuses langues (internationalisation de l’interface prévue pour 2009).

Interviews avec Andrew Shorten et Ryan Stewart

J’ai eu la chance de pouvoir interviewer deux évangélistes de renom chez Adobe (Andrew Shorten et Ryan Stewart).

Concernant la multiplication des logiciels, scinder l’offre leur permet de mieux répondre aux attentes des différentes populations, voilà pourquoi nous sommes passer de Flash à Flash Pro + Flex Builder + Flash Catalyst.

Il existe chez Adobe un groupe de travail sur les workflows pour pouvoir mieux comprendre les contraintes « métier » des agences.

Concernant Flash 10 et la 3D, la dernière version du Flash Player utilise déjà l’accélération matériel pour les fonctions vidéos et pour le pixel bender (ce n’est le processeur mais la carte graphique qui est sollicitée). Il va donc falloir s’attendre à des effets graphiques encore plus spectaculaires dans le futur Flash 11.

Le casual gaming est un secteur particulièrement porteur où Flash est en position ultra-dominante, les équipes d’Adobe y porte une attention toute particulière pour ne pas perdre l’héritage de Shockwave (un des plus anciens portails).

Architecture 4.0

architecture4

Hervé Crespel, directeur de l’innovation chez Orange, sur les architectures de quatrième génération :

  • Les générations accompagnent des changements technologiques majeurs (interfaces textuelles, Client/Serveur, Web) ;
  • Les piliers des architectures de quatrième génération = Interfaces riches, comportements et interactions déportés sur le poste client, gestion de la collaboration et de la synchronisation, API & mashup, data-on-the-cloud…) ;
  • Les interfaces riches ne sont pas nouvelles (un service comme le one screen reservation de iHotelier existe depuis 2001) ;
  • Cette architecture n’est pas sans problème (gestion du cache, du mode déconnecté, des conflits lors de l’édition simultanée) ;
  • Évolution du modèle IHM (interface homme-machine) vers un modèle IHS (interface homme-service) ;
  • Le challenge du futur sera de construire des applications en ligne viables avec des composants partagés et remplaçables.

Wireframing experience et applications

wireframing

Enfin une session entièrement dédiée aux aspects prototypage et documentation :

  • Le gros problème avec les outils de prototypage actuellement utilisés (Visio, PPT) est qu’ils produisent des livrables sur lesquels il n’est pas possible de capitaliser ;
  • Flash Catalyst introduit la notion de Freeform UI sketching en piochant dans le catalogue de composants graphiques de Flex ;
  • Possibilité de partager des composants entre les différents écrans du prototype ;
  • Les custom components fonctionnent comme des modules indépendants qui peuvent être utilisés dans différentes pages / états ;
  • Les action sequences sont idéales pour les animations et autres comportements exotiques ;
  • Possibilité de rajouter des conditions dans le code source pour enrichir encore plus le comportement des modules ;
  • Le processus de substitution d’un élément d’interface brut par un élément designé (sous Photoshop ou Illustrator) a été facilité.

MAX Awards

Michelle Turner et Ted Patrick pour révéler la liste des gagnants :

Sneaks Peek

Très intéressante session où ont été présentés une dizaine de projet expérimentaux (dont seul une petite partie risque de se concrétiser) :

sneakspeek

Dans la catégorie Client :

  • RTMFP Application-level Multicast in Flash Player, qui permet de faire dialoguer deux Flash player en mode P2P ;
  • Nitro, un environnement de conception / création / distribution de widgets multi-supports ;
  • Durango, un outil de création de mashup qui repose sur AIR.

Dans la catégorie Services :

  • Connecting Live Cycle and Creative Suite, un espace de collaboration entre les équipes de production vidéo et le commanditaire ;
  • Meer Meer, un service de test multi browser / OS très impressionnant qui permet de faire de l’affichage comparatif de plusieurs versions côte à côte et même superposées (le rêve des intégrateurs HTML) ;
  • Server-Side Action Script Server, la possibilité de faite tourner du code AS sur le serveur (visiblement ça a beaucoup plu aux développeurs présents dans la salle…).

Dans la catégorie Tools :

  • Content Intelligence Toolkit, un outil de création de meta-données sur des contenus vidéos avec reconnaissance de formes, de visages et même transcription de la bande son (très impressionnant) ;
  • Image Compositing, un outils de composition d’images avec une intégration très puissante d’éléments graphiques dans une scène déjà existante (détourage automatisé, gestion de la luminosité et des ombres…), idéal pour faire du scrapbooking sans que ça y ressemble ;
  • Dreamweaver’s Support for Web Widgets, une extension pour… gérer les widgets web dans Dreamweaver ;
  • Infinite Images, un outils de création de scènes 3D en compilant un certain nombre d’image et offrant la possibilité de naviguer au sein de cette scène (assez proche de Photosynth) avec un gros potentiel artistique car il est possible de définir des évènements pour substituer une image par une autre et ne jamais passer deux fois au même endroit.

Plein de belles démos et une salle enthousiasmée par ces prototypes.

A demain pour la suite.