Pouncer ou Touiter ?

Jeu 05 juin 2008

J'en connais qui vont se gausser en lisant ce post, mais bon, tant pis. Je dis toujours que le problème n'est pas dans le media, il est dans le message. Ça pourrait faire une belle phrase de conclusion, ça. Bon, donc, je la copie-collerai dans la fin de cet article, ça fera pas de mal.

Le phénomène de micro-blogging a émergé il y a quelques temps (en 2006), et je constatais avec un peu de circonspection l'engouement de certains adeptes qui se sont précipités vers ce "nouveau média".

Twitter, le premier arrivé sur le "marché", permet de poster des micro-notes - du genre "Le Plébéien Bleu il n'arrivera jamais à faire aussi court que ça" - à taille maximale autorisée, appelée "statut" (en anglais "status"). Rajoutons une pincée de "social networks" : on peut intégrer le flot de "status" de ses amis dans le sien, et tout ça fait un flot continu de mini-messages plus ou moins publics, plus ou moins intéressants (tout est relatif : ce qu'on considère comme une information peut être considéré comme inutile par le voisin), mais tous limités à 140 caractères.

Un peu moins d'un an après, la communauté Pythonno-Djangoïde (oui, le système est écrit en Django) a vu l'émergence d'un service appelé Pownce, présentant en surface à peu près les mêmes fonctionnalités - poster des messages, collectionner ses contacts/amis et leur faire partager des "notes" (c'est le terme choisi par Pownce). Ces notes ne sont pas limitées en taille.

La grande différence entre Twitter et Pownce ne réside pas vraiment dans la limitation du nombre de caractères d'un message... En fait, des différences, il y en a plein. Et c'est cet ensemble qui m'a convaincu d'en choisir un plutôt que l'autre pour commencer ma carrière de micro-blogueur.

Plateforme, langage, architecture

Languages, libraries and frameworks don't scale. Architectures do. -- Cal Henderson

[via]

Twitter est écrit en Ruby on Rails. Ce framework a permis de développer rapidement une plateforme simple et efficace. A bien regarder, on a deux modèles de données à traiter : les utilisateurs (et les différentes relations que les contacts peuvent entretenir entre eux) et les messages (status). Passé un certain nombre d'instances des premiers, on peut se douter que le nombre des autres entités va croître. D'où certaines lenteurs et autres plantages réguliers du site... Ce genre de choses donne lieu à des râleries ou des moqueries, selon l'importance qu'on donne à la chose. Lire à ce propos l'excellente présentation sur les entêtes HTTP par Stuart Langridge. Le sujet peut paraître aride, il n'en est rien sous la baguette de ce vieux Aquarius. Toujours est-il que les concepteurs de Twitter songent sérieusement à réécrire le système "from scratch" en PHP ou Java. Impossible de savoir si cela va avoir des répercussions positives sur les performances.

Pownce est écrit en Django. Si le site ne plante quasiment pas (du moins, à ce que j'ai vu), il est très lent. Vraiment. J'imagine qu'avec suffisamment de pognon, l'équipe de développement pourrait se payer de plus gros tuyaux, et de plus gros processeurs.

Statuts vs. Notes (etc).

Si Twitter joue dans l'hyper simplicité (et donc, efficacité) : on ne poste que des messages textuels de 140 caractères, Pownce n'offre pas de limite dans la taille des messages.

Évidemment, Pownce n'aura pas pour vocation à être une plateforme de blog à proprement parler, mais la limite de 140 caractères gêne un peu les francophones. En anglais, les mots de quatre lettres pullulent, en français, le texte sera habituellement 20% plus long. Un autre défaut de Twitter sur son imprononçable concurrent, quand un Twitterien veut faire partager un lien à son public, il doit nécessairement passer par un décapiteur d'URL du genre Tinyurl ou linkpot. Sympa, mais pas top. On clique "en aveugle" sur une URL dont on ne sait rien. Un coup à se faire Rickroller ou pire, tomber sur un site qui peut te faire mourir de honte si tu n'as pas assez de promptitude pour fermer ton navigateur au moment où ton chef a la mauvaise idée de regarder par-dessus ton épaule. C'est con, parce que l'ensemble du web est en train de basculer d'une url pas cool avec des ?id=1234&toto=truc à des cool URI optimisées pour le référencement, avec des vrais mots dedans. D'un autre côté, la contrainte peut être intéressante. La contrainte oblige à faire dans la concision (le contraire du présent article, par exemple). C'est un exercice de style, un genre d'appel à l'OuLiPo. On compte de nombreux Twitteriens qui se forcent à ne poster que des Haïkus, par exemple. Ça peut être drôle.

Pour Pownce, si la "Note" est l'élément le plus directement utilisé, on peut également envoyer à son entourage un lien (l'URL est stockée à part, donc, plus besoin de zipper l'adresse), une invitation à un événement (dont on peut préciser le lieu, la date et l'heure, ainsi qu'un descriptif) ou mieux encore : un fichier. Oui. On peut partager un fichier, qui sera téléchargeable depuis son profil.

Et si le lien est une image, miracle : l'image apparaît dans la page Pownce, en petit. Et si le lien est une vidéo sur Youtube, le lecteur apparaît. Youpi ! Très pratique pour bien indiquer ce qu'est le lien. On n'est pas noyé par un tinyurl imbittable. On sait ce sur quoi on clique et on en a même une idée très précise avant de cliquer.

Copaings!

Les deux systèmes permettent la gestion de contacts. Si Twitter gère les choses de manière simple, voire simpliste (un contact est un contact), Pownce permet la gestion de groupes de contacts. On a donc la possibilité de grouper les gens par catégories. Pour ma part, j'ai opté pour un groupe "french", par exemple.

Twitter a de ce point de vue un avantage indéniable : premier arrivé, premier servi. C'est donc bien sur ce réseau que "tout le monde" se retrouve. Quand je dis, "tout le monde", c'est bien tout le monde, y compris les projets informatiques, les présidentiables américains ou les sondes spatiales basées sur Mars.

Par conséquent, il est plus facile d'avoir toutes les mises à jour de statuts des potes là où ils se trouvent. Et il serait difficile d'établir un réseau "social" si on est tout seul sur son rocher. Dont acte. Ce qui joue là, c'est l'effet "MSN". Beaucoup d'internautes sont venus à la messagerie instantanée via MSN, parce que MSN était installé par défaut sur des PC qui par défaut étaient équipés d'un Windows pré-installé. Du coup, "tout le monde" est sur MSN, alors qu'il y a beaucoup à redire sur le programme client ou sur ses services... plantages, virus, spam, et toute la clique. Un réseau "à la jabber", ouvert, décentralisé, libre aurait mieux valu pour tout le monde.

Bref.

En revanche, si Twitter gagne sur la quantité, Pownce a ze killer feature. On peut choisir le ou les destinataires. Parce qu'on peut créer des groupes, on peut adresser une note/lien/événement/fichier en privé à un contact particulier, ou à un groupe d'individu. Ce qui me permet, par exemple, d'adresser toutes mes notes en Français à mes contacts francophones. Tadum kshhh. Et c'est évident : peut-être que ma mère (si un jour elle débarque sur Pownce) n'a pas besoin de cliquer sur un lien vers la doc d'une API en Python, et de même, mes contacts outre-manche ne sauront sûrement pas décoder un message en français annonçant que je prends le train de 14:53 et que j'apporte des bocaux de confiture vides à échanger contre des pleins.

De plus, en ce qui concerne les événements, on peut même avoir la réponse des destinataires, pour savoir s'ils peuvent venir ou pas.

J'imagine très bien ce genre d'application déployée dans un intranet, ou un extranet, en entreprise. On regroupe les contacts par équipe, par projet. Les contacts peuvent être les salariés d'une entreprise, les clients, les intervenants extérieurs (par exemple, dans un un projet web : le graphiste). On partage les infos rapides (allez voir le site de démo sur demo.exemple.com) ou les documents importants (Voici le cahier des spécifications techniques (fichier joint) - à commenter avant signature) ou encore inviter les différents acteurs d'un projet à une réunion (le module événement) - en sachant qui peut venir et qui ne peut pas. Pownce n'est plus du micro-blogging, c'est carrément une plateforme de travail, un moyen efficace d'organiser un projet. Bref, un groupware (ah ! le graal !).

J'ai cru lire quelque part : Twitter, c'est pour envoyer des messages, Pownce, c'est partager

Ouverture, APIs

Twitter permet d'envoyer un message via son téléphone mobile. Ah ben ça en effet, Pownce ne l'a pas. Si le SMS reste un moyen de communication extrêmement utilisé, par toutes les générations (et surtout les jeunes, je présume), il n'en reste pas moins que c'est à cause de ce medium que Twitter n'autorise pas plus de 140 caractères par message. Reste que si le SMS reste en proue, je tiens le pari que l'accès au réseau internet aura bientôt rattrapé la couverture GSM, et je pense même que la 3G sera de plus en plus accessible, et que les téléphones mobiles auront rapidement un équipement 3G installé par défaut d'ici à peine quelques années, tout au plus. Alors le goulot d'étranglement SMS n'aura plus lieu d'être.

Concernant les APIs, Twitter et Pownce en proposent une tous les deux, plutôt bien documentée, et plutôt complète.

Ces jeux de fonctions et d'instructions permettent aux développeurs de créer des applications, des mashups, des widgets, des gadgets dans tous les langages de programmation de la terre permettant de se connecter aux différents services. On peut accéder à sa liste de contact, envoyer des messages, lire les messages des uns et des autres, etc. Bref. N'importe qui ou presque peut écrire son propre client vers Twitter ou Pownce. Match nul pour ça.

Pour les pythonneux, des librairies existent pour les deux services de micro-blogging.

Que choisir ?

CritèreTwitterPownce
Plateforme Pannes à répétition C'est lent
Messages texte 140 caractères Illimités
Liens TinyURLisés, donc illisibles Illimités
Images et vidéos Non Intégré
Fichiers Non Oui
Événements c'est du texte Fiche détaillée, réponse permise.
Réseau Y'a tout le monde Y'a presque personne.
Destinataire Tout le monde ou tous les contacts autorisés Tout le monde, tous les contacts, un groupe de contacts, un contact en particulier. Bref, comme on veut.
SMS Oui Non
APIs Oui Oui aussi

Comme je disais plus haut :

le problème n'est pas dans le media, il est dans le message

Mais c'est qu'il faut choisir tout de même. Je peux le dire, j'ai quand même bien anticipé le coup de feu. Ça fait déjà quelques temps que j'ai un compte Pownce, et que je développe une application en Python permettant d'accéder à Pownce en ligne de commande. Elle sera bientôt "publiable", et j'espère rapidement pouvoir rajouter un module permettant de cross-poster les messages publics vers Twitter, un peu à la manière de Thwirl. Mais Thwirl fait les choses à l'envers. À mon avis, un client Pownce peut tout faire (envoyer des messages, des liens, des fichiers, des événements) en filtrant éventuellement les destinataires, et ensuite seulement, ce client peut proposer d'envoyer le même élément sur Twitter, s'il respecte les critères drastiques de Twitter (taille du message + public).

A suivre, donc.