Après les RIA, voici les RDA

Si vous suivez ce blog régulièrement, alors les RIA (Rich Internet Application) n’ont plus de secrets pour vous. Par contre, connaissez-vous les RDA (Rich Desktop Application) ?

Les RDA sont les applications riches du poste de travail. Comprenez par là que ce sont des applications, au même titre que votre traitement de texte ou votre logiciel de messagerie, sauf que ces applications riches sont déployées à la volée et exécutées sur une machine virtuelle. Gloups ! Et oui, ça calme comme définition, non ? Pour vous aider à bien faire la différence, je vous propose de revenir sur ce que sont les RIA puis de vous donner des exemples concrets de RDA.

RIA = Writely (heu… Google Docs)

Une RIA est une application qui se lance depuis votre navigateur et qui est exécutée à l’intérieur de ce dernier. WritelyGoogle Docs est ainsi un traitement de texte en ligne qui n’est pas installé sur votre poste de travail mais que ressemble à une application traditionnelle.

Les technologies de références pour faire des RIA sont :

  • AJAX ;
  • Flash / Flex ;
  • OpenLaszlo.

RDA = AjaxWrite

Prenons maintenant un autre exemple dans le même domaine : AjaxWrite est également une application en ligne mais qui s’exécute en dehors de votre navigateur. Oui je sais, vous allez me dire : mais… il s’exécute dans la fenêtre de votre navigateur, mais je vous répondrais : pas tout à fait.

C’est là où les choses se compliquent et où j’ai besoin de votre attention. En fait, AjaxWrite n’est pas exécuté par Firefox lui même mais par XulRunner, une sorte de machine virtuelle sur laquelle on peut faire tourner des applications en XUL. C’est un peu complexe à comprendre dans la mesure où Firefox utilise ce fameux XulRunner comme moteur d’affichage.

Donc pour faire simple : il est impossible d’exécuter Google Docs sans Firefox, par contre il est tout à fait possible de faire tourner AjaxWrite sans Firefox (du moment que vous avez installé XulRunner). Vous remarquerez que ce principe de machine virtuelle n’est pas neuf : le langage Java exploite déjà cette architecture depuis son lancement.

Le meilleur des deux mondes

Le principal intérêt des RDA est de pouvoir allier la praticité des RIA (légèreté, pas besoin d’installer l’application pour s’en servir) et la robustesse des applications traditionnelles (temps de réaction, stabilité…). Car il faut bien avouer que Google Docs est une belle prouesse technologique, mais qu’à utiliser au quotidien, c’est un peu pénible (lenteur, plantages).

Il est ainsi tout à fait possible de se connecter à un site, de lancer une application riche de type RDA (qui va se télécharger et s’exécuter à la volée en quelque secondes comme AjaxWrite) et de pouvoir l’utiliser par la suite en mode déconnecté avec une grande souplesse (l’application vérifiant s’il n’y a pas de nouvelle mise à jour à chaque nouvelle utilisation).

Pour rentrer dans des considérations plus techniques, il existe différentes technologies pour faire des RDA :

  • en Java à l’aide de Java Web Start, Eclipse RCP ou encore NetBeans RCP ;
  • en XUL (le langage de description d’interfaces de Mozilla) avec XulRunner ;
  • en XAML (le langage de description d’interfaces de Microsoft) avec la machine virtuelle de Microsoft (SmartClient.Net) ;
  • il faut également parler d’Apollo, le futur player universel d’Adobe (PDF, Flash, HTML) qui va également permettre de faire des choses très itnéressantes.

D’autres exemples ?

Il existe de nombreux exemples de RDA mais celui qui me plait le plus est le Mozilla Amazon Browser (dont j’avais déjà parlé dans un précédent billet il y a plus de deux ans) : une application riche pour parcourir le catalogue d’Amazon que l’on peut installer sur son ordinateur ou exécuter directement en ligne.

Et là vous me direz : et iTunes dans tout ça ?, et je vous répondrais : Ha non, iTunes est une application connectée. Nous sommes donc dans une configuration différente puisqu’il faut installer iTunes et le mettre à jour manuellement. De même pour Google Earth, c’est également une application traditionnelle mais qui se connecte à internet pour récupérer les données cartographiques.

Quelques réserves…

Je suis certain que mes explications feraient hurler des puristes comme Didier, Daniel ou Guillaume, mais voilà… il faut bien que je prenne des raccourcis pour vulgariser une notion complexe à expliquer.

Pourquoi est-ce que je cherche à vulgariser les RDA ? Tout simplement parce que leur potentiel est immense et qu’elles sont peut-être LA solution qui pourrait réconcilier deux mondes qui se font la guerre : les géants des services en ligne (Google, Yahoo!, SalesForce…) et les géants du logiciels (Microsoft, Oracle, MacromediaAdobe…).

Connaissez-vous le WYSIWYB ?

Vous avez forcément entendu parlé du WYSIWYG (What You See Is What You Get), ce mode d’édition qui vous permet de rédiger un texte et de voir directement à quoi va ressembler la mise en forme finale (un peu comme dans votre traitement de texte).

Je vous propose de découvrir aujourd’hui un nouveau concept : le WYSIWYB (What You See Is What You Build). Il s’agit d’un mode entièrement visuel de construction d’applications en ligne. C’est la société Coghead qui présente ce concept avec un service éponyme.

Le principe est de proposer une interface graphique en ligne pour concevoir les écrans d’une application, pour décrire le comportement des différents éléments qui les composent ainsi que les données qui y seront manipulées :

Copie d'écran de Coghead

Tout ça m’a l’air très intéressant, un journaliste de PC World y voit même un signe de la fin des applications traditionnelles (The end of installed software). Je vous ferais un petit compte-rendu dès que j’aurais récupéré un compte de démonstration (beta oblige).

Profession = habilleur de wiki

Le web est formidable… et les métiers qui y sont associés aussi. Alors que la presse « spécialisée » a encore du mal à faire la différence entre webmaster et chef de projet web, je côtoie au quotidien des personnes ayant des intitulés de profession tout à fait surprenant : information architect, community planner, user experience designer, chief blogger, AJAX evangelist

Dernièrement je suis tombé sur une personne dont le métier me parait tout à fait remarquable : Laurent Lunati. Ce personnage est à la croisée de plusieurs chemins (professions ? passions ?) et a notamment participé au projet CraoWiki.

Je n’ai jamais eu l’occasion de le rencontrer (ni même de lui parler), par contre on m’a déjà parlé de son travail (notamment Olivier) et du soin qu’il apporte à la mise en page, à l’habillage graphique, à l’ergonomie ainsi qu’à la sémantique des wikis. Tâche ô combien délicate puisqu’à part quelques initiés, les wikis sont quand même assez déroutant au premier abord.

Bref tout ça pour dire que je trouve cette profession admirable et qu’elle mérite un peu plus de visibilité et de reconnaissance. Bravo Laurent pour ton engagement, ça vaut bien un petit coup de pouce !

Le paperboard ultime ?

J’ai déjà eu l’occasion de vous montrer différentes expérimentations d’environnement de travail interactifs, mais alors celui-là me laisse sans voix : Le MIT Digital Drawing Board.

Est-ce que vous réalisez la puissance de ce truc ? Imaginez un peu ce que cela pourrait donner dans les phases de conception d’un site web ou d’une application en ligne (en apprenant au système à reconnaître les liens, boutons, champs… ainsi que leur comportement).

PS : rien que pour cette vidéo, ça valait le coup de payer 1,65 milliards de dollars.

Cuisinez les flux RSS à votre sauce avec xFruits

Connaissez-vous xFruits ? Il s’agit d’un service qui permet de manipuler de l’information à l’aide des flux RSS.

Logo de xFruits

Vous pouvez ainsi :

  • Créer un flux RSS qui agrège d’autres flux RSS ;
  • Publier votre flux RSS sous forme de page web ;
  • Publier votre flux RSS sous forme de page web à destination des terminaux mobiles ;
  • Publier votre flux flux RSS sous forme d’un fichier PDF ;
  • Générer un flux RSS à partir de mails envoyés…

Bref tout un tas de possibilités que vous pouvez également partager au sein d’une communauté.

Voici deux expérimentations qui vont vous faire comprendre ce service :

  • Mon site en version mobile : xFruits
  • Mes billets en PDF : xFruits

Alors ? Cela vous donne-t-il des idées de recettes à base de RSS ?