Benchmarks RIA

mardi 9 octobre 2007
Voilà une application de benchmark très intéressante pour toute personne concernée par des applications à forte consommation, que ce soit en bande passante ou en données traitées. Ce benchmark compare les temps de traitement et de rapatriement, ainsi que la consommation de bande passantes, sur quelques technologies RIA et de différentes manières (selon les protocoles utilisés).

Benchmark de traitements de données

Bien que relativement technique, cette application permet un comparatif intéressant entre des technologies n'ayant pas les mêmes résultats selon le nombre de données à traiter et des protocoles plus rapides ou moins gourmands. Que retirer de ce benchmark ? Et bien que les protocoles qui ne sont pas textuels sont beaucoup plus rapides : je pense notamment à AMF (Action Message Format) qui offre un véritable gain de temps sur le parsing et l'envoi des données, ce qui n'est pas étonnant car c'est un protocole binaire manipulant directement des objets ActionScript et non uniquement du texte.

Un autre benchmark bien connu est celui des bulles qui rebondissent : il ne s'agit pas du même moyen de comparaison, ce dernier étant plus axé sur l'aspect graphique. Les résultats sont très complets et embrassent une grande partie des technologies RIA. Que peut-on conclure ? Là encore, pas de conclusions hâtives, mais toutefois un léger avantage pour Silverlight qui s'en sort le mieux. Toutefois, on peut souligner le meilleur comportement de la technologie Flex sur un plus grand nombre de balles (128), comparé au Java ou au DHTML.

Benchmark graphique

Quelques benchmarks intéressants, qui mériteraient peut-être un tableau récapitulatif. Connaissez-vous d'autres benchmarks de technologie RIA ? Quel sont les aspects d'une application riches les plus enclins à être benchmarkés pour juger de la qualité de la technologie ?

Application riche #14 : Panraven

vendredi 10 août 2007
De la même manière que Mixbook, Panraven permet de créer ses propres albums photos sur Internet puis de récupérer l'objet final (un album photo non virtuel) via un paiement. Au fond l'idée est simple : il est plus rapide de créer un album photo sur l'ordinateur, mais plus agréable de le consulter "en vrai". Au final, le prix est de plus moins cher par ce système.

Panraven
Une page d'un album Panraven

Panraven propose a quelques éléments près les mêmes fonctionnalités que Mixbook : importation des photos, modèles pré-définis, ajout et édition de texte, positionnement des éléments, etc. Je ne vous refais pas la liste, mais je souligne que les possibilités sont toutefois moins importantes chez Panraven.

Pour avoir joué un peu avec les deux applications Mixbook et Panraven, je trouve que la première se démarque par son expérience utilisateur. Tout est très intuitif, simple et rapide. Au contraire, Panraven est parfois plus laborieux : téléchargement nécessaire pour uploader des photos, chargements plus longs, navigation entre les pages moins fluides : des petits inconvénients qui gâche l'expérience que peut ressentir l'utilisateur à l'utilisation.

Panraven
Différents types de modèles sont proposés.

Alors pourquoi un tel écart ? Je pense tout simplement que c'est là toute la différence entre une technologie créé pour les RIA (Flex pour Mixbook) et une autre "étirée" pour d'autres usages que ceux initiaux (Ajax pour Panraven). Certes, l'utilisation adéquate du HTML/XML/Javascript apporte  un certain confort à l'application Panraven, mais limite les possibilités offertes. Dans un domaine nécessitant la manipulation d'éléments graphiques tels que des images, Flash apporte un véritable plus.

Je conclurais en insistant une fois de plus sur l'excellente idée qu'est ce modèle de construction d'album photos dématérialisé, puis récupéré sous forme d'objet. Je ne sais pas si la qualité des albums une fois imprimé est bonne, mais je suis enthousiaste à l'idée de créer mon album de vacances grâce à une RIA.

Ajax : une technologie RIA ?

vendredi 25 mai 2007
Suite à la lecture de cette discussion sur Web Worker Daily et de celle-ci chez Fred Cavazza, je me pose la question de savoir si l'on peut qualifier Ajax de technologie RIA. En effet, bien qu'il soit possible de réaliser de véritables applications riches en se basant sur du Javascript / XML / DOM (que je simplifierais par Ajax, bien que ce ne soit pas une technologie en soit, veuillez me pardonner par avance pour ce raccourci rapide) comme par exemple le modèle Gmail, je pense que les véritables utilisations de l'Ajax concernent plus l'ajout de petites touches permettant d'améliorer la navigation et le confort de l'utilisateur, et non de créer une expérience qui donne envie à l'utilisateur de revenir utiliser l'application.

Je m'explique : Ajax est très bon pour améliorer certains éléments typiques d'une page web : un formulaire en plusieurs partie par exemple. L'utilisation d'Ajax sur des actions concrètes est amplement justifiée. Exemples :
  • La validation à la volée d'un champ (par exemple, la vérification de la longueur d'un mot de passe).
  • Le passage à la suite du formulaire sans devoir scroller ou recharger la page entière.
  • L'apparition de bulles d'informations complémentaires au survol d'une zone.
  • Et bien d'autres que vous et moi rencontrons chaque jour.
Ecran de login de Technorati
Technorati utilise l'Ajax pour offrir un écran de login sans recharger la page

Pourquoi se limiter à de petites actions ? Plusieurs raisons pour cela. Déjà, développer en Ajax rend le débuggage délicat, car nécessitant une vérification systématique sur chaque plateforme. La courbe du temps nécessaire (et de la difficulté) est donc exponentielle : plus l'utilisation d'Ajax est poussée et multipliée, plus le temps passé à vérifier et corriger le code sera long.

Formulaire en Ajax
Autre utilisation simple d'Ajax : un formulaire où la vérification s'effectue à la volée...
Formulaire Ajax 2
... se remplit bien plus rapidement ! (Remember the milk)

Bien évidemment il faut nuancer ces derniers propos : il existe de très bons frameworks Ajax qui s'occupent de gérer ces problèmes. De plus, quand on voit le résultat produit par Google par exemple, ou Netvibes, on ne peut qu'applaudir le travail réalisé et admettre que de véritables applications internet riches peuvent êtres conçues en s'aidant de l'Ajax.

Toutefois, Ajax n'est qu'un mélange de technologies poussées vers quelque chose pour lesquelles elles n'ont pas été prévues à la base. Ce n'est pas avec du HTML qu'on doit pouvoir glisser des éléments sur une page pour les déposer dans un panier... En fait, je pense que le concept est déjà bien tiré vers ses limites et que les évolutions futures tendent vers zéro.

Pour répondre à la question du titre de ce billet : OUI, Ajax est une technologie RIA. Mais ce n'est pas et ne devrait pas être son emploi premier. En fait, il faut voir que ce n'est pas la technologie qui fait la RIA, mais l'utilisation qu'on en fait, tout simplement.
Voilà quasiment 5 mois que j'ai proposé les premières fiches concernant des technologies. Comme dans l'informatique tout va vite (et certainement très vite cette année en ce qui concerne les RIA et les RDA), je viens de les mettre à jour, notamment pour modifier quelques numéros de version ou corriger quelques erreurs. Vous retrouverez donc :
Evidemment maintenant je pense qu'il faudrait en rajouter quelques unes... (WPF/e, Slingshot, Eclipse RCP, etc.) A méditer tout de même sur le caractère riche de certaines technologies.

Rechercher