La tecnología de Mastodon que puede cambiar Internet

Mastodon es una red social federada de la que te he hablado la semana pasada. Su principal diferencia es que no está gestionada por una sola empresa u organización.

En este ejemplo vemos tres redes sociales «Elefanbook», «Galluiter» y «Conejagram». Cada red social está creada y dirigida por una empresa con sus propios intereses.

Redes sociales
Redes sociales

Cada red social tiene sus particularidades. Por ejemplo en Elefanbook la conexión entre usuarios es bidireccional: se establece una amistad entre dos usuarios y a partir de ahí, cada uno puede ver lo que publica el otro. Aquí la gente escribe sobre las cosas que les interesan. Admite todo tipo de contenidos: textos, imágenes y vídeos.

En Galluiter uno puede «seguir» la actividad del resto de usuarios sin necesidad de que sea recíproco. Cada usuario es seguidor de otros y tiene sus propios seguidores pero son relaciones de una sola dirección. Aquí la gente sobre todo da opiniones. Pone enlaces a noticias y las comenta escuetamente.

En Conejagram es una tercera red social especializada en fotos. Los contenidos siempre son imágenes.

Cada persona se ve obligada a tener una cuenta en cada red social. Cada red social ofrece un listado de las actualizaciones de sus usuarios, llámese murotimeline.

Cada red social es independiente y gestionada por una empresa para sus propios intereses. Por lo tanto no muestra los contenidos en orden cronológico sino en un orden establecido por cada empresa para maximizar sus beneficios (lógicamente).

Lo que ofrece Mastodon es que, siendo una sola red social, existen diferentes organizaciones ofreciendo el servicio, llamados nodos. En cada nodo puedes consultar la actividad del resto de los nodos Mastodon. Sería un poco como en este gráfico: se intercambian los mensajes de los nodos.

Red Federada Mastodon
Red Federada Mastodon

Cada nodo puede ofrecer un servicio diferente. Por ejemplo el nodo azul puede ofrecer los posts en orden cronológico, el verde por orden de importancia (más favs y rt) y el nodo morado ordenado por intereses (arte, deportes, sociedad, etc.)

Pero todos ellos conectan usuarios de los distintos nodos en la misma red: observa que todos los nodos muestran mensajes de usuarios de otros nodos de la red.

Mastodon es una red social parecida a Twitter, en la que se pueden mandar mensajes cortos (llamados toots, en un alarde de originalidad). Tiene un timeline como el que tenía Twitter en su primera época: los mensajes aparecen en orden cronológico. Porque Mastodon – de momento, en sus dos años de vida – está orientado al usuario.

Cada usuario puede elegir un nodo clonado de Mastodon a través del selector de nodos instances.social. Mastodon tiene un timeline local (de tu propio nodo) y un timeline federado en el que se ven en tiempo real los toots de todos los nodos. Por eso debes abrir tu cuenta en un nodo que coincida con tus intereses.

ActivityPub es la capa social de la web

Vale, pero ¿cómo se comunican los nodos? Alerta: me voy a poner un poco técnico.

Mastodon utiliza el protocolo – un conjunto de reglas – llamado ActiviyPub que es una de las alternativas de protocolos sociales que estudia la organización World Wide Web Consortium W3C y cuya especificación ha sido publicada a principios de año.

El protocolo ActivityPub describe cómo se tienen que comunicar los nodos entre sí para representar las entidades básicas de las redes sociales – los usuarios, las publicaciones – y las acciones que se realizan sobre ellas:

  • Seguir a alguien
  • Publicar (escribir o dejar algo en la red)
  • Compartir
  • Favoritos
  • Dejar un «Me gusta»
  • Comentarios

Puedes ver un listado de objetos y operaciones en el diccionario.

Dichas operaciones que son comunes o similares en las redes sociales, se ejecutan aquí entre diferentes nodos de la red Mastodon. Los servidores se comunican entre sí mediante el protocolo ActiviyPub que son peticiones HTTP que responden con JSON.

Para ello, cada persona usuaria (sin que lo sepa se dé cuenta) tiene asociados un conjunto de URL que coinciden con su perfil, una lista de sus seguidores, otra de personas a las que sigue y bandejas de entrada y de salida de mensajes.

Imagina un usuario del nodo Mastodon que quiere mandar un mensaje privado a otro del nodo Elephant. @jose@mastodon.social enviará un toot privado a través del sitio Mastodon.social con destinatario @paola@elephant.social. Mastodon, en su programa servidor, transforma el texto del toot en un mensaje pormateado en ActiviyPub (JSON) y lo envía por HTTPS al punto de entrada (URL) de @paola en el servidor Elephant.social.

El servidor Elephant recoge y procesa el mensaje, extrae el toot privado de @jose y lo guarda en su bandeja de entrada para cuando @paola se conecte.

Envío de un mensaje en una red social federada

Cada publicación pública o privada tiene un identificador (que es otra URL) y se puede hacer referencia a ella, por lo que lo mismo que enviamos un toot  podemos enviar un like, un comentario o respuesta… Podemos operar entre redes sociales distintas como si fueran una sola.

Fíjate bien en que funciona como el email: jose tiene cuenta en Gmail, por ejemplo, y manda un email a paola a Hotmail. Cada uno tiene su servicio ¡incluso puede ser un servicio de pago! ¡incluso puede ser un dominio propio, de una empresa o particular! contacto@pinturaslopez.com

Cuando Jose manda el email desde Gmail, Paola no tiene por qué estar conectada en su servidor para recibirlo. Pero tampoco tiene por qué tener cuenta en Gmail. Puede ser propietaria de padeleras.com y tener su email paola@padeleras.com

Pues esto es lo mismo con los posts, los likes, los comentarios, los rts, etc.

Genial, montemos un nodo para mi gente

Mastodon tiene un timeline local con lo que se cuece dentro de cada nodo, y un timeline federado con los toots de todos los nodos.

Es una tentación montar un nodo para los «amigos del padel» por ejemplo. Es como una minired social dentro de la red social Mastodon.

Mastodon es libre y de código abierto. Puedes descargarte el código e instalarlo en tu servidor. Incluso tienen documentación de como configurar los sistemas, no sólo el código.

La documentación de instalación está disponible desde la propia Mastodon.social.

¿Cómo ActivityPub puede cambiar Internet?

Eso sólo te convertirá en uno más de los nodos que ya existen y tendrás un servicio parecido a Twitter: Seguir cuentas, tener seguidores, publicar estados, etc…

Red federada mixta

¿Qué pasa si queremos un servicio más parecido a Facebook? Con relaciones entre usuarios bidireccionales, donde si eres amigo, os seguís mutuamente.

Y si vamos un paso más allá… ¿Qué pasaría si a cualquier web le pudieramos poner servicios ActivityPub? ¿Te imaginas si pudieramos enviar o recibir mensajes, comentarios, actividad desde …

  • La web de una federación deportiva: los socios del club interactuan con socios de otros clubes.
  • La web comercial de una empresa: los empleados interactúan entre sí y con sus clientes y proveedores.
  • Un blog: el autor envía sus artículos a los nodos de sus seguidores que leen en su timeline directamente sus posts, sin tener que meterlos uno a uno en cada red social.

Cada sitio web podría tener un interfaz que diera un servicio particularizado a sus miembros: La federación deportiva podría utilizar la red social para organizar partidos, la web comercial podría distribuir ofertas, el blog podría permitir la publicación de los comentarios sociales directamente en los posts.

Y toda la información sería propiedad de sus autores sin tener que cederla a la red social de turno, llámala Facebook, Twitter o lo que sea.

Cada uno podrá elegir una red que le dé los servicios que demande con su aspecto favorito, donde podrá seguir a sus amigos en otras redes distintas y siendo los dueños de lo que escriben y señores de lo que leen.

En el ejemplo de partida, desde la red Elephant podrás leer artículos de Gallo y ver fotos de Conejos 🙂

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio