Ein Screenshot von meinem identi.ca Account von 2009

Gestern vor 15 Jahren hat Evan seinen ersten Post ins Fediverse gesendet:

Fifteen years ago tomorrow I published the first post on the fediverse.

https://web.archive.org/web/20080618164355/http://identi.ca/notice/1

It’s still visible on Identi.ca today, although the URL format changed a few years ago, and the redirect plugin stopped working a few years after that.

https://identi.ca/evan/note/Y0QwGyc1QYilqqawkDrQlg

Thanks to everyone who made identi.ca a great place to be, and thanks to everyone who’s expanded the fediverse since then.

Someday soon-ish I’d like to have identi.ca working with ActivityPub. When I get the time for it!

https://cosocial.ca/@evan/110385636249899888

Vor 15 Jahren!!!

Erst laconi.ca/identi.ca dann status.net und jetzt gnu.social.

Von OpenMicroBlogging über OStatus zu ActivityPub.

Es ist faszinierend wie lange sich die Idee gehalten hat und das unabhängig von der Platform und dem Protocol!

Laut dem Screenshot von meinem Profil, bin ich auch schon seit Juli 2008 dabei.

Happy Birthday und mal schauen wie das Fediverse in 15 Jahren aussieht 😉 !

Schon seit der ersten Version von Mastodon wollte ich eine Lobeshymne auf OStatus schreiben! Sowas wie „OStatus hat auch nach über 6 Jahren an Relevanz nicht verloren“ oder „selbst nach 6 Jahren, setzen neue Plattformen mit Erfolg auf OStatus“ oder „mein 6 Jahre altes OStatus WordPress Plugin funktioniert mit nur wenigen Anpassungen auch mit Mastodon„…

Das kann ich mir jetzt leider sparen. Eugen Rochko, der Gründer von Mastodon, schrieb schon 2018:

I can’t wait until I can begin removing OStatus-related code from Mastodon. I think GNU social is the last remaining fediverse project that hasn’t yet switched to ActivityPub?

Eugen Rochko auf Mastodon

Über Patreon hat er seinen Plan jetzt nochmal konkretisiert:

[…] OStatus […] has overstayed its welcome in the code […] and now that most of the network uses ActivityPub, it’s time for it to go.

Eugen Rochko auf Patreon

…und der Pull-Request, der PubSubHubbub und Salmon ausbaut, wurde am 6. Juli ge-merged.

🙁

Wie geht’s weiter?

OStatus war wegweisend! Statt ein komplett neues Protokoll zu beschreiben, hat OStatus bestehende De-Facto-Standards in einer Spezifikation zusammen geführt. Für viele Plattformen, war es dadurch relativ einfach, OStatus einzusetzen, da sie in der Regel Teile der Spezifikation sowieso schon betrieben.

Protokoll-Übersicht von the-federation.info (Stand: 23. Juli 2019)

In den letzten Jahren habe ich aber gelernt, nicht zu sehr an Standards, Protokollen oder Technologien fest zu halten. OStatus wurde von ActivityPub eingeholt und aktuell ist GNU.social die einzige Plattform die ausschließlich auf OStatus setzt.

Zeit los zu lassen.

Ist ActivityPub die Zukunft?

Wie gerade schon geschrieben, ist es mir prinzipiell egal, welches Format sich durchsetzen wird. Mir ist nur wichtig dass sich ein Protokoll durchsetzt. Der Trend scheint zwar zu ActivityPub zu gehen… aber wer weiß?!?

Diaspora sieht bisher jedenfalls keinen Grund ActivityPub einzusetzen:

ActivityPub tries to work for everything and everyone. And because of that, they introduced a lot of flexibility and, sadly, a lot of ambiguity. Even though they tried, I found some reasons as for why we, as diaspora* developers, would not be able to build upon this new protocol without using heavily customized objects and activities.

Dennis Schubert in „ActivityPub – one protocol to rule them all?“

und vor ein paar Wochen habe ich außerdem gelesen, dass HubZilla versucht sein Protokoll Zot zu standardisieren:

Join the efforts to standardize the Zot protocol, currently used in Hubzilla and Zap platforms. This is a community initiative to push Zot adoption for federated social web.

fediverse.party

Ich bin gespannt!

— via wedistribute.org

2018 war ein durchwachsenes Jahr!

Mein privates „Ich“ hat letztes Jahr sehr viel Raum eingenommen und auch beruflich hat sich viel verändert.

Das heißt ich hatte generell wenig Zeit für mein online „Ich“ und wenn ich doch etwas Zeit hatte, war das Ergebnis meistens eher frustrierend.

Pfefferles OpenWeb

Bilder von "Pfefferles OpenWeb" Artikeln

Ich habe für das SCREENGUIDE/Webstandards-Magazin in den letzten 10 Jahren 36 mal „Pfefferles OpenWeb“, 3 Artikel, 1 Titelthema und 1 Interview geschrieben! Letztes Jahr musste der Verlag das Magazin aus „wirtschaftlichen Gründen“ leider einstellen und ich hab es nicht einmal geschafft darüber zu schreiben!

notiz.Blog

Und zum Bloggen kam ich, trotz der gewonnenen Zeit auch nicht! Wenn ich dieses Jahr so weiter mache, muss ich mir meinen selbstvergebenen Titel als „Chronist des OpenWebs“ wieder selbst aberkennen!

IndieWeb

Das IndieWeb wächst und das ist prinzipiell auch gut so. Neben den ganzen Nerds und Geeks interessieren sich auch immer mehr Blogger und Journalisten für das Thema. In der Community spricht man von der 2. Generation.

Auch das Interesse an WordPress wächst. Das ist nicht verwunderlich, immerhin geht es um die Berufsgruppe der Schreibenden und deren Seiten werden, mit einer Wahrscheinlichkeit von 30%, mit WordPress betrieben.

Dieses Interesse beißt sich aber leider mit meinen Möglichkeiten. Von Anfang an verfolge ich folgende Grundsätze des IndieWebs:

Scratch Your Own Itches. Make tools, templates, etc. for yourself first, not for all of your friends or ”everyone“.

und:

Use what you make! Whatever you build you should actively use. If you aren’t depending on it, why should anybody else?

Ich baue (mittlerweile) ausschließlich Plugins die ich für sinnvoll erachte und ich baue sie so, dass sie für mich funktionieren. Das mag erstmal egoistisch klingen, es ist für mich aber die einzige Möglichkeit dieses „Hobby“ überhaupt zu betreiben.

Ich verstehe, dass Anwender teilweise überfordert sind, meine Plugins zu benutzen, kann sie aber nicht in dem Umfang optimieren, der nötig wäre. Ideal ist wahrscheinlich ein großes IndieWeb Plugin, welches alle Features bereit stellt und, am besten ohne viel Einstellungen, einfach funktioniert. Aktuell nutze ich 50% aller, vom IndieWeb vorgeschlagenen WordPress Plugins, eine allumfassende Plugin Suite würde dann also nicht mehr meinen Anforderungen entsprechen.

Ich habe aktuell keine Ahnung wie ich aus diesem Dilemma heraus kommen soll. Es gibt Plugins die will ich nicht aus der Hand geben und Plugins die ich an die Community übergeben habe, werden aus Mangel an Entwicklern nicht weiter gepflegt. Aktuell arbeiten maximal 3 Personen (mich inbegriffen) an über 10 unterschiedlichen Plugins.

…und wenn das noch nicht genug wäre, kommt das „Microformats Problem“ noch on top.

Microformats

Microformats2 und WordPress scheinen nicht kompatibel zu sein und das ist schade, immerhin sind Microformats DER Building-Block des IndieWebs. Mehr noch: Microformats sind die API des IndieWebs!

Ich habe in den letzten Jahren viel ausprobiert um das Problem zu lösen, aber es gibt keine generische Möglichkeit, ein WordPress Theme mit Microformats2 auszustatten.

Benutzt man ein Plugin, um über Hooks einige zentrale Elemente (wie z.B. den Titel) Semantisch auszuzeichnen, bekommt man nette Effekte, mit Themes die ihre Ausgabe „escapen“:

After activating the last version (1.1.0) of your plugin on WordPress 4.9.8 with understrap theme my meta entry become : Posted on September 12, 2018 by <span class='p-author h-card'>Author</span> instead of : Posted on September 12, 2018 by Author for fun I look into the code and I think the error is here but since I’m totally not a PHP developer I’ll pass on the potential PR

Versucht man es mit einer Art Microformats Feed, bekommt man Probleme, alle Meta-Daten zu integrieren. Schlimmer noch, man arbeitet gegen einen Grundsatz der Microformats:

Design for humans first, machines second

Zusammengefasst: Microformats gehören ins Theme, es gibt aber keine generische Lösung. Eine generische API ist möglich, widerspricht aber der Microformats-Idee.

Aktuell gibt es drei WordPress Themes die Microformats2 voll unterstützen und um sein Blog wirklich IndieWeb tauglich zu machen, muss man eines dieser drei Themes benutzen oder selber HTML bzw. ein Theme schreiben.

Das ist frustrierend! Außerdem liefen die Diskussionen (meines Erachtens) etwas aus dem Ruder, weshalb ich mich letztes Jahr entschieden habe, mich aus dem Microformats-Thema komplett heraus zu nehmen.

OStatus

OStatus ist das zentrale Protokoll, über das identi.ca, status.net, gnu.social und friendi.ca sprechen. Es ist arsch-alt, funktioniert aber immer noch prächtig!

Ich hab mich wie bolle gefreut als OStatus mit Mastodon wieder frischen Wind bekam, hab mein altes OStatus Plugin ein wenig aufpoliert und wollte gerade freudig darüber berichten, als Eugen Rochko, der Macher hinter Mastodon, einen meiner Bugs, mit folgenden Worten schloss:

Closing on the grounds that OStatus is no longer our primary mechanism and will be deprecated in the future.

Mein vorbereiteter Blogpost hatte den Titel „My Blog is my Social-Network“ und der erste Abschnitt lautete:

Ich habe in den letzte Woche an einem Update für ein WordPress Plugin gearbeitet, das ich seit 6 Jahren nicht angerührt habe… Nicht dass das Plugin an sich nicht mehr funktioniert hätte, aber PHP und WordPress haben sich weiter entwickelt.

Schade!

ActivityPub

Aber dann kam ActivityPub! ActivityPub ist der heiße Shit im Fediverse. So zu sagen OStatus in neu und besser! Was AtomPub für Atom ist, ist ActivityPub für ActivityStreams… und noch ein bisschen mehr.

Ein Schaubild des ActivitPub flows

ActivityPub ist außerdem der erste, vom W3C veröffentlicht, „Standard“ (abhängig davon wie man „Standard“ definiert), der versucht ein dezentrales, soziales Netzwerke zu definieren.

Naiv wie ich bin, dachte ich, ich geb‘ dem Ganzen eine Chance. Die Spezifikation ist relativ simpel und ein „Standard“ ist „wohl definiert“, das heißt es gibt nur einen Weg um ihn zu implementieren!

Das Ergebnis (Trommelwirbel): ein ActivityPub Plugin für WordPress!

War es so einfach wie ich gedacht habe? Natürlich nicht! Es hat natürlich doch wieder jede Plattform seine extra Wurst, aber im Gegensatz zu Microformats2, basiert ActivityPub auf einer „echten“ API und lässt sich somit relativ leicht in WordPress integrieren.

ActivityPub und das Plugin waren definitiv das Highlight des Jahres, immerhin ist WordPress jetzt offiziell ein Teil des Fediverse:

und laut dem „2018 Report“ von fediverse.network sogar auf Platz 8 von 13.

Fazit

Die Arbeit an ActivityPub hat eigentlich Spaß gemacht und ich werde mich wahrscheinlich auch 2019 hauptsächlich mit ActivityPub beschäftigen!

2018 war nicht so dolle, 2019 kann nur besser werden!

Diaspora Logo

Diaspora* wurde kaum für „tot“ erklärt und schon steht das nächste Projekt in den Startlöchern! Tent.io soll ein protocol for distributed social networking and personal data storage werden. Alles neu, alles anders, alles besser als OStatus, DiSo oder Diaspora*. Aber mal ganz ehrlich… was haben die Diasporas & Co. bisher geschaffen? Ziel war es Facebooks „Walled Gardens“ aufzubrechen und was kam wirklich dabei rum? Eine ganze Reihe an dezentralen „Walled Gardens“. Na danke!

Seit Chris Messinas DiSO-Projekt schwärme ich ein wenig für das Thema „Dezentrale Netze“ und wie man die Idee am besten technisch umsetzen könnte. Trotz der „Schwärmerei“ ist mir aber durchaus bewusst dass das Thema noch nicht wirklich populär ist und kein wirkliches User-Bedürfnis deckt. Das hängt aber unter anderem damit zusammen, dass bisherige Bemühungen (und Diaspora ist ein Vorzeigebeispiel hierfür) rein technischer Natur sind! Aber:

  • „Open“ und „Dezentral“ sind keine Argumente um sich bei einer neuen Plattform anzumelden (zumindest nicht für die breite Masse).
  • Es ist idiotisch wenn jede Community ihr eigenes „Dezentralisierungsprotokoll“ entwickelt… das führt nämlich dazu, dass Diaspora und StatusNET zwar beide dezentral sind, aber nur die eigenen Netzwerke unterstützen.
  • Jedes neue Protokoll (mal abgesehen von OStatus) erfindet das Rad neu anstatt auf bisherigen Formaten aufzubauen. Warum muss alles JSON sein? RSS und Atom kann jedes Blog und mit ein bisschen „Zauberei“ reicht das vielleicht schon aus.
  • „Open Source“ und die Möglichkeiten das Projekt selber zu hosten überzeugt nur Geeks!

Wenn die großen Netzwerke wie Facebook, Twitter und Google+ sich nicht auf ein einheitliches Protokoll einigen, wird es wohl nichts mit der „dezentralen“ Idee! Ich möchte mich in Zukunft für eine Community entscheiden die meinen Interessen und Wertvorstellungen entspricht und nicht von der Mehrheit meiner Freunde abhängig sein. Wenn alle meine Freunde aber bei Facebook sind, bleib ich auch auf einem offenen und dezentralen Diaspora alleine!

Wir brauchen eine Art XMPP oder POP3/SMTP für soziale Interaktionen, unabhängig von einer spezifischen Plattform und trotzdem von allen unterstützt! Und dann haben auch kleine und unabhängige Projekte wie Diaspora und StatusNET wieder eine echte Chance! Die Zeit die bisher in Spezifikationen aller Art fließt sollte dazu genutzt werden, zuerst einmal Facebook und Google von dem Problem zu überzeugen und sie mit ins Boot zu holen.

…das ist übrigens das Thema meiner Kolumne im nächsten Screengui-Magazin. Also kaufen!

OpenWeb-Kolumne (wsm)

Damit das ganze Zeug über das ich so einmal im Quartal im Webstandards-Magazin schreibe nicht pure Science Fiction bleibt, hab ich mich die letzten Wochen mal daran gemacht, ein bisschen Federated Social Web für WordPress zu basteln!

Vor einigen Monaten kam Pepijn de Vos auf mich zu, ob ich ihm nicht bei einem „OStatus for WordPress“ (noch nicht runterladen! funktioniert noch nicht!) helfen wolle. Das damals größte Problem: Wie können wir so viele besehenden Plugins (pubsubhubbub, webfinger, …) wiederverwenden, ohne die Installation zu kompliziert zu gestalten. Da dieses Problem mittlerweile behoben ist und auch das Salmon-Plugin einigermaßen funktioniert, ist es Zeit für einen Test!

Ich würde mich freuen, wenn ihr zwei, drei oder vier Leser da draußen mal diesen Blog bei Status.net oder Identi.ca (oder bei jedem anderen StatusNet-Klon) abonnieren und wie wild auf diesen Artikel antworten könntet. Dazu müsst ihr einfach pfefferle at notizblog dot org folgen:

…und auf diesen Post antworten:

Was bisher funktioniert:

  • Artikel landen in Echtzeit bei StatusNet/Identi.ca (pubsubhubbub)
  • Antworten auf diese Artikel landen als Kommentare bei WordPress (salmon)

Zukünftige Features:

  • Kommentare auf WordPress-Seite sollen auch nach StatusNet/Identi.ca geschrieben werden
  • Bessere Integration in BuddyPress
  • …alles was euch noch so einfällt!?!

Ich würde mich sehr über Feedback, Fragen, Anregungen, Kritik, … freuen. Viel Spaß beim testen!

…sollte alles gut funktionieren, werde ich die Plugins dann nächste Woche veröffentlichen, also TESTEN!