Mi experiencia con ActivityPub

Durante estas ultimas semanas me he puesto a leer la documentacion que ofrece w3.org sobre ActivityPub. Para aprender mejor como funciona este estandar de comunicacion usado por las redes sociales libres. Para formar una gran red llamada Fediverso.

ActivityPub es un estandar bastante extenso, con posibilidades casi infinitas. Pero sin duda hace falta muchisimo por documentar con claridad. La documentacion pueden leerla desde:

https://www.w3.org/TR/activitypub/

Ahora bien, este estandar no es mas que un formato para realizar comunicaciones Servidor-Servidor, para de esta manera enlazar o notificar “Actividades” entre cada servidor. Es importante entender este concepto de primera mano (aunque no venga explicitamente en la documentacion oficial).

ActivityPub

Tengo muchisimas cosas que decir sobre este protocolo ahora que lo conozco un poco mejor, pero por el momento solo voy a mencionar algunas ventajas y desventajas desde mi punto de vista.

Ventajas

Esto solo por mencionar ventajas directas de este estandar. Pero tambien entra aqui el poder bloquear y aceptar solo peticiones de ciertos servidores y demas.

Pero su principal ventaja es su implementacion, ya que puede utilizarse para muchas cosas y poder tener todo tipo de servicios en una sola red.

Desventajas

Alguna vez pude leer en una discusion sobre los problemas de ActivityPub, un usuario argumentaba que cada quien implementaba este estandar a su gusto. Y debo decir que tiene toda la razon.

Este es un problema muy grande ya que la documentacion muestra muchas veces la frase “typically has no defined meaning” (“por lo general no tiene un significado definido”) al documentar una propiedad en este estandar. Por lo que cada programador puede darle un significado diferente.

Esto a la larga puede causar problemas casi indetectables, y la unica solucion es adaptarse a lo que otras personas implementaron. Es decir, buscar el significado que alguien mas le dio, para tu hacerlo de la misma manera.

Conclusion

Hay que se muy cuidadoso al implementar este estandar y sobre todo leer e investigar como otras personas lo implementan en sus programas.

Este estandar a mi parecer aun esta en fase beta, pero sin duda alguien necesita implementar realmente todas las posibilidades que este protocolo ofrece.