Un chat dans diaspora* (miaou)

Bon, premièrement je tiens à présenter mes excuses pour la blague éculée du titre. C’est juste que… Je peux pas m’en empêcher…

Très clairement, un chat XMPP à la Facebook est une des fonctionnalités les plus demandés pour diaspora*. Le sujet est en fait discuté au sein de la communauté depuis 2013, donc depuis Mathusalem en temps Internet. D’aucuns se demandent alors pourquoi, depuis le temps que le sujet est discuté, le chat n’a pas pointé le bout de son museau.

C’est compliqué…

Au commencement

Il faut comprendre que diaspora* est développé par sa communauté sur son temps libre et dispose de fonds réduits, sans commune mesure avec les millards de Facebook. Cela peut se constater en regardant la liste des contributeurs depuis juillet 2012 — date à laquelle diaspora* est officiellement devenu un projet communautaire — sur github. En y jetant un rapide coup d’oeil, on peut voir un robot-contributeur — Jonne Haß, présent depuis presque le début du projet — qui détient de loin le record de contribution depuis cette période. En dessous, on retrouve une liste de power-contributeurs dont l’un — Flaburgan — est français (cocorico) et le tyran officiel du pod diaspora-fr.org. Si vous me cherchez dans cette liste, ne poussez pas plus avant vos investigations : je n’y suis pas. Je n’ai à mon actif que 3 malheureuses contributions. En fait, je n’a rejoint diaspora-fr.org qu’il y a 9 mois (vers janvier 2014) et ne contribue que depuis 3 mois environ.

Avec si peu de moyens, donc, il est assez compliqué d’implémenter de nouvelles fonctionnalités — d’autant plus aussi complexes qu’un chat XMPP. Quand l’organisation beugle à tue-tête qu’elle a besoin de contributeurs — même sans compétences en ruby — ce n’est pas une blague. Le peu de temps que passent les power-contributeurs l’est surtout à corriger des bugs et améliorer la fédération.

L’absence de chat XMPP à la Facebook (je mets cette expression en emphase car je n’assume pas mon passé d’utilisateur de Facebook, pardonnez-moi) est définitivement ce qui m’a poussé à contribuer au projet. Ça a commencé assez simplement : j’ai demandé à notre tyran ce qu’il se disait sur la question en haut-lieu. L’on ma répondu que les contributions étaient bienvenues et l’on m’a parlé d’un utilisateur de diaspora* qui aurait commencé à travailler sur la question. Ni une ni six, j’ai donc pris mon clavier pour proposer mes services au brave utilisateur. Le pauvre n’avait malheureusement pas le temps de travailler là-dessus mais m’a commmuniqué le fruit de ses recherches.

Le chat de diaspora* repose donc sur deux parties :

Je suis donc parti avec ma bite et mon couteau (pardonnez l’expression, elle me vient de mon pays natal, la Bretagne) pour développer cette fonctionnalité qui me manquait tant. Et puis très vite, un power-contributeur allemand, Zauberstuhl a appelé à contribution concernant ce sujet. Il avait commencé son travail sur Vines, qui fonctionnait très bien, mais galérait pour créer le front-end. Ayant une partie de la solution, je l’ai contacté pour lui proposer mes services. C’est comme ça que tout a commencé. Cette collaboration a donné naissance à une première version assez sexy.

chat01Illustration 1: Première version du chat

Afin de ne pas me couvrir de gloire non-méritée, il faut que je précise que ma contribution à cette fonctionnalité est pour l’instant assez minimale. Zauberstuhl abat le plus gros du travail étant donné que les plus grosses adaptations à faire le sont du côté du serveur écrit en ruby, langage que je ne maîtrise pas.

Et ça en est où, tout ça ?

Le chat, disais-je donc, est en deux parties : un serveur en ruby et un front-end basé initialsement sur Jappix Mini.

Je dis initialement car il y a une semaine, Zauberstuhl, qui teste le chat sur son propre pod a soulevé sur IRC des problèmes de performances dûes à Jappix Mini. L’un de ses développeurs a effectivement confirmé que leur front-end repose beaucoup sur leur serveur Jappix qui est aussi un réseau social développé en PHP.

Zauberstuhl propose donc de passer sur un front-end développé initialement pour diaspora* : JSXC. Ce changement nous enchante tous les deux parce que JSXC supporte aussi WebRTC, un nouveau protocole de communication développé par le W3C et l’IETF et qui permettra, pour les navigateurs compatibles (Opera, Chrome et Firefox pour le moment et dans leurs dernières versions) de faire des trucs assez kikoo comme de la visio-conférence façon Skype.

Nous en sommes là. Vines et JSXC ont été forkés par diaspora* sur github (Vines, JSXC) et sont tous les deux développés hors du projet lui-même comme des gems-dépendances.

chat02Illustration 2: Chat avec JSXC

Et c’est pour quand ?

Pour quand ce sera fini. Actuellement, Zauberstuhl travaille pratiquement seul. À cause de mes cours et de mes connaissances limitées du projet, je ne peux pas l’aider à loisir et plusieurs problèmes se posent sur l’implémentation d’un chat XMPP dans diaspora*. L’un des plus gros est celui des connexions asynchrones. À chaque rafraichissement de page, le front-end nécessite une reconnexion avec le serveur XMPP. Si l’on multiplie ça par le nombre de rafraichissement par seconde et le nombre d’utilisateurs sur un mega-pod type joindiaspora.org on peut vite faire péter le serveur. Le projet Jappix, de son propre aveux, butte lui-même sur ce problème depuis longtemps. Le projet a besoin de contributeurs.

Sur github, la fonctionnalité a quand-même été ajouté à la prochaine majeure, qui pourrait sortir au début de l’année prochaine. Dans les faits, pourtant, ce n’est pas garanti. La prochaine majeure contient des améliorations sur la fédération qui sont vitales pour certain mega-pods et sa sortie ne pourra pas être indéfiniement retardée pour le chat.

Et à l’avenir ?

Si le chat voit finalement le jour, les fonctionnalités WebRTC de JSXC pourraient permettre des choses plutôt sympas. Comme WebRTC est à la fois un protocole P2P et une API Javascript, il est théoriquement possible, par exemple, pour les bon navigateurs (IE n’est pas un bon navigateur, CQFD), de faire de l’échange de documents (non soumis au copyright, bien sûr ! :D). Mais on parle là de fonctionnalités à bien plus long terme, donc ne vous attendez pas à voir un projet sortir de terre dans les 6 mois qui viennent.

Les choses se présentent donc plutôt bien pour le chat.

Mon Diaspora*

A l’instar de n’importe quel réseau, Diaspora* n’est qu’un outil, ce qui fait sa valeur ajoutée ce sont les gens qui sont dessus. Ma définition est impropre, c’est un outil pratique pour échanger, se castrer en 140 caractères caractères, limiter l’échange à des photos volatiles ou un réseau social basé sur l’image n’est pas facile à utiliser dans mon contexte précis. Diaspora reste toutefois hautement perfectible, l’absence d’un moteur de recherche est certainement le plus handicapant, il n’y a qu’un moteur de personne, si bien qu’il faut être vigilant sur les tags utilisés, mais vous comprendrez que ce n’est pas forcément catastrophique dans mon utilisation. Voici mon comportement sur diaspora*

  • j’ajoute par défaut toute personne qui me suit. Du fait d’être connu, j’ai pas mal de gens qui me suivent même si le fait d’avoir supprimé et recréé mon compte a laissé des traces.
  • je suis les tags techniques Linux, firefoxos ce qui fait que cela me permet de me retrouver avec pas mal d’informations. Deux problèmes. La multiplication des tags, peut être trois pour firefoxos, il est donc nécessaire de rajouter autant de tags que disponibles sur un sujet sans avoir la garantie que chaque personne aura tagué son post. Le second problème c’est la langue, #Linux est un tag international, j’ai donc des commentaires en anglais, en allemand, en espagnol, je bannis donc les utilisateurs qui publient dans des langues que je ne connais pas
  • Du fait d’être abonné à beaucoup de monde je trie. Quand je vois une personne qui monopolise la timeline pour des sujets qui ne m’intéressent pas, je ne suis plus la personne, de la même façon des gens qui se contente de repartager de façon systématique. Avant j’ignorais mais je crois que ça interdit de répondre à un de mes messages.
  • Tout post que je fais est commenté, il n’y a aucun intérêt à partager une information sans rajouter une plus-value.
  • Je limite le repartage à la portion congrue afin de ne pas pourrir la timeline des gens qui partagent avec moi, les annonces, les besoins souvent le dernier message que je viens de repartager c’est la sortie de la nouvelle version d’HandyLinux.

A la fin j’arrive à une timeline qui n’est pas trop saturée, avec l’information qui me convient. Il faut savoir qu’un réseau social peut devenir particulièrement chronophage mais il a l’intérêt de permettre le partage avec les autres, le partage au sens large. C’est aussi un moyen pour moi de rapidement contacter le peu de membres de la blogosphère francophone existant pour le logiciel libre, des développeurs, des acteurs dans le monde du logiciel libre.

Donc la question qui forcément brûle les lèvres, élitiste ? Oui et non.

Élitiste dans mes lectures, je lis les sorties de Wallabag, les échanges sur firefoxos ou d’autres geekeries. Mais aussi de la pédagogie, des gens qui n’ont rien à voir avec le libre mais qui partagent tacitement la même façon de procéder. Ils écrivent, ils repartagent peu, ils échangent, ils font vivre le réseau. On retrouve en fait, le même phénomène de bots qu’on observe dans les blogs photocopieuses, qui se contentent de simplement relayer une information. Donc oui il y a une forme d’élitisme car pour rentrer dans les lectures borniennes il faut respecter les critères précédents.

En l’occurrence quand certains s’inquiétaient que des profils comme les miens fassent régner la terreur en cannibalisant le réseau pour imposer uniquement du libre, il s’agit d’une hérésie la plus complète. S’inscrit sur le réseau qui il veut, partage ce qu’il veut. Vous avez des gens qui diffusent du porno pendant toute la journée, il y a peut être des gens qui partagent des photos de lol cats, je ne le sais pas, mais c’est leur liberté, et réciproquement ils sont particulièrement nombreux à ne pas savoir que j’existe, de la même façon je suppose que des allemands, des anglais, des espagnols m’ont ignoré car ils ne comprennent pas le français et ils ont tort car c’est la plus belle langue du monde, la moralité c’est qu’on fait de diaspora le réseau qu’on veut, le mien effectivement est particulièrement libristo intégristo barbu … ou pas.

Il y a dans ma sphère des gens qui n’ont rien à voir avec le libre, des gens qui débutent dans le libre et qui sont contents d’être encadrés par des bonhommes, il n’y a donc ici absolument aucune forme d’intégrisme, bien au contraire, voyez en moi et mes camarades de jeu, l’opportunité d’apprendre plus vite, d’être guidé, d’être aidé en cas de problème.

Screenshot - 19102014 - 11:20:07

Viens avec tes légos…

J’avais prévu de donner pour titre à ce texte “Madame Michu chez les Geeks” en hommage à l’étiquette un peu restrictive, voire binaire, que certains cherchent à nous coller dans le “monde du libre“, et puis je me suis souvenue de cette phrase lue sur le flux du pod framasphère :

“On participe à la création d’un logiciel OpenSource et on utilise un logiciel Libre.”

Nous avons donc tous un vieux fond de colle “Michu“, puisque nous avons été – sommes – serons – tous utilisateurs de logiciels / systèmes libres et c’est déjà un premier principe égalitaire qui demande à être étendu. Comment s’initierait aujourd’hui une démarche vers les logiciels libres, puis vers l’OpenSource ?

Ca pourrait commencer par la recherche d’une solution à du matériel qui s’essouffle et dont on souhaite prolonger l’usage. Ou par une curiosité technique. Voire par le “hasard” d’une navigation paresseuse pour compenser un ennui intellectuel.
Peu importe car l’essentiel n’est pas de savoir pour quelle raison M ou Mme Michu entrouvre la porte du *monde libre*, mais de savoir les accueillir, les écouter, parler un langage accessible qui permette une réelle interaction et, surtout, surtout… ne pas vouloir aller trop vite. Parce que la liberté, ça peut donner le vertige. Ca peut même effrayer et faire fuir. Dans tous les cas, ça oblige le #nouveauici et la #nouvelleici à sortir de sa zone de confort. Et pas seulement eux.

Flashback

Lorsque, quelques années en arrière, on approchait le monde des “geeks”, on pouvait constater que chacun s’était plus ou moins constitué sa zone de confort, son pré carré et avait consolidé son expertise en travaillant avec ses copains… “geeks”. Et tout ça s’ébattait joyeusement entre les lignes de codes, les blagues à la c* sur irc, les poils de barbe et le bizutage des “nouveaux entrants” dans la sphère.

Seulement voilà, les sphères se sont transformées en bulles à mesure que le nombre d’entrants augmentait. Certains d’entre nous ont vécu de l’intérieur plusieurs explosions de ces bulles spéculatives. On a même fini par en sortir quelques principes généraux constants en étendant l’expérience aux mondes “du bio”, “du commerce équitable”, “de l’immobilier”, “des énergies renouvelables”… et quelques autres que je tairais ici puisqu’elles sont encore en cours.

Le premier de ces principes généraux, c’est le nombre.

Le niveau de masse critique où les spéculateurs de tout poil se mettent à baver devant le profit potentiel qu’ils pourraient générer en utilisant leurs expertises (ou celle du voisin), non pas à faciliter l’accès à la connaissance au plus grand nombre afin que chacun dispose d’une autonomie suffisante pour opérer un choix, mais au développement d’objectifs plus ou moins clairs, visant principalement à la satisfaction d’un besoin qui leur est propre.

Exemple :
(oui, c’est un blog, c’est mon article, et je parle de moi aussi)

Lorsque je suis “revenue” sur D* il y a quelques mois, j’étais Madame Michu qui cherchait une distribution légère pour installer blender et faire de l’animation 3D, voire de l’impression avec l’imprimante du “peut-être fablab local”. J’ai découvert le pod de Framasoft et une petite communauté de “geeks” qui parlaient français, entre autre. J’ai eu des réponse, un accueil amusant et efficace et, avant que j’ai eu le temps de réaliser, j’avais non seulement changé de distribution, mais aussi toutes mes applications et méthodes de travail.

De la connaissance collective de cette petite communauté, de nos échanges humains, j’ai découvert que d’autres étaient aussi passés par la difficulté à se concentrer sur l’écriture avec un écran connecté au web (la tentation de remplir pour remplir) et que des outils avaient été conçus en ce sens. Ou bien encore des applications aussi souples et exploitables que mes connexions neuronales. C’est donc que je n’étais pas seule à fonctionner ainsi. Au fil des jours, ce ne sont plus des outils “pré-formatés” qui ont dirigé mon travail, mes réflexions et mes interactions, mais l’inverse.

En quelques semaines, non seulement j’avais remis en cause près de 20 ans de méthodes, pourtant bien rodées puisque mes usages se sont adaptés à chaque évolution de fonctionnalités, mais je dispose aujourd’hui d’une autonomie suffisante pour opérer un choix d’orientation d’usages en connaissance, en conscience. A mon sens, c’est aussi ça, la liberté.

Je suis passée de mon expertise en mises en formes du contenu des autres à la production de mon propre contenu parce que des outils ET l’accueil de la communauté m’ont permis d’oser le faire. Une véritable (r)évolution personnelle dont moi seule connait l’étendue et l’effet de levier que cela induit, mais qui n’aurait pas eu lieu si j’avais été noyée dans un réseau mastodonde (fallait arriver à le placer ce mot !).

Ma question

Et donc mon questionnement du jour : Si Madame Michu arrivait aujourd’hui en ce même lieu, cette (r)évolution personnelle serait-elle possible ? Peut-on tendre vers la liberté lorsqu’on est perdu.e au milieu d’une foule qui s’ébaubie (celui-là, c’est pas mal aussi) de ce nouvel espace de jeu et dans lequel des objets communicants à la pensée pré-formatée s’installent doucement dans l’ombre ?

C’est peut-être moi et ma vision issue de mon expérience de vie, mais dans l’euphorie du moment, je me dis qu’on a un peu oublié les qualités initiales de la réalisation de Framasoft avec ce pod et qu’il risque d’être trop tard lorsque les “connaissants techniques” se réveilleront pour transmettre les essentiels à connaître afin que, celles et ceux qui le souhaitent, puissent créer un “autre ailleurs“… en forme de “mobilité connectée“, productive d’accueils plus “tempérés”, de temps d’échanges et de mises en relation vers des contenus adaptés aux recherche…

… de l’humanité quoi !

 

Alors… a-t-on atteint le niveau de masse critique sur ce pod ?

Je serais presque tentée de dire oui parce que la vague de #nouveaux inscrits depuis la campagne Dégooglisons Internet est énorme.

A tel point que j’ai du mettre un premier filtre hyper sexiste (pas bien !) en ne gardant que le tag #nouvelleici dans mon flux. Puis un second moins objectif selon le profil et les questions des nouvelles arrivantes. Enfin, pour éviter toute risque de déshumanisation, j’avais choisi, dès le début, de prendre le temps une fois par semaine de relire mon flux d’activité, de répondre aux commentaires oubliés, de faire le point sur mes contacts et d’apprendre comment utiliser les fonctionnalités du pod.

Aujourd’hui, j’ai à peine le temps d’accueillir, ma liste de contact en attente s’allonge et je lutte avec mon planning perso pour prendre le temps de faire connaissance avec les existants.

D’autant plus qu’il y a beaucoup, beaucoup de sujets intéressants qui sont abordés, qui méritent de s’y pencher et de débattre. Jusqu’alors, très peu repartageaient du contenu sans le lire, ce qui évitait les placards de posts pré-formatés dont les “junk-communicants” savent user et abuser. Même chose en ce qui concerne les nécessaires “contestataires”. Mais d’autres que moi sont bien plus férus sur ce sujet (qui a dit poilu ?).

Donc, je serais tenté de dire oui.

Mais non. Parce que ce matin, dans ma boite mel, Cyrille, qui a lu la première partie de l’article, me pose la question :

- “En gros tu prônes le communautarisme barbu ou plutôt l’équipe à taille humaine barbue pour s’occuper des gens perdus ?”

Et moi, malgré un demi-café dans les neurones, j’ai une lumière qui s’allume.

- “Les deux puisque la seconde option sera plus efficace dans l’accompagnement et la première pour conserver la liberté, le choix, la mobilité, sans pour autant perdre tous les repères précédents.. et ça permet aussi d’éviter la gurutisation… d’autant qu’enfin… ENFIN ! il y a des outils potentiellement accessibles pour le faire”

Deux cafés plus tard, c’est Péric Gouanvic qui inspire l’image du hall de gare avec son idée d’Escaliers, antichambre et vie en société.

Voilà, Framasphère c’est la gare d’Austerlitz.

Viens avec tes légos...