Archive de la catégorie Technologies

Walt Mossberg teste Leopard

Wall Street Journal: Walt Mossberg teste Leopard, à consulter sur Blogeek…

Un outil de mesure d’audience “2.0″ : Alenty

Le trafic est parfois difficile à mesurer dans les sites “2.0″, ceci étant principalement dû au fait que l’on ne parle plus de nombre de pages vues. Alenty a développé un logiciel de mesure d’audience qui laisse de côté cette notion - précisément parce qu’un site “2.0″ engage des technos qui jouent plus sur le cache d’une page que sur l’affichage d’une nouvelle page.

A noter : un petit utilitaire à placer sur un blog permettant d’identifier les visiteurs réguliers.

Microsoft Surface ou l’Ipod grandeur nature?

A découvrir sur le blog de Jerome Bouteiller, à l’occasion de la conférence IMAGINE07… Bluffant !

Tendances du web par Loïc Lemeur

David Pogue’s new career

David Pogue, journaliste au NY Times est, tout comme pour mon ex-journaliste préféré sur son blog Torrefaction, devenu officiellement mon Dieu.

“Le journaliste tech le plus taré de la planète.” Après ça, que dire de plus…

Que sont les applications riches (RIA) ? - Partie 2 - Technologies et exemples concrets

By aysoon on web2.0

Après avoir essayé de vous présenter une définition des RIA et les usages auxquels on peut s’attendre pour ce nouvel Internet, je vous propose maintenant, dans cette seconde partie du dossier, de détailler les différents acteurs du marché avec les différentes technologies à travers lesquelles les RIA et RDA peuvent être développées. Puis je listerai des exemples concrets de RIA déjà existantes avant d’étudier le cas particulier des widgets. Toujours épaulé par Fabien Deshayes qui tient un blog sur l’Internet riche (rss), nous allons essayer d’être précissans trop rentrer dans les détails pour autant, afin de garder une vision global du sujet.

Cet article est découpé en 3 parties:

illustration ria

Les différents acteurs du marché des RIA
Pour construire des RIA et des RDA, il existe de nombreuses technologies, toutes relativement récentes, et venant de différents acteurs de l’Internet  pour la plupart. Ce positionnement sur un marché en pleine construction prouve bien que les RIA représentent un investissement d’avenir, alors qu’on en parlait encore peu il y a 3 ans. Parmi ces acteurs on trouve principalement Adobe, Microsoft et Mozilla qui ont chacun développé des technologies différentes et bien évidemment non interopérables. Néanmoins chacune d’entre elles découlent d’une technologie déjà en place chez ces acteurs (comme Flex qui se base sur Flash, etc…) A coté de ces géants du web, de plus en plus d’acteurs essayent de se positionner sur ce marché. Il serait dur de les lister ici de manière exhaustives mais on peut citer Laszlo Systems, AOL ou encore Google qui propose des RIA depuis déjà un moment mais n’a pas de technologie à proprement parlé mais plutôt de puissantes API ouvertes et facilement exploitable.

Les technologies pour créer des RIA
Parmi tous ces acteurs, voici les technologies correspondantes et permettant de concevoir des Application Riches sur Internet (RIA) :

  • Adobe tout d’abord, qui en rachetant Macromedia, a profité de la solution Flex pour évangéliser les RIA. En basant leur solution autour du Flash qui profite de 10 ans d’existence et d’un taux de pénétration de 98%, Adobe joue la carte du graphisme pour ses outils. Maintenant en version 2, et depuis aujourd’hui en béta 1 pour sa troisième version, Flex est une solution robuste disposant de bons outils et d’une communauté.
  • Mozilla est le premier a avoir mis en avant l’utilisation d’un grammaire XML pour décrire une interface “riche”, en tout cas plus que ce que propose l’HTML. Ainsi est sorti XUL, qui permet de décrire des applications riches et qui se base sur l’environnement XulRunner pour s’exécuter. Ces solutions sont bien évidemment open source et gratuites, mais surtout se basant sur des normes certifiées.
  • silverlightMicrosoft est le dernier des trois acteurs majeurs arrivés sur le domaine des RIA très récemment en annonçant lors de sa conférence MIX d’avril dernier Silverlight, un plugin pour navigateur couramment appelé Flash-killer. Bien qu’ayant ses différences avec Flash, Silverlight reste impressionnant pour ses capacités techniques et sa gestion de la vidéo (notion très importante dans les RIA).
  • Même si Google ne fournit pas une technologie à part entière, on l’a dit, le géant californien propose un nombre conséquents d’API permettant de créer des RIA comme API Ajax ou permettant d’utiliser des RIA déjà existantes comme API Maps.
  • openlaszloOpenLaszlo, développé depuis 6 ans en open source par Laszlo Systems, est comparable à Flex dans le sens où il permet de développer des RIA qui seront ensuite visible via le plugin Flash Player, mais peut également générer du html / ajax.
  • Wazaabi est un RCP Eclipse permettant de créer des RIA en J2EE en se basant sur du XUL.
  • Bien évidemment, il existe de nombreuses autres solutions de création de RIA. Pour plus de détails, vous pouvez consulter ces fiches sur les technologies riches.

Les technologies pour créer des RDA
En ce qui concerner les Applications Riches pour Bureau (RDA), les technologies sont encore plus émergentes et donc on trouve moins de choix pour développer des RDA… Mais cela ne cesse de progresser :

  • Au début de l’année, Adobe a sorti en version alpha sa solution de création de RDA, Apollo, qui permet de réaliser des applications Flex mais hors du navigateur, profitant donc des avantages d’une application de bureau. Depuis aujourd’hui, cette technologie est disponible en béta et sous son nouveau nom AIR (Adobe Integrated Runtime).
  • Microsoft a lui proposé WPF pour Windows Presentation Foundation. Cette solution est la couche de présentation du Framework .NET 3.0, et permet de réaliser facilement des interfaces, en se basant également sur le XAML (comme Silverlight). Il peut toutefois gérer plus de fonctionnalités, comme par exemple de la 3D.
  • XUL de Mozilla permet également, en se basant sur l’environnement d’exécution XulRunner, de créer et d’utiliser des RDA. Joost en est le parfait exemple.
  • Il existe d’autres technologies permettant de créer des RDA. Toutefois, la plupart n’en sont qu’à leur prémices et se découvrent petit à petit. Enfin, on pourrait tout de même citer Boxely d’AOL qui propose une approche assez semblable bien que légère, et surtout Dekoh, plus prometteur pour porter des applications Rails sur le bureau.

Des exemples ?
Voici quelques exemples d’applications riches :

  • Intelligent finance mortgage calculator (cliquer sur offset calculation) : c’est application permet de simuler un emprunt bancaire, pour l’achat d’une maison par exemple. Au delà de l’enchainement des formulaires à remplir, il est intéressant de voir la représentation graphique des données (l’échéancier) qui utilise des diagrammes pour permettre de faciliter la vision des paiements à l’utilisateur. L’optique ici est d’offrir, par un graphisme plus poussée, une représentation plus parlante car plus visuelle.
  • Google docs : il s’agit de l’un des nombreux traitements de texte en ligne ; celui-ci est proposé par Google, parmi toute une suite d’applications pourvues d’une même charte graphique. Les fonctionnalités que cette application offre sont basiques mais conviennent à la majorité des besoins, et surtout il décentralise l’information hors de l’ordinateur personnel, en permettant également le travail collaboratif.
  • Top banana (vidéo de démonstration) est une application riche basée autour de la retouche vidéo. Profitant des dernières possibilités technologiques, elle offre une sorte de webtop ou positionner ses vidéos, puis permet de les découper et d’en concaténer plusieurs. La fluidité et la qualité sont bluffantes.
  • Click-shirt.com est une magnifique démonstration de ce qui l’est possible de faire en terme d’e-commerce avec du RIA et laisse facilement imaginer tout ce que l’on va voir petit à petit se développer en termes de ventes en ligne.
  • Picnik est une application riche de retouche de photos en ligne. Elle permet par exemple des traitements simples comme le recadrage ou la mise en noir et blanc, et d’autres plus complexes comme un système anti yeux rouges ou l’application d’effets. De plus, elle propose une dimension sociale en permettant de partager directement ses photos sur FlickR ou facebook.
  • Joost est une application riche de bureau offrant la télévision en haute qualité par l’Internet, grâce à un système de peer-to-peer. Elle offre plusieurs aspects très intéressants au delà de la performance technique : une interface réussie, une bonne gestion de la vidéo, etc.
  • Le comparateur de la Fnac (compatible Internet Explorer uniquement) en version RIA développée grâce Silverligth a été un précurseur dans les RIA françaises et ne constitue encore qu’en prototype créé pour tester la capacité de ses nouvelles technologies.
  • Popfly (vidéo de démonstration )est une application web riche qui permet de faire des mashups facilement en se basant sur Silverlight pour réaliser son but.

Le cas des widgets
widgets Le cas des widgets est très intéressants car il est transverse : on retrouve des widgets sur internet et donc comme un RIA mais aussi sur le bureau comme des RDA. En effet, il existe de plus en plus de plateforme proposant des widgets à intégrer sur son site sous le forme d’une mini application indépendante possédante une interface agréable. Que l’on considère les gadgets de Google, les modules Netvibes, le widget MyBlogLog, celui de Criteo ou encore tous ceux disponibles sur le site Widgetbox.com , les widgets sont entrain d’envahir Internet trouvant toujours plus de nouvelles applications. Parti intégrantes des nouveaux OS comme Vista ou MacOS X Leopard, ces nouveaux éléments interactifs annoncent tout un tas de nouveaux usages du média Internet… J’aurai l’occasion d’aborder le sujet plus en détails dans un prochain billet.

En conclusion
Les RIA ne sont pas une simple nouvelle approche d’Internet. Les principaux acteurs du web de positionnent déjà depuis plusieurs années sur ce qui semble être le devenir des interfaces et usages du web. De nombreux exemples existent déjà sur le web et les développeurs semblent de plus en plus maîtrisent toutes les nouvelles fonctionnalités offertes par ces technologies. Si l’objectif reste le même pour tous à savoir simplifier les usages d’Internet et en rendre l’utilisation toujours plus intuitive et agréable, les approches des différents acteurs ne sont pas les mêmes et les technologies qui en découlent non interopérables ce qui laissent sous entendre comme à chaque fois une lourde concurrence entre eux… Il ne reste plus qu’à imaginer ce que sera le web de demain… un web riche sans aucun doute.

Définitions et usages des applications riches (RIA)

Définition générale de l’Internet Riche
L’Internet riche est le terme souvent employé pour qualifier toutes les nouveaux types d’interface, d’ergonomie ou d’usages que l’on trouve sur Internet. D’un scope très large, ce terme a du mal à trouver une définition exacte car il ne s’agit pas d’un concept nouveau, apparu à une date précise mais plutôt, et comme bien souvent, d’évolutions faites petit à petit sur le Web. Chaque acteur créant une nouvelle application web regarde toujours ce que la concurrence a fait précédemment et c’est en reprenant de bonnes idées et en les améliorant que les grandes évolutions voient le jour. C’est un peu de cette manière que l’Internet riche s’est construit mois après mois. Si des ergonomies nouvelles et par conséquent des usages nouveaux d’Internet ont été les fondations de ce que l’on nomme Internet riche, ce concept englobe aujourd’hui beaucoup de choses et de notions différentes. Que cela soit en fonction de la plateforme sur lesquels les services sont développés : navigateur Internet pour RIA, système d’exploitation directement pour RDA ou que cela soit pour ce qui est des technos qui ont vu le jour autour de ce concept ou encore pour les designs qui ont suivi cette tendance de très près ( les services dit riches sont souvent faits de manières à faciliter l’ajout de composant personnalisables), l’Internet riche regroupe aujourd’hui une multitude de concepts divers et variés trouvant un axe commun dans la volonté de changer les usages et de rendre la navigation toujours plus simple et intuitive.

Le terme (imaginé par Macromedia dans un White Paper en mars 2002 et disponible ici (PDF) pour ceux que cela intéresse) est donné également en comparaison des interfaces que l’on trouvait sur le Web il y a 5 ans. Celles-ci étaient conçu à l’époque de manière très carrée, sans originalité entre les différents sites web et avec le désir de s’occuper plus du fond que de la forme du site. Aujourd’hui, sans négliger le fond bien évidemment, la forme d’un site et son utilisation (re)deviennent deux éléments essentiels dans la conception d’application web. Les RIA permettent d’apporter alors un lot impressionnant de possibilités supplémentaires pour cela. Par ailleurs, on peut être sûr que, d’ici 3-4 ans, ces concepts seront devenus monnaie courante et que l’on se souviendra de l’Internet riche comme une évolution des usages plutôt que comme une révolution d’Internet à part entière.

Enfin et par abus de langage, il est commun d’appeler RIA tout ce qui englobe l’Internet riche même si ce n’est en réalité qu’une partie de toutes les (r)évolutions de l’Internet riche.

Qu’est ce que RIA ?
Les RIA pour Rich Internet Application offrent de nouvelles possibilités aux utilisateurs en les ouvrants au plus grand nombre. Au delà d’un aspect “rich media”, c’est à dire permettant par exemple l’utilisation de vidéos, ou de musique facilement, il faut ajouter une nouvelle perception de la navigation : le modèle de page en page n’existe plus. Les codes ont changés : un bouton de formulaire ne va pas forcément recharger toute la page, il peut par exemple avoir une influence sur une partie de la page ou charger une image. Ce sont des concepts très bien repris par Gmail par exemple, en simulant des comportements d’un vrai client mail, tout en offrant les avantages du net : accès à un même point, de n’importe où. Cela permet donc de décentraliser les données en ligne. Les technologies utilisées ont permis une adaptation simple des utilisateurs car les comportements que l’on retrouve sont plutôt mimés par rapport à une application classique.

Qu’est ce que RDA ?
Les RDA pour Rich Desktop Application apportent ce que l’on trouve sur le web sur le bureau pour une meilleure expérience utilisateur. Ainsi avec cette déportation d’Internet, les possibilités sont plus grandes : l’intégration avec le système d’exploitation est meilleure, de nouvelles fonctionnalités sont disponibles en s’affranchissant du navigateur, ou encore l’application peut fonctionner même déconnectée.

Internet est basé sur le langage de description HTML. Des acteurs ont poussés cette vision (Mozilla, Macromedia) pour définir des interfaces avec plus de composants, plus de possibilités donc. Ces technologies sont devenues de véritables technologies d’interface, non pas simplement destinées à l’Internet mais également à pouvoir décrire toute interface souhaitée. En prenant cette philosophie et en l’appliquant à un domaine où les interfaces sont plutôt lourdes à créer (sur le bureau), les acteurs offrent de nouveaux outils bénéficiant de plusieurs avantages, venus de plusieurs mondes :

  • Le fait d’être connecté, pour garder ses informations décentralisées sur Internet.
  • La possibilité d’être autonome en s’affranchissant du navigateur : une plus grande liberté pour beaucoup de possibilités, comme le stockage en local de données ou le fonctionnement en mode déconnecté.
  • L’utilisation d’outils web (très porté sur la description d’interface) pour faciliter la création d’applications plus lourdes, c’est à dire les applications de bureau.

Il faut voir les RDA comme une ouverture des technologies de RIA, un domaine où plus de possibilités sont présentes pour voir le véritable potentiel exploitable des technologies. Le résultat ? Des applications aux interfaces plus faciles à créer, avec une utilisation plus aisée.

Quels usages des RIA peut-on imaginer ?
L’Internet riche apporte et va apporter une quantité de nouveaux usages qui n’ont de limite que l’imagination des webmasters et développeurs Web. En effet, ces nouvelles interfaces et les technologies qui en découlent permettent d’envisager de nombreuses nouvelles utilisations du web comme par exemple de la retouche photo, de la vidéo ou toute manipulation de contenu “riche” (élément 3D, carte enrichie, etc.) directement à travers un site Internet. Et même si toutes ces nouveautés commencent à peine à arriver, les interfaces web d’hier évoluent déjà petit à petit pour profiter des avantages des RIA comme par exemple la fin du rafraichissement des pages web, le glisser-déposer, la présentation d’informations de type graphiques ou documents avec une réelle interactivité possible, le parcours client simplifié et plus intuitif dans un site de vente en ligne, etc.

Vous l’aurez compris les usages des RIA sont infinis et sont en passe de révolutionner le web d’hier pour le rendre plus accessible et plus intuitif à utiliser. En augmentant l’interactivité avec le visiteur, les créateurs de sites Internet rendent le web de demain encore plus attractif et simple d’emploi.

Conclusion
On l’a dit, l’Internet riche propose une magnifique évolution des usages et des interfaces du web d’hier. En pleine croissance et bien que lancé dès 2002, ce concept n’a pas fini de faire parler de lui. Les plus grands acteurs du web l’ont très vite compris (Google en tête) en développant les outils et services nécessaires à l’envol de ce concept sur le web d’aujourd’hui. De plus, les enjeux qui s’en dégagent semblent énormes pour l’industrie du web à en croire les différentes études que Interfaces-Riches.com annonce :

  • D’après une étude de Scene7, 90% des marketers déclarent vouloir intégrer les technologies riches sur leur site pour améliorer l’expérience utilisateur.
  • D’ici 2008, d’après Gartner Group, 48% des banques auront déployé des clients riches.
  • D’après Forrester, 70% des utilisateurs plébiscitent l’ergonomie de ces nouvelles interfaces.

J’espère que ce premier article vous aura permis de clarifier les choses sur ce sujet assez complexe. Il m’a permis moi de synthétiser les idées que j’en avais et je vous invite à revenir sur le blog pour les deux prochaines parties de cet article à savoir une présentation des technologies RIA à travers des exemples concrets de RIA (à venir) et enfin quelques réponses quant au future des RIA et de l’Internet riche (à venir).

By aysoon on web2.0 

Les différentes technologies d’interfaces riches

Voici une vue d’ensemble des technologies d’interface entre des utilisateurs et des services en ligne (au travers d’un navigateur, d’une application ou d’un terminal mobile) :Panorama des IHM connectés

J’ai essayé de faire un tableau qui soit le plus complet possible et qui tente de faire un peu de prospective sur des technologies émergeantes ou sur des extrapolations (les cases jaunes) :

  • Adobe, qui vient tout juste de sortir la version alpha d’Apollo, et qui parle déjà d’une version mobile (Apollo for Mobile phones in next release!?) ;
  • La fondation Mozilla qui dispose dans ces cartons de nombreux projets d’amélioration pour Firefox 3 (et même Firefox 4 !) dont la possibilité de faire des interfaces riches avec le moteur de rendu Gecko (en exploitant différentes technologies comme XUL, SVG, Canvas ou encore Xforms), de même que l’implémentation des recommandations du W3C sur XBL (Extensible Binding Language, qui permet de faire des widgets en ligne mais qui pourrait être exploité de façon indépendante du navigateur par XulRunner) ;
  • Sun qui bénéficie du soutien du monde Java et peut exploiter des projets open source comme par exemple Glossitope, un moteur de Widget ;
  • Apple sur lequel il court des rumeurs concernant une exploitation plus intensive de Quicktime (Is Apple going to embrace Rich Internet Applications?) ou encore sur une évolution de l’environnement Cocoa pour créer plus facilement des applications connectées comme iTunes (Apple and Rich Internet Applications).

A voir sur le blog de Fred Cavazza

Silverlight et consors (source : SQLI)

By Olivier Ezratty

Les annonces récentes de Microsoft Silverlight, Adobe Apollo et des évolutions de Flex, tout comme celle de JavaFX de Sun donnent un peu le tournis dans le monde des “Rich Internet Applications”. Il y a de quoi y perdre son latin car ces technologies sont toutes concurrentes, mais elles présentent des différences certaines que leurs présentations marketing ne permettent malheureusement pas d’identifier clairement.

Les annonces s’appuient à la fois sur les forces de leurs auteurs, et aussi de leurs faiblesses sur le marché et de leurs ambitions pour les résorber. Tout en surfant sur la vague du Web riche, interactif et multimédia.

Pour faire simple:

  • Microsoft cherche à séduire les concepteurs et designers de sites Web qui sont férus de Flash, alors qu’ils ont déjà plutôt la cote avec les développeurs. Ils veulent se donner une image “multi-plate-forme” pour limiter leur image “propriétaire liée à Windows”. Et se positionnent nettement sur les contenus riches, surtout vidéo.
  • Adobe cherche à séduire les développeurs en entreprise avec Flex et Apollo, des outils plus “sérieux” que Flash. Avec une incursion discrète dans le middleware serveur et une architecture de client riche.
  • Sun pousse l’avantage multi-plate-forme de Java avec JavaFX, ciblant à l’instar de Microsoft à la fois les postes de travail, les mobiles, mais également les set-top-boxes. Mais avec la volonté de simplifier le développement Java d’applications Internet riches.
  • L’open source reste créatif, mais quelque peu fragmenté et sans solution d’ensemble répondant aux besoins du “rich web”. Mais comme ils dominent le reste du web avec les solutions LAMP, ils sont tranquilles pour quelques temps.

Je vais dans ce post tenter de décortiquer ces annonces en commençant par Microsoft.

Microsoft et Silverlight

Silverlight a été annoncé pendant la conférence MIX de Las Vegas de fin avril 2007. C’est une technologie de plug-in pour navigateur permettant d’exécuter des composants logiciels “riches” avec toutes sortes de contenus interactifs, notamment vidéo. Elle ne part pas de zéro puisque c’est le nouveau nom donné à ce qui était jusqu’à présent le WPF/E (Windows Presentation Foundation / Everywhere) dont une version d’évaluation était sortie en décembre 2006.

Silverlight présente plusieurs caractéristiques intéressantes:

  • C’est la mise en oeuvre de l’architecture .NET dans un plug-in pour navigateur Web avec l’incorporation des technologies que l’on retrouve dans .NET et dans Vista: le framework Windows Presentation Framework pour la création d’interfaces graphiques riches et dynamiques, le langage XAML pour la description en XML de ces interfaces, et le support du multilangage (dans la version 1.1 de Silverlight, la 1.0 se contentant de XAML et de JavaScript). C’est donc un bon moyen de promouvoir les interfaces de programmation de Vista au delà de ce système d’exploitation. Avec une caractéristique qui semble faire la distinction avec les concurrents: une excellente rapidité d’exécution des applications.
  • C’est un composant adapté au multimédia, très puissant pour les interfaces animées et la vidéo, supportant la HD (720p) en streaming ou download. A ce titre, Silverlight devrait être une technologie de choix pour les applications grand public de commerce électronique et de télévision numérique, sur PC comme sur set-top-box. Et aussi pour le marché publicitaire, toujours à la recherche de formats originaux et interactifs. Silverlight arrive à point nommé alors que la vidéo envahi littéralement le Web. La technologie repose sur le codec SMTPE VC1 (Windows Media Video) dont la performance en streaming est probablement la meilleure du marché (taux de compression, qualité d’image, charge de serveur).
  • Il remet au goût du jour la notion de “client riche“. La nuance entre client riche et client léger est d’ailleurs de plus en plus ténue, avec tous ces plug-ins popularisés par Flash et autres players média. C’est aussi la consolidation d’un web dont de nombreuses composantes sont et restent propriétaires. Microsoft parle de “Logiciel + service” et pas juste de “Software as a service”. C’est la traduction d’une réalité simple: les solutions logicielles d’aujourd’hui qui exploitent Internet sont la combinaison de logiciels qui tournent sur votre ordinateur (fixe, portable, set-top-box, montre, whatever…) et de logiciels tournant sur des serveurs (qu’on appelle “services”). Bref, après quelques contorsions sémantiques, c’est le bon vieux concept du “client-serveur” qui survit aux générations technologiques. Microsoft se positionne d’ailleurs des deux côtés de la chaîne de valeur avec tout ce qu’il faut du côté client (Silverlight, Vista, clients riches, semi-riches, légers, etc) et du côté services (ce que propose Live: Hotmail, Photos, Contacts, Virtual Earth, Search, authentification et le nouveau Silverlight Streaming, un service web de streaming vidéo avec 4 Go de stockage gratuit ).
  • Une offre très intégrée d’outil de développement d’applications riches: Expression Studio qui comporte quatre composants (Expression Web pour la création d’applications Web en remplacement de FrontPage, Expression Blend pour la création d’applications desktop, Expression Design pour le dessin vectoriel et bitmap - résultat de l’acquisition de Creature House en 2003 et Expression Media pour l’encodage et la gestion des médias - issu de l’acquisition de iViews en 2006). Expression Studio peut être évalué gratuitement par brique. Cette intégration suit un découpage fonctionnel par métier (développeur, designer, média manager) reprenant une vision très taylorienne de la conception de site Web riche. Mais l’approche a ses limites puisqu’Expression Studio ne supporte pas encore l’intégration d’outils de gestion de version (CVS like). On se retrouve donc avec une approche du développement à trois couches: médias/contenus/design, site web, et composants logiciels, ces derniers restant développés avec Visual Studio. L’ergonomie, le look et la cohérence de la suite Expression sont vraiment attirants, par comparaison à ce que l’on trouve chez Adobe ou Sun qui reste très austère (cf exemple avec Blend ci-dessous).

  • Une ouverture qui s’étoffe mais qui reste limitée : le plug-in Silverlight fonctionne sous Windows (y compris Windows Mobile) et MacOS. Il supporte Internet Explorer, Firefox, Opera et Safari. Linux n’est pas au programme et ne le sera pas avant longtemps car Microsoft évite de toucher à ce système par peur du côté viral de la licence GPL (même s’il a des offres qui touchent bien à Linux notamment dans le domaine de la virtualisation). Microsoft s’appuiera donc sur le projet Mono mené par Miguel Iquaza chez Novell pour faire fonctionner Silverlight sous Linux. Du côté développement, Silverlight peut être programmé avec le très populaire langage objet Ruby, en plus des langages classiquement supportés par .NET tels que C# ou Python. L’ouverture n’est par contre pas le fort de Silverlight du côté de la vidéo : il ne supporte que le format SMTPE VC1 (de la HD au mobile). Aucune information n’a filtré sur une éventuelle architecture de codecs pour supporter d’autres formats vidéo. Donc, des conversions de formats sont prévues au programme - avec Expression Media Encoder - pour les Divx, H264, MPEG2 et autres MPEG4. En audio, le choix est légèrement plus ouvert avec le support du WMA et du MP3. Enfin, et ce n’est pas de l’ouverture mais plutôt de la capture de part de marché de concurrent, un outil de conversion est fourni pour passer de Flash à Silverlight.

D’un point de vue pratique, l’installation de Silverlight (1.0 beta) est rapide, avec un téléchargement de moins de 2 Mo. Tout du moins sous Windows Vista ou sous Windows XP SP2 qui disposent déjà du framework .NET. Dans le cas contraire, on est bon pour 50 Mo de téléchargement. Une fois le plug-in installé, on peut tester quelques petites applications de démonstration comme cet outil de présentation de bandes annonces de Fox:

En fait, il y a coexistence entre la bêta de Silverlight 1.0 (2 Mo) et une alpha de Silverlight 1.1 (4 Mo). C’est vraiment un comble! Cette dernière version qui seule supporte la CLR et les langages de programmation de .NET permet de visualiser quelques démonstrations comme ce Silverlight Airlines qui permet visuellement d’identifier le meilleur vol et parcours pour aller d’une ville à une autre des USA:

Dans son lancement de Silverlight, les premières références clients de Microsoft étaient très orientées ‘médias’ et réduites aux USA: CBS (pour un site communautaire en cours de création, à la MySpace), Fox que l’on a déjà vu, Major League Baseball (télévision en direct et à la demande), Skinkers (push streaming vidéo sur mobiles), Limelight Delivery Network (distribution de contenus médias) et enfin Netflix pour la consultation d’extraits vidéos.

Il y avait également quelques logiciels ou matériels en tirant parti: Roxio Buzz, un outil gratuit de montage vidéo relié aux plates-formes de streaming comme Silverlight Streaming (version payante pour supporter les codecs vidéo comme le MPEG2, MPEG4 ou AAC d’Apple), Topbanana de Metaliq, un outil de montage vidéo équivalent issu d’une jeune startup, et enfin Tarari qui annonce un encodeur vidéo matériel (pour le VC1 de Silverlight).

Bref, avec Silverlight, on bénéficie de spécificités de .NET et de Microsoft: un choix de langages de programmation et d’outils de développement modernes, la meilleure performance d’exécution et une plate-forme d’outils de création adaptée à tous les métiers. Par contre, c’est malgré un peu d’ouverture, un monde assez “Microsoft centric”. Vous voulez en savoir plus? L’occasion vous en est donnée en participant à la conférence Mix à Paris, au Cirque d’Hiver, le 21 juin. Vous pouvez aussi lire divers compte rendu de l’annonce de MIX Vegas, notamment chez Fred Cavazza. Et aussi la description assez complète de Silverlight faite par Scott Guthrie de Microsoft Corp.

Au passage, les rumeurs sur l’acquisition de Yahoo par Microsoft me semblent peu fondées. Contrairement à l’idée répandue chez ses détracteurs, Microsoft fait très rarement l’acquisition de concurrents, à fortiori de grande taille. Les redondances entre MSN/Live et Yahoo sont trop conséquentes (mail, messagerie instantanée, portail, blog, partage photo/vidéos, etc) pour qu’une intégration puisse fonctionner sans pertes et fracas. Par contre, il n’est pas impossible que Microsoft discute avec Yahoo de partenariats technologiques divers. Pourquoi pas, relatifs à l’usage chez Yahoo de Silverlight! Mais je peux me tromper, on verra bien…

Sinon, Microsoft vient de faire, comme ça, l’acquisition de aQuantive hier pour la modique somme de $6B. C’est sa plus grosse acquisition historique. Faute d’avoir pu gober DoubleClick, attrapé par Google il y a quelques semaines pour $3B. aQuantive est l’un des principaux concurrents, certes moins connu, de DoubleClick. Il faut dire que aQuantive avait un atout de taille: ils sont basés à Seattle! Mais ceci n’a pas de rapport avec Silverlight, mais plus avec la volonté de Microsoft de monétiser ses services Internet par la publicité, face à l’omniprésent Google.

Adobe, Apollo et Flex

Apollo d’Adobe est l’équivalent le plus proche de Silverlight. A ceci près que ce run-time permet de mixer dans le même composant logiciel du code HTML, JavaScript en plus du Flash et au passage du PDF.

Un plug-in Silverlight sera écrit dans un langage supportant .NET, puis fera appel à XAML pour la description graphique de l’application. Et il sera exécutable dans le contexte d’une page HTML, elle-même rendue par un navigateur. Alors qu’un composant Appolo est en fait une application qui s’exécute directement à partir du bureau.

Du côté outil de développement, Adobe propose Flex pour créer ces applications Apollo. Flex comprend Flex Builder, un environnement de développement (IDE) basé sur Eclipse (illustration ci-dessous), Flex Framework, un modèle de programmation, et Flex Data Services, un service d’accès (écrit en Java) aux données gérant la synchronisation entre client et serveur. L’interface des applications Flex est codée avec MXML, une sorte d’équivalent du XAML de Microsoft.

Sur le poste de travail, l’application Apollo s’exécute avec un run-time Apollo. Une application Flex se contente du Flash Player. Dans les deux cas, on a une bonne vieille application “client riche” dotée des moyens de communication avec les serveurs sur Internet. Voici pour résumer tout cela une cette comparaison schématique d’architecture entre les applications Silverlight, Flex et Apollo (cliquer dessus pour agrandir le schéma):

Au delà de cette notion de client riche “standalone”, ce qui est un peu nouveau dans l’architecture d’Adobe, c’est l’intrusion dans le serveur. Jusqu’à présent, un plug-in Flash s’exécutait tout seul sur le client, sur lequel il avait été téléchargé comme simple fichier à partir d’un serveur. Une application Flex ou Apollo feront appel aux Flex Data Services tournant sur serveur. Ce n’est probablement qu’un début et il ne serait pas étonnant de voir un jour Adobe étoffer son offre de middleware serveur à partir de cette tête de pont.

Un avantage à signaler pour l’offre Adobe: elle est “plus” multiplateforme car l’éditeur supporte lui-même Linux. Même s’il ne supporte officiellement que RedHat et Novell Suse. Sa stratégie pour les mobiles semble par contre moins avancée que celle de Microsoft et de Sun, que l’on verra juste après.

Microsoft et Adobe ont deux approches propriétaires qui se battent en duel. Ils rivalisent d’ouverture dans leur monde propriétaire: Microsoft a fait standardiser le VC1, le C#, la CLR, et a mis en open source la DLR, un bout du run-time de Silverlight. Mais le langage script de Flash, Action Script, est aussi un standard ECMA, organisme convertissant régulièrement des spécifications propriétaires en standards de jure. L’annonce de la mise des outils Flex 3.0 en open source suit cette tendance. Quand ont lit entre les lignes, on constate que seuls certains composants de Flex seront mis en open source. Et que cela ne concerne pas les extensions à Eclipse ni les Flex Data Services. L’approche open source est donc utilisée plus à des fins marketing qu’autre chose, tout en préservant le côté propriétaire des composants clés de la plate-forme Flex et Apollo. A l’instar de Microsoft avec Visual Studio et Expression, le Flex Builder d’Adobe reste bien payant.

Adobe a pour lui la chance qu’a Microsoft dans d’autre domaine : l’inertie de marché. Qui fait qu’il sera difficile de déloger Flash. Le web continuera donc d’être un bric à brac qui voit se côtoyer de nombreuses technologies ouvertes et propriétaires, avec une palanquée de plug-ins et autres composants logiciels incompatibles entre eux.

Avec Adobe, on est donc dans le standard du moment, un peu plus proche des standards Web, et on est plus multi-plate-forme qu’avec Microsoft.

Sun et JavaFX

Sun a annoncé JavaFX quelques jours après l’annonce de Silverlight par Microsoft. On pourrait dire: “en réaction à”. D’un point de vue du timing, c’était à l’occasion de la conférence JavaOne qui avait alors lieu, et de toutes manières, ces choses là ne se préparent pas en quelques semaines. Même s’il apparait que l’annonce est maigre et ne constitue pas une avancée autant que celles d’Adobe ou de Microsoft.

JavaFX Script est un langage de scripting qui fonctionne sur toute machine virtuelle JavaSE. Sorte d’intermédiaire entre Java et JavaScript, il s’appuie sur la bibliothèque de composants Swing servant à décrire les éléments de l’interface graphique. Mais l’ensemble ne semble pas permettre la création d’applications aussi riches visuellement que Silverlight ou Flex.

Alors, où est l’interpréteur de ce langage? L’histoire ne le dit pas et le marketing de Sun est assez obscur de ce point de vue là. L’interpréteur doit se charger avec l’application, étant lui-même écrit en Java. Ou bien JavaFX n’est qu’un nom marketing pour un sous-ensemble de Java ou de JavaScript. En tout cas, ceci n’augure rien de bon en termes de performances. Les applications JavaFX sont des fichiers .jar chargés à partir d’un navigateur et qui s’exécutent ensuite dans leur propre fenêtre.

Sun propose aussi JavaFX Mobile, un middleware pour mobile permettant d’exécuter ces nouveaux scripts. Un bon point pour Java qui est effectivement très présent sur ce marché.

Autre bon point pour Sun et Java, le côté multi-plate-forme qui est bien meilleur que pour Microsoft Silverlight et Adobe Flex/Appolo. Car Java supporte à peu près tout ce qui existe comme système d’exploitation. De plus, JavaFX en open source, of course.

On développe les applications JavaFX à partir de NetBeans, l’environnement de développement gratuit de Sun écrit lui-même en Java.

Donc, what’s new? Pourquoi a-t-on besoin d’un langage de scripting lui-même tournant au dessus de Java? La littérature indique que cela permet d’ouvrir Java à un plus grand nombre de développeurs. Mais n’est-ce pas le rôle de JavaScript? Mystère pour moi…

Sur le site de JavaFX, on pouvait tester quelques petites applications de démonstration comme celle de Motorola qui a l’air bien animée et rapide:

Et une autre de Tesla Motors. Mais, différence notable par rapport aux démonstrations de Microsoft et Adobe: il n’y a pas de vidéos! Pourtant, cela doit être possible.

Au bilan, avec Sun et Java, on n’est pas très avancé, sauf peut-être sur les mobiles où Java est très présent.

Solutions open source

Le monde de l’open source est très divers et son approche est donc assez fragmentée. Même si elle présente l’approche de ne pas être propriétaire et proche des standards du Web.

Historiquement, les évolutions du développement Web dans ce monde passaient par Ajax et ses évolutions comme XAP (soutenu par Nexaweb) ou implémentations diverses comme chez Helmi, tout comme XUL - un vague équivalent open source du XAML de Microsoft - et SVG, un format d’image vectoriel 2D dérivé de XML. (NB: Microsoft fournit aussi une implémentation d’Ajax sur ASP.NET avec Atlas).

C’est le projet OpenLaszlo, d’origine italienne, qui semble le plus proche de Silverlight et de Flex. Il s’appuie sur un langage LZX de description d’interface graphique similaire à XUL (Mozilla Foundation), XAML (Microsoft) et MXML (Adobe) et sur un logiciel serveur qui compile le code pour l’envoyer aux navigateurs au format Shockwave reconnu par le player Flash ou bien en JavaScript. Les quelques démonstrations d’applications réalisées avec sont assez classiques dans la forme.

Enfin, du côté du consortium ObjectWeb, il n’y a pas de signe de vie d’une plate-forme intégrée pour le “rich web”. Ce qui s’explique par l’orientation middleware serveur et développement d’applications en entreprise du consortium et de ses différents membres.

A ce stade, aucune solution open source n’a réussi à véritablement égratigner Adobe côté part de marché, ou Microsoft du côté de la cohérence de l’architecture.

Conclusion

Je constate au vu de ces acteurs du marché que leur marketing est assez cryptique. Leurs explications contiennent peu de schémas qui expliquent qui fait quoi, quel logiciel tourne où et s’interface avec quoi. Le manque de pédagogie est flagrant. Adobe n’est pas trop mauvais, Sun est une catastrophe, et Microsoft se situe entre les deux.

Je note aussi une conséquence de l’émergence de ces applications “riches” qu’il ne faut pas négliger: elle peut fermer l’Internet et notamment empêcher l’indexation de contenus, s’ils sont tous encapsulés dans ces applications.

Bref… net net, Adobe et Microsoft restent les deux acteurs en lice dans ce web propriétaire!

Encore faut-il faire la part des choses sur le marché concerné. Il s’agit ici du marché des “applications riches”. Mais l’essentiel du web, ce sont des applications “pauvres” - certes dynamiques - qui n’ont pas besoin d’être “riches”. Donc, les applications Web développées avec des outils plus traditionnels comme le bon vieux PHP et le JavaScript, continueront de dominer l’Internet pendant longtemps.

La plateforme Flash/Flex

Cette plateforme est constituée des éléments suivants :

  • Le runtime Flash (gratuit) : pour exécuter des contenus au format SWF au sein de pages Web (approche RIA)
  • Le futur runtime Apollo (gratuit) : pour exécuter des contenus au format SWF à partir d’une application embarquée (approche RDA)
  • L’environnement Flash CS3 (payant) : pour développer des contenus SWF statiques
  • L’environnement Flex Builder 2, basé sur Eclipse (payant) : pour développer des contenus SWF dynamiques, en fonction du contexte utilisateur
  • Le Flex 2 SDK (gratuit) : pour générer les contenus SWF dynamiques à partir d’un serveur
  • Le composant serveur Flex Charting 2 (payant) : pour générer des graphiques à la volée
  • Le composant serveur Flex Data 2 services (payant) : pour l’intégration à des données de type Back Office

flex.jpg
Cette plateforme évolue depuis quelques années vers une certaine exhaustivité technologique, qui l’autorise de plus en plus à se mesurer aux plateformes JEE et .NET. Notons cependant que Flash/Flex est orienté Front Office.
Elle est complétée par une offre collaborative (Lifecycle et Acrobat Connect) qui concurrence partiellement les offres de collaboration Microsoft et Lotus.