Quelques premières idées pour remplacer Facebook de manière décentralisée, afin d'ouvrir la discussion du point de vue fonctionnel.
NB : je ne connaissais pas POSSE avant d'arriver sur ce site. Il est fort probable qu'il y ait de très forts recoupements, sinon identité, entre les projets. Je pense néanmoins qu'il est utile de mener plus avant la réflexion fonctionnelle et stratégique avant de choisir de se raccrocher à un projet existant.
Convention typographique : les termes spécifiques au produit sont désignés en italique.
Il semble a priori envisageable de remplacer Facebook par un système distribué d'intégration et publication de journaux (pages personnelles/blogs) auto-hébergés, à partir du moment où un format d'interopérabilité des publications est défini. Les fils seraient alors constitués d'une agrégation de contenus hébergés par les relations (“friends”), sur la base d'une liste de ressources (roster) hébergée localement.
Ceci implique immédiatement le besoin d'un annuaire distribué des journaux (à voir si la relation relation-journal est 1-1 ou 1-n), qui permette de retrouver l'adresse d'un journal, au minimum sur la base d'un élément d'identité qui peut être partiel (ex: partie du nom ou du prénom, localisation déclarée, pseudo…).
La question des permissions se pose très rapidement : il faudrait, comme dans Facebook, permettre la configuration de permissions de publication/accès/commentaires par défaut pour chaque journal, et permettre également de définir des permissions spécifiques pour chaque publication.
Un système de cache distribué pourrait également s'avérer utile afin de pallier à une indisponibilité temporaire de l'hébergement d'un ou de plusieurs journaux. Il faudra veiller alors à ce que les ressources stockées chez des tiers, le soient soit auprès de relations qui y avaient normalement accès, soit de manière cryptée chez un tiers qui n'y avait pas légitimement accès.
Une attention particulière devra être apportée à l'accès mobile à ces systèmes : au minimum, des API devraient permettre l'accès et la publication à partir de logiciels tiers, sur la base d'un système d'authentification solide pour la publication ; et les pages web devraient être conçus en responsive design afin de s'adapter à la majorité des mobiles et tablettes existantes (prévoir une version “zéro” pour les appareils à capacité minimale). Mais (hélas pour l'unité du Web) je ne conçois personnellement pas une adoption réelle de ce système sans applications mobiles très fortement optimisées pour l'accès et la publication sur chacune des plateformes majeures (à ce jour iOS, Android, Windows Phone, et pourquoi pas Firefox OS). Celles-ci pourraient néanmoins être multiples sur la base de spécifications ouvertes, avec une implémentation de référence.
Il semblerait intéressant également de penser ce système de telle manière qu'il puisse également être utilisé par facettes comme Instagram, Twitter, Pinterest et autres systèmes de publication sociaux, avec éventuellement filtrage des contenus appropriés à chaque présentation.