World's best presentation Contest

vendredi 11 mai 2007
La manière de faire une présentation et le support utilisé sont des éléments à mon avis indispensables à la communication, pour faire passer un message de manière efficace. Au fond, c'est un peu le même but que l'expérience utilisateur : arriver à toucher les gens par divers moyens, notamment visuels.

Slide share : world's best presentation contest

Ainsi je voudrais vous parler du World's Best Presentation Contest, organisé par slideshare.net : un jury de "gourous de la présentation" (notamment Jerry Weissman, Guy Kawasaki et Garr Reynolds (une de mes lectures favorites)) a du choisir les trois meilleures supports de présentation envoyées par les utilisateurs de slideshare.

Je trouve le résultat très bon, notamment la présentation du vainqueur : Shift Happens. Qu'ont en commun les meilleurs supports ? Guy Kawasaki en dit qu'ils ont tous trois qualités : big fonts, big graphics, and a “storytelling” orientation.

Vous trouverez sur le site de slideshare les résultats complets avec également le choix des internautes.

Sun présente JavaFX

jeudi 10 mai 2007
Lors de sa conférence JavaOne, Sun a présenté JavaFX et se lance dans le domaine de la RIA. JavaFX est composé de deux briques (pour l'instant) :
  • JavaFX Script qui est un langage de script permettant de décrire des interfaces, en se basant sur des bibliothèques de composants Swing (pour ceux qui connaissent, ce sont des éléments graphiques 2D en Java)
  • JavaFX Mobile, permettant l'exécution de ce dernier langage sur mobile. En effet, JavaFX fonctionne grâce à la machine virtuelle Java standard (appellée JRE).
Sun présente donc une technologie multi-supports (bureau, navigateurs, mobiles) et bien sur multi-OS. Le projet JavaFX devrait également passer open source pour la suite, bien qu'il n'y ai pas de réelles roadmaps.

Personnellement, je trouve cette première présentation de la technologie un peu limtié. Bien que Sun ait une base solide (le Java, un runtime très répandu, etc.), je trouve l'idée très mal adaptée : le langage de script est basé sur Swing qui sont à mon avis des composants assez loin d'être riches. Bien que JavaFX soit là pour simplifier la description d'interfaces, je pense qu'il faut une séparation plus nette pour apporter une richesse aux applications et offrir des expériences utilisateurs.

J'attends de voir les premières applications et démonstrations proposées, mais j'ai plus l'impression que Sun arrive tard avec peu de moyens, et dit se lancer dans le domaine des RIA pour rattraper son retard sur le développement d'interfaces, qui selon moi n'a jamais été le fort de ce langage. A suivre tout de même...

Fiche suivante des technologies riches, avec la présentation de Microsoft Silverlight.

Présentation

Silverlight est l'arme de Microsoft pour son entrée dans le domaine des RIA. Autrefois appellé WPF/E (Windows Presentation Foundation / Everywhere), cette technologie a été renommée Silverlight puis présentée à tout le monde lors du MIX 07 à Las Vegas. Certains le qualifient de Flash killer tant ses qualités ont impressionnées, notamment dans le domaine de la vidéo. Silverlight est donc un plugin multi système d'exploitation (Windows, Mac OS) et multi navigateur.(IE, Firefox, Opera, Safari); permettant d'offrir de nouvelles expériences aux utilisateurs. Microsoft ne cesse de rappeler que leur offre permet de créer des expériences, terme répété et assez explicite.

Silverlight

Le principe


On pourrait diviser le principe de fonctionnement de Silverlight en trois parties :
  • Tout d'abord, la description de l'interface qui est écrite en XAML, une grammaire XML comme on en trouve maintenant dans quasiment chaque technologie d'interfaces.
  • Ensuite, et c'est certainement l'un des points forts de Silverlight, Microsoft propose une gamme d'outils pour créer des applications riches, appellée Microsoft Expression. Ces outils permettent donc de facilement créer des applications, mais surtout de personnaliser les interfaces pour offrir de vraies expériences adaptées.
  • La troisième partie concerne la partie plus applicative et métier d'une application. Il faut savoir que Silverlight intègre le CLR (Common Language Runtime), c'est à dire la machine virtuelle .NET. Elle permettra à terme à des développeurs utilisant des langages différents (tels que Ruby ou Python) de créer leurs applications utilisables avec Silverlight. Voici un petit schéma explicatif :

Pour plus de détails, Microsoft propose un diagramme très complet des capacités de Silverlight, découpé en plusieurs couches : le framework de données, de communication et de présentation. Je trouve ce diagramme excellent et très "parlant" pour ceux souhaitant se faire une idée technique de ce que propose Silverlight, notamment en terme de présentation (mais qu'est-ce donc que ces "story-boards" ???)

Architecture de Microsoft Silverlight
.

Les outils

La gamme d'outils pour Silverlight est assez imposante. Microsoft s'appuie sur Visual Studio pour toute la partie métier / code, et propose sa nouvelle gamme Expression pour toute la partie nouvelle, très orienté interface / design. On peut dire que cette gamme d'outils est un point très important pour Microsoft car ces logiciels ont du retard à rattraper face aux produits Adobe.

Les exemples

Il n'existe pas encore d'applications Silverlight "grand public", mais de nombreuses démonstrations sont disponibles sur le site de la communauté Silverlight. Voici donc mon top 3 :
  • Silverlight Airlines : choisissez une date, relier deux villes avec votre souris et vous n'avez plus qu'à comparer les vols ! Sympathique et très joli. (Nécessite Silverlight 1.1 alpha)
  • Grand Piano : un exemple de ce qui est réalisable facilement avec Expression Blend. C'est également un sample de la version d'essai de ce produit. (Nécessite Silverlight 1.0 bêta)
  • Un sympathique jeu d'échecs en Javascript ou en .NET (Nécessite Silverlight 1.1 alpha)
Bien que les applications soient pour la plupart agréables, fluides et assez différentes, aucune pour le moment n'a la grandeur d'une vraie application riche. Attendons donc les premières applications "réelles" de Silverlight. Je citerais tout de même les intéressants Top Banana (vidéo) ou le lecteur de la Fox qui montrent le potentiel au niveau vidéo de Silverlight.

Les points forts

Les points forts de Silverlight sont nombreux. Microsoft a rendu de très nombreuses personnes enthousiastes lors de sa conférence MIX07 et les premières réactions sont bonnes : beaucoup de personnes voit un gros potentiel dans ce petit plugin qui permet par exemple de diffuser de la vidéo Haute Définition. De plus, Microsoft est dans une phase d'ouverture et le fait que Silverlight fonctionne sur Mac et sur différents navigateurs est un pas significatif.

J'ajouterais également que le fait d'embarquer la machine virtuelle de .NET dans le plugin est très impressionnant bien que très technique. Mais je m'interroge tout de même sur l'intérêt de cette "prouesse". Cela peut-il surcharger un produit qui devrait être orienté au maximum vers la création d'interfaces et surtout d'expériences ? A voir, mais je pense que l'un des éléments déterminants sera le taux d'adoption et donc la qualité de ses outils, notamment la gamme Expression.

Liens, pour en savoir plus

Récapitulatif

Microsoft se donne les moyens d'arriver dans le domaine des RIA et personne autre qu'eux n'ont les moyens pour réussir à s'imposer alors que d'autres technologies sont là depuis de nombreuses années. Dans sa volonté de changement et d'ouverture, Microsoft offre une technologie radicalement nouvelle, basé sur des concepts très actuels. Les différences sont tout de même nombreuses avec Flash par exemple, et il faudra tout de même attendre un peu la réaction des développeurs / utilisateurs avant de pouvoir classifier Silverlight correctement. En tout cas, Microsoft frappe fort avec son produit et ce ne peut être que bénéfique pour l'utilisateur.
Adobe vient d'annoncer le passage en open source de Flex, sa solution de développement d'applications riches. Après le projet Tamarin avec Mozilla, Adobe commence à tendre vers l'open source de manière plus importante. Voici donc quelques réflexions autour de la stratégie d'Adobe :

Quels gains ?

Quel est l'apport premier pour Adobe d'ouvrir Flex ? Tout simplement d'accueillir de nouveaux développeurs, ceux qui préfèrent compter sur de l'open source plutôt que des logiciels/solutions propriétaires. Certains développeurs sont rassurés qu'un produit soit open source : en effet, un éditeur peut à tout moment arrêter le support sur une technologie, et laisser les utilisateurs à l'abandon. Derrière un projet open source se trouve une communauté, des gens motivés qui ne sont pas tenus à faire du profit avec leur projet. Si le projet "tombe à l'eau", il est alors toujours possible pour le développeur de le prendre en main et de l'adapter à ses besoins : l'open source, c'est avant tout la diffusion du code source d'une technologie (dans notre cas, du compilateur Flex et Action Script entre autres).
L'autre gain est l'ouverture au plus grand nombre : Adobe veut que son outil prenne de l'importance et en passant l'open source, elle augmente son nombre de testeurs et de développeurs, pouvant concentrer ses efforts sur autre chose.

Pourquoi le Flex Builder (environnement de développement) n'est-il pas open source ?

Certainement pour pouvoir garantir à leur clients qu'il existe des outils stables, "certifiés" par Adobe. Certains pensent qu'Adobe conserve son Flex Builder car il est payant et ne souhaite donc pas l'ouvrir à d'autres. Les remarques sont les mêmes envers Flex Data Services par exemple. Je ne pense pas que cela soit un argument valable : en effet, quand on voit le chiffre d'affaires d'Adobe, on se rend compte que la majorité des revenus viennent des outils créatifs (tels que la Creative Suite) : Flex et le Flex Builder (dans le segment Entreprise et outils de développement) ne représentent que 6% du chiffres d'affaires du groupe (et il n'y a pas que Flex dans ce segment). (source : les revenus par segments du premier quarter d'Adobe, ainsi que la répartition des produits par segment). Je pense par contre que certaines entreprises sont tout à fait prêtes à dépenser 500$ pour une environnement de développement performant et fiable.

Pourquoi "lâcher" Flex alors que l'écho autour de cette technologie commence à se faire ressentir ?

Adobe veut se concentrer sur les outils pour créer des applications riches, et pas seulement Flex, mais aussi dans une cadre plus large Apollo et la Creative Suite 3. Sur ce dernier point, Adobe possède les outils les plus utilisés du marché et souhaite faire interagir Flex et sa suite créative, espérant créer un environnement de création d'applications, et non simplement de développement. En lâchant Flex, Adobe se concentre sur ses outils "satellites".

Quel futur pour Flex ?

Flex 3 est actuellement version alpha privée et devrait voir le jour lors de la seconde moitié de 2007, peu avant ou après Apollo. Après seulement Flex sera totalement open source. Adobe a t'il prévu une roadmap pour une version 4 de Flex ? Je ne pense pas. Flex commence à être complet et ses limites sont plutôt celles du Flash Player ou des outils qui l'entourent. En laissant Flex au main de la communauté open source, Adobe va certainement concentrer ses efforts sur Apollo et la Creative Suite. Que penser du futur de Flex ? Je pense surtout qu'on verra de légères modifications apparaître au fur et à mesure, telles que de nouveaux petits composants, des améliorations de performances, etc.

Et pour Apollo ?

J'ai déjà livré mes réflexions autour de la possible ouverture d'Apollo. A mon avis, on risque de voir Apollo passer en open source, mais pas très rapidement. Adobe a déjà des roadmaps sous la main pour la suite et voudra garder le contrôle d'Apollo un petit moment...

Qu'est-ce qui se cache derrière cette "ouverture" ?

Sur ce point, je pense que la stratégie d'Adobe est claire : se rapprocher de la communauté open source pour contrer Microsoft et son Silverlight qui se base sur la technologie propriétaire .NET. En tout cas, je pense que ce mouvement d'Adobe va faire bouger d'autres concurrents : Open Laszlo, dont le principal argument contre Flex était l'ouverture, se dirige dans sa version 4 vers d'autres supports. En ce qui concerne XULRunner, je m'interroge. C'est certes une très bonne technologie, mais son développement ne s'orientera t'il pas autour de Firefox et en faire un "super navigateur", plutôt qu'une plate forme complète, accessible et riche pour créer des applications riches de bureau ?

Pourquoi ne pas ouvrir le Flash Player ?

Beaucoup de gens réclament cette ouverture, et Ryan Stewart en a fait un long article sur son blog. D'un coté, le player est déjà répandu sur la plupart des postes ; il existe depuis 10 ans, existe pour Windows, Mac, Linux (et même Solaris !) ; bref, pourquoi l'ouvrir alors que jusqu'ici, le Flash Player est une réussite ? De l'autre coté, l'ouverture offrirait plus de développeurs et donc un meilleur produit, qui pourrait amener à vendre plus de produits (notamment dans la Creative Suite). Bien qu'apparrement cela ne soit pas à l'ordre du jour, la question mérite d'être posée.

Rechercher