> Get more fed in your feed
Det ser ud til, at jeg snart har nyt om Fed-Plugin! Stay tuned
BOOSTS:
MastoBlog episode 1: Få DIN website direkte på fediverset med ActivityPub
Med Elon Musks overtagelse af Twitter er der for alvor sat drøn på Mastodon. Selvom Mastodon har bestået siden 2016, er der i disse dage mange nye, der registrerer sig, og det gør det alt andet lige også sjovere at være bruger her.

I nyhederne kan man samtidig læse, at mange danskere flytter fra Twitter til Mastodon, at Tumblr og måske også Flickr vil integrere ActivityPub, så deres service kan kommunikere med Mastodon, og senest at de Twitter-medarbejdere, som Musk har fyret, selv har startet en Mastodon-server.

For folk som mig, der går meget op i open-source og det frie internet, kan det ikke undgå at vække stor begejstring. Jeg har længe været interesseret i Mastodon og de andre platforme i det såkaldte 'fediverse'. Men den store udfordring ved at skifte sociele medier ud, er jo også, at disse platforme kun giver mening, hvis man får sine venner med - eller i det mindste finder nye venner på det nye netværk.

Heri ligger en indbygget styrke i Fediverset, fordi det netop er designet til den størst mulige åbenhed imellem platforme, så man i videst muligt omfang åbner for at brugere af én platform nemt kan interagere med indhold fra andre platforme. Dette står i skarp modsætning til de store, kommercielle platforme, der dels "låser" brugerne til deres produkt, så det er svært og omkostningsfuldt at flytte sin data, og som dels udnytter denne afhængighed til at regulere, som det passer dem.

Disse ting har uden tvivl også været et problem før Musk, men det er som om magten, som ejerskab udøver over en platform, nu tydeligt viser, at de store tech-selskabers monopoler ikke længere kan ignoreres.

I modsætning hertil er fediverset ideen om internettet, der (igen) bliver decentralt, åbent og demokratiseret. Og hvis Fediverset vinder over Metaverset (populært sagt), mener jeg, at det vil have vidtrækkende data-politiske konsekvenser. For det første fordi de decentrale netværk står i modsætning til de monopoler og vendor lock-ins, der karakteriserer de store tech-firmaer. For det andet fordi man ultimativt selv kan sætte en server op og have fuld kontrol over dine data. Og for det tredje fordi standarden er åben, så man selv kan udvikle integrationer - uden fx at være afhængig af en API, som eksterne firmaer vedligeholder og råder over.

Fra MetaVerse til FediVerse

Som nævnt er princippet i "fediverset", at platforme kan tale sammen på tværs af enkelte tjenester og udbydere. Det betyder fx. at Mastodon-installationer kan snakke sammen på tværs af hvilke servere de ligger på - ligesom vi kender det, når vi sender en e-mail, der ikke er afhængig af, om den ene bruger har en Protonmail og den anden bruger har Gmail.

Og betragter man de muligheder, der fx ligger i fediversets ActivityPub-protokol, så gør den det endda muligt for ALLE websites og tjenester at tale sammen via én standard. Faktisk findes der allerede en håndfuld ActivityPub-understøttede tjenester i fediverset som PeerTube, PixelFed og Pleroma, som man uden problemer kan følge med sin eksisterende Mastodon-konto - eller vice versa. Og i princippet kan enhver side benytte ActivityPub, så fx en avis kunne dele sine artikler, tags, likes og kommentarer direkte fra deres egen hjemmeside, eller en bruger kunne gå ind på et spillesteds hjemmeside og anmode om at få koncerterne op som events i sit feed.

For en som mig, der arbejder på mange sideløbende projekter, kan ActivityPub også betyde en nem måde at få feeds og opdateringer fra flere forskellige hjemmesider til at flyde sammen og deles uden at jeg skal bruge en masse tid på at vedligeholde en masse konti på sociale medier. I stedet kan jeg sætte automatiske flows op, når jeg tilføjer nyt indhold, og hvordan det indhold efterfølgende skal deles.

Det skal siges, at funktionerne skal bygges én for én, og at interaktionen med en tjeneste er afhængig af, hvor dyb implementeringen af ActivityPub er på den enkelte side. ActivityPub er allerede relativt omfattende og den er i svingende grad integreret i de tjenester, som er derude nu.

Mit mål er derfor heller ikke at anvende de eksisterende systemer, men derimod at lære og at videreformidle hvordan ActivityPub kan implementeres i generelle webprojekter. Og mit første skridt mod det mål er at bygge MastoBlog.

Hvad er MastoBlog?

MastoBlog skal være en simpel hjemmeside med blog, hvor indlæg automatisk gøres tilgængeligt for Mastodon-netværket via ActivityPub-protokolen. Dette sker ved, at hver MastoBlog selv bliver en ActivityPub-server, så indlæg bliver vist fra brugeren - i dette tilfælde @pub@hackademiet.dk.

Således er målet med projektet:
  • At lave en standard blog-software i ExpressJS, der er nem at distribuere, installere og tilpasse til egne ønsker
  • At hver blog skal understøtte basale ActivityPub-funktioner, fx. at opslag kan deles og opdateres, samt at MastoBlog-brugeren kan følges direkte på Mastodon og gives 'likes' og 'boost'
  • At implementeringen af ActivityPub i første omgang tilpasses og testes på Mastodon - men at den i princippet skal kunne udvides til at opfylde hele protokollen
Dertil kommer at:
  • Bloggen skal fungere uden at anvende JavaScript og/eller eksterne plugins i frontend
  • Sprog og dokumentation skal være engelsk
  • ActivityPub-delen skal være en 'overbygning' på resten af siden, så den potentielt kan integreres på andre sider
Hvis det har vækket din interesse, kan du følge kanalen @pub@hackademiet.dk på din Mastodon-instance.

Og skulle det allerede krible i fingrene, er projektet open-source, så du kan downloade det fra Github:
https://github.com/kzxpr/mastoblog

Mine blog-indlæg - og altså toots fra @pub@hackademiet.dk med #mastoblog - vil løbende dække erfaringer, design-valg og dokumentation fra min proces med at lave MastoBlog, og det kan således være en måde, hvor læseren selv kan komme til at eksperimentere med min kode og selv at implementere ActivityPub på sin side. Bare husk at det er på meget ansvar!!!

Hackademiet.dk vil løbende opdateres, så det afspejler den nyeste version af MastoBlog. Det er således en 'meta-blog', der løbende skriver om, hvordan blogsystemet designes, udvikles og implementeres.
MORE!