Les abonnements dans le Fedivers

Le Fedivers, grâce au protocole ActivityPub, propose une interopérabilité hors norme. Il est extrêmement facile de s'abonner à un autre utilisateur quelque soit la plateforme qu'il utilise.

Mais cette interopérabilité entraîne quelques problèmes d'UX. Par exemple, imaginez que je veuille m'abonner à l'admin de mon instance Mastodon. Je tape son nom dans la barre de recherche, et je tombe sur deux profils : son profil Mastodon, mais aussi son profil Pixelfed. Comme je veux m'abonner aux deux, je m'abonne à son profil Mastodon, puis j'ouvre Pixelfed sur mon compte, je recherche de nouveau son nom, je trouve là encore ses deux comptes et je m'abonne enfin à son compte Pixelfed.

Evidemment, ce n'est pas un problème grave. Cependant, il y a clairement un dérangement dans l'expérience de l'utilisateur. En y réfléchissant sur du temps perdu, j'ai pensé à un système qui pourrait pallier ce problème.

Histoire qu'on se comprenne : lorsque je parle de plateforme, je pense à un logiciel comme Pixelfed ou Mastodon. Lorsque j'évoque une instance, je pense à un serveur spécifique à une plateforme.

Protocole

Voici l'idée.

Lors de la création d'un compte sur une instance, on ajoute toutes les instances que l'on possède déjà sur le Fedivers : Mastodon, Pixelfed, Peertube... Chacune de nos instances connait donc nos autres instances et y a des droits d'utilisateurs qui lui permettront de gérer les abonnements.

Lorsqu'on s'abonne à une autre personne, notre instance nous demande quelle instance elle doit choisir selon la situation :

  1. Si on s'abonne à un utilisateur de la même plateforme, alors il s'abonne automatiquement sur la plateforme en question. C'est le cas de figure classique.
  2. Si on s'abonne d'une plateforme à une personne d'une autre plateforme, et que l'on a un compte sur cette autre plateforme, alors le système nous abonne directement sur cette autre plateforme.
  3. Si on s'abonne à une personne d'une autre plateforme, sur une plateforme que l'on ne possède pas, le système nous demande avec quelle instance nous devons nous abonner.
  4. Par ailleurs, si la personne à laquelle on s'abonne a plusieurs réseaux, on peut choisir à quels réseaux s'abonner.

Exemple

Pierre possède un compte Mastodon et un compte Pixelfed. Jean possède un compte Mastodon, un compte Pixelfed et un compte Peertube.

  1. Pierre, sur Mastodon, s'abonne à Jean, sur Mastodon uniquement. Cas de figure classique : pas de problème.
  2. Pierre, sur Mastodon, s'abonne à Jean sur Pixelfed uniquement. Lors de l'abonnement, c'est son compte Pixelfed qui s'abonne au compte Pixelfed de Jean et non son compte Mastodon.
  3. Pierre, sur Mastodon, s'abonne à Jean sur Peertube uniquement. Ne connaissant pas à Pierre de compte Peertube, le système lui demande sur quel réseau il souhaite recevoir les postes : Mastodon ou Pixelfed.

Partons du principe que les 3 premières situations n'ont pas eu lieu. Pierre, sur Mastodon, s'abonne à Jean : il choisit de s'abonner à son compte Pixelfed et son compte Peertube, mais pas à son compte Mastodon.

Conclusion

Je pense que ce système faciliterait grandement le fonctionnement des abonnements sur le fedivers. Evidemment, il doit encore être amélioré, et la magie de la programmation et de l'UX design pourraient rendre le système encore plus simple que ce que je propose.

Je pose l'idée là, à voir si elle est valable. D'ailleurs, s'il y a une faille dans mon raisonnement, n'hésitez pas à me le faire remarquer.