mardi, octobre 24

Le client web en mode déconnecté arrive

C'est une petite révolution qui s'apprête à se produire avec l'arrivée imminente de scrybe qui propose une application de calendrier web fonctionnant en mode déconnecté.
En lisant la description du service, je me suis dit "ils embarquent probablement un petit serveur web à installer qui prend le relais lors de la déconnexion"... et puis j'ai lu : "aucune installation d'aucune sorte". Ca m'a paru bizarre, mais c'est en réalité tout à fait possible.

Première possibilité : le pattern "richer plug-in"
Flash ou Java permettent d'écrire des données sur le poste client et donc de créer le cache local nécessaire. Flash et Java étant maintenant très répandus, on peut en effet considérer qu'une telle application n'impose aucune installation sur le poste client.

Seconde possibilité : le pattern "gâteaux-gâteaux"
Ce pattern devrait rester dans les tiroirs tant il pose de problème... mais développons un peu. Les cookies sont un moyen de stocker des données en local lorsque l'application est déconnectée et ne fonctionne qu'à coups de javascript.
Deux énormes soucis néanmoins : le premier est que les cookies sont petits (vous n'avez droit qu'à 20 cookies de 4 ko chacun : c'est TRES peu), le second est que les cookies sont fragiles : il est non seulement facile de les effacer, mais en plus le navigateur les efface peu à peu de lui-même lorsqu'il atteint la limite de 300 cookies ! Tout cela est donc très amusant conceptuellement mais pas réellement envisageable dans la vraie vie.

Troisième possbilité : le pattern "browser features"
Le but est ici d'utiliser les particularités des navigateurs couramment utilisés pour arriver à notre objectif. Ajax marche comme ça par exemple : on utilise deux techniques différentes (un contrôle ActiveX avec Internet Explorer et l'objet XmlHttpRequest avec Firefox) pour arriver au même but.
Notre objectif étant de stocker des données en local avec javascript, que peut-on envisager ? Là encore le duo Windows/Internet Explorer nous offre la possibilité d'un composant ActiveX pour lire et écrire des fichiers texte sur le poste client. Du côté de Firefox, depuis la très récente sortie de la version 2.0, il est possible d'utiliser un stockage local, une sorte de "super-cookies" n'ayant pas les restrictions évoquées plus haut... le pari semble donc jouable, même si aucune implémentation n'en est connue à ce jour !

Conclusion de tout ça : avec l'arrivée d'applications web fonctionnant en mode déconnecté, une des dernières restrictions à l'adoption massive du mode web pour les applicatifs est en train de tomber... plus que jamais, la révolution est en marche !


PS : j'ai appris aujourd'hui que c'est Flash qui avait été utilisé pour Scrybe

jeudi, octobre 19

Retour sur les derniers exploits de Google

Après avoir autant que possible limiter l'inflation de posts sur Google, je craque. Oui, je l'avoue, l'actualité a été telle que je ne peux m'empêcher, malgré toutes mes bonnes résolutions, de souffler à nouveau quelques petits mots ce qui est désormais pour moi l'emblème de la génération web 2.0.

Le webtop en a donc pris un sacré coup avec l'arrivée surprise de Google Docs and Spreadsheets qui fait désormais du Google Office la référence en matière de webtop unifié (mail, agenda, tableur, traitement de texte). Seuls bémols : la page d'accueil Google n'est pas toujours pas au niveau d'un Netvibes et GTalk reste un univers fermé (Meebo n'ayant pas encore son équivalent chez Google, probablement pour des raisons stratégiques d'ailleurs).

La bulle 2.0 a quant à elle encore un peu enflé grâce au gros paquet de billets mis par Google pour prendre YouTube. Et là, j'avoue être très surpris par la démesure de cet achat : selon mes propres calculs, cela revient à "acheter" $45 l'utilisateur de YouTube, là où habituellement Google paye entre 2 et 3 dollars annuels (cf. les cas Dell, Firefox et MySpace). Si l'on ajoute à cela les terribles problèmes auxquels Google va devoir faire face suite à ce rachat (droits sur les videos, comptes d'exploitation fortement négatifs)... ça paraît d'autant plus étrange !

Enfin l'extraordinaire retour en grâce de Google chez nos amis de Techcrunch n'en finit pas de m'étonner, tout comme les explications des contributeurs de ce blog sur le fait qu'ils n'ont absolument pas changé d'analyse sur le sujet... alors mauvaise foi ou procès d'intention de ma part ? à vous de juger !

lundi, octobre 9

What is web 2.0, un an après : les prophéties d'O'Reilly au révélateur de l'actualité

Cela fait désormais à peu près un an que le bon Tim nous a légué ce joli morceau qu'est "what is web 2.0" : une leçon de clairvoyance au pays des marketeux et autres chercheurs de tendance en mal de nouveaux labels.
Si vous trainez ici, c'est que vous connaissez déjà probablement ses 7 grandes leçons... mais avez-vous pris le temps de regarder le chemin qu'avait parcouru notre (déjà) vieux web vers la terre promise ? Non ? Alors, posez votre bâton de pélerin et arrêtez-vous ici quelques instants...

Première leçon, probablement à la base de toutes les autres, "le web en tant que plate-forme" est une réalité que personne n'ose aujourd'hui contester tant les progrès accomplis sont flagrants :
- la promesse d'un webtop rendant le desktop obsolète se réalise peu à peu à travers des outils chaque jour plus nombreux mais aussi plus efficaces : messageries instantanées, traitements de texte, mails, tableurs...
- tous les services modernes en ligne sont désormais compatibles avec Firefox, affranchissant définitivement le web grand public de tout produit Microsoft (ie6 et Windows) ou d'une autre plate-forme technique d'accès au web.
- les connexions permanentes ont continué à se mutliplier et à les tuyaux nous reliant au réseau des réseaux ont encore grossi.

C'est au second point, "tirer parti de l'intelligence collective", que le social web dont on vous a tant rabattu les oreilles entre en jeu. Le tagging est désormais partout, les systèmes de votes et les commentaires aussi. Le wiki n'est plus une blague mais un truc hype tandis que les réseaux et autres communautés se mettent à valoir de l'or.
Je dois dire que je suis réservé sur ce point : si Digg est une incontestable réussite, il est resté un service essentiellement consommé par les technophiles. De même les fameux Flickr et del.icio.us restent des produits de consommateurs avertis.
Seules exceptions : MySpace et YouTube mais qui ont marqué avant tout des points grâce à un marketing viral rarement vu à une telle échelle. D'ailleurs pour l'un et l'autre de ces services, l'intelligence collective n'est que très accessoire, c'est le bon vieil effet communautaire qui joue là avant tout.
Donc, rien de réellement révolutionnaire pour l'instant, et le web 2.0 cherche encore l'équivalent de ce que fut à son époque l'arrivée du PageRank.

Si l'on se souvient que "la puissance est dans les données", alors on peut dire que le web continue à monter en puissance : nos vieilles mapemondes s'affinent à une vitesse impressionnante, les blogs fleurissent en même temps que leur contenu, des bases de données en tout genre deviennent disponibles... oui, ce nouveau paradigme était terriblement bien énoncé par O'Reilly et l'on sait désormais qu'il risque de se vérifier pour un bon bout de temps.

"La fin des cycles de release" n'a jamais été le point de l'article fondateur à m'avoir le plus emballé. Je suis personnellement las de toutes ces bêtas qui n'en finissent pas et si je suis un fervent de l'XP programming, je ne l'ai pas vu se répandre autant que cela semblait énoncé. Pour le moment, parmi les grands, seul Google et sa galaxie de produits semblent appliquer ses principes... les années à venir devraient néanmoins voir les autres migrer vers ce concept indiscutablement performant.

Qu'en est-il de ces "modèles de programmation légers" évoqués étant comme le nouveau modèle à suivre ? Difficile à dire... je crois néanmoins que là aussi, un certain nombre de progrès sont observables :
- REST qui prend de plus en plus le pas sur SOAP
- le phénomène Ruby (via RubyOnRails) qui rejoint les PHP et autres Python au royaume de la simplicité populaire et efficace.
- l'esprit "small is beautiful" (attention, c'est un ressenti 100% subjectif) qui règne sur la toile : SQLite ou LigHTTPD ne sont plus (disons plutôt moins) regardés de haut tandis que les Struts, et autres Oracle apparaissent de moins en moins comme les références incontournables pour tout "projet sérieux".

Une partie essentielle pour moi, "le logiciel se libère du PC", ne s'est pas encore réalisé comme je l'avais envisagé : le "mobtop" (le desktop sur téléphone portable) met du temps à se démocratiser tandis que la consommation du web par des appareils portables tels que l'Ipod reste limitée. D'importantes réserves de croissance à long terme du web (ou plutôt, d'internet en général) sont pourtant là. J'irais même jusqu'à dire que la massification de ce phénomène sera probablement à la base d'un prochain cycle de croissance.

Enfin, plus personne n'a besoin d'être convaincu des possibilités d'"enrichir les interfaces utilisateur". Ajax et Flash ont l'un et l'autre continué à progresser pour offrir un confort d'utilisation sans commune mesure avec nos vieux sites 1.0. La marge de progression est néanmoins encore considérable et bien des défis restent à relever dans l'amélioration de l'expérience utilisateur web.

En résumé, une bonne partie du web 2.0 reste encore à construire : l'observation de la toile durant cette dernière année montre que la webosphère prend bel et bien le chemin indiqué par le prophète... mais que la route semble encore longue, très longue même si l'on regarde tous ces dinosaures du monde applicatif qui n'ont pas encore bougé !

jeudi, octobre 5

Vers un environnement de développement AJAX de référence...

A l'heure d'aujourd'hui, même si les progrès depuis plus d'un an sont considérables, le développement AJAX reste une galère.

Du côté des progrès :

- des patterns de référence

- des frameworks bien foutus exploitant les possibilités de Javascript

- une communauté d'Ajaxiens imaginative, partageuse et grandissante

- la reconnaissance qu'Ajax n'est pas qu'une mode et doit maintenant passer à l'industrialisation

- des outils de software factory pour Javascript

Le manque principal, je l'ai déjà dit assez souvent, c'est un environnement de développement fait pour JS : autocompletion, débugage, etc... Aptana tente de répondre à ce besoin, mais pour l'avoir un peu testé, c'est loin d'être encore au point.

Tibco General Interface est une autre tentative qui me paraît assez intéressante : en tout cas, l'environnement 100% ajax proposé pour développer est très impressionnant. Dans l'ergonomie, on retrouve pas mal de petites choses similaires à un Visual Studio, d'un point de vue technique, savoir qu'il est basé sur prototype.js ne gâche rien. et, last but not least, une version free est désormais proposée.

Tibco s'inscrit par ailleurs dans le cadre de l'initiative OpenAjax qui a pour but la normalisation des techniques ajax et dont je vous conseille un excellent "whitepaper".