
Til vores udviklerdage i 2024 afholdte jeg en workshop om ActivityPub, og i denne blog deler jeg min viden og mine erfaringer fra workshoppen.
Hvad er ActivityPub?
ActivityPub er en åben protokol, som kan bruges til at sende brugerinformation og indlæg mellem forskellige webapplikationer. Protokollen bruges på forskellige fødererede sociale medier som Mastodon, Pixelfed og Peertube.
Workshoppen var et åbent format, hvor man hver især fik mulighed for at undersøge protokollen. Dialogen var god under hele workshoppen, og det meste af dag 1 gik med at finde hoved og hale i, hvordan de forskellige applikationers implementering af protokollen hænger sammen. Enkelte idéer til projekter som var relateret til protokollen blev foreslået, men ingen slog rigtigt igennem.
Det viste sig, at mange af de applikationer, som benytter ActivityPub, også har let tilgængelige og veldokumenterede API’er. Dette gav meget mere inspiration til interessante projekter, og flere gav sig straks i kast med at lære disse API’er bedre at kende.
På dag 2 var forståelsen for selve ActivityPub-protokollen lidt større, og vi startede dagen ud med en god snak om, hvad vi hver havde fundet ud af dagen før. Nogle deltagere fortsatte med at udvikle små projekter, som benyttede Mastodon eller Peertube API’erne. Andre igangsatte et projekt, som benyttede ActivityPub til at få en statisk side til at fremstå som en konto, som kan følges fra andre applikationer.
Projekter
Efter workshoppen blev følgende projekter præsenteret for vores kolleger
- Statisk side som ActivityPub bruger: Brugeren “jesper@ap.candscient.dk” kan følges fra Mastodon, på trods af, at “applikationen” ap.candscient.dk ikke implementerer nogen database eller brugerstyring. Brugeren “jesper” er hardcoded i ActivityPub responsen. Projektet tillader også udsendelse af indlæg til alle følgere.
- Doggo wallpaper: Python-script til at finde nyeste billede postet til et brugerdefineret tag på Mastodon. Billedet sættes derefter som baggrundsbillede på skrivebordet. Benytter Mastodon-API’et.
- Peertube flow-tv: Applikation til at simulere kanalsurfing på flow-tv. Hver gang der skiftes “kanal” findes en tilfældig Peertube video, som startes på et tilfældigt tidspunkt. Benytter Peertube-API’et.
Konklusion
ActivityPub kan ikke umiddelbart bruges på en intelligent måde i Magenta, men deltagerne ved helt sikkert meget mere om protokollen og applikationerne, som benytter den. Hvis det nogensinde bliver relevant i fremtiden, vil der være lidt erfaring at trække på.
Det åbne format i workshops er nødvendigt, når der arbejdes med noget, som ingen på workshoppen ved noget om. Man skal dog være opmærksom på, at man som deltager selv er ansvarlig for at få noget ud af dagene. Det vil vise sig ved senere evaluering, om deltagerne alle mener tiden på workshoppen var godt brugt – men det håber jeg selvfølgelig.