Ich war, zusammen mit Sebastian Lasse, zu Gast beim Working Draft und wir haben mit Peter Kröner ein wenig über das „Open, Decentralized, Federated und Indie„-Web gesprochen.

Download MP3 | Apple Podcast | Spotify

Die Folge ist ein schöner Rundumschlag von ActivityPub bis Zot (naja, Zot hatten wir nicht wirklich angesprochen, aber es passt einfach so schön 😉 ) geworden:

Beginnend mit einem Versuch, die Begriffe Open, Decentralized, Federated, Indie etc. zu definieren steigen wir, wie die Nerds die wir sind, recht bald in die technischen Untiefen herab. Neben Protkollen wie ATOM, RSS und ActivityPub sind auch die solche Protokolle nutzenden Software wie Mastodon, Diaspora, oStatus, Identica, Status.net, Tent.io, Friendica ein Thema. Dezentral betriebene Software-Instanzen mit konpatiblen Protokollen bilden das Fediverse, dessen technische Inkompatibilitäten (u.A. betreffend Peer Tube und WebFinger, registerProtocolHandler) ebenso wie nichttechnische Aspekte (unter anderem Monetarisierung, Gouvernance, Nazis, Fake News (siehe Eunomia), End-User-Features wie den universellen Follow-Button und Förderungsmöglichkeiten) durchgekaut werden. Gegen Ende legen wir den Fokus auf das IndieWeb (komplett mit IndieWebCamps und Homebrew Website Clubs), Self-Hosting und wagen Rückgriffe auf das Web 2.0 mit Bestandteilen wie Flickr, Ping- und Trackbacks (in neu und cool: Webmention) und die von uns erst kürzlich abfällig betrachteten Microformats. Zuletzt darf der Verweis auf die mehrfacht erwähnte Offizielle ActivityPub Konferenz 2020 nicht fehlen – die Anmeldungs-Phase läuft! Ceterum censeo faciem liber esse delendam.

(Ein paar Links in den Shownotes von Working Draft wurden von mir nachträglich geändert)

Meine letzten beiden Blogposts wurden glaube ich etwas falsch verstanden, deshalb hier eine kleine Richtigstellung.

Ich hatte mich sehr gefreut (als ich fälschlicherweise dachte hoffte), dass WordPress vielleicht Matrix kompatibel wird und ich hatte mich etwas geärgert, als sich dann herausstellte, dass es nie darum ging WordPress in die Matrix zu bringen.

Frank hat mir dann auf Twitter geschrieben, dass es ja auch andere Wege gibt um ans gleiche Ziel zu kommen.

Ich ne, vielleicht per Trac in den core bringen.

…und Stefan hat es dann in den Kommentaren noch etwas konkretisiert.

Genau! WordPress ist OpenSource. Was hindert uns dem Wunsch zur Vaterschaft zu verhelfen?!

Macht Sinn! WordPress ist OpenSource Software und hat eine ziemlich umfassende Plugin API…

Warum also nicht einfach selber machen?

…und genau das ist die entscheidende Frage!

Mir ging es nie darum, dass speziell Matrix in WordPress integriert wird und ich war auch nie wirklich traurig, dass es nur ein Missverständnis war. Ich bin nicht mal ein großer Fan von Matrix und es gibt eine ganze Reihe an Protokollen die ich viel liebe integriert sehen würde.

Ich hatte statt dessen gehofft, dass sich eine Firma wie Automattic für das Thema dezentrale Netze, Fediverse, IndieWeb, oder wie auch immer man es nennen will, interessieren könnte und sogar Geld in die Hand nehmen würde um WordPress zu einem Teil dieser Bewegung zu machen.

„Selber machen“ probiere ich jetzt seit DataPortability.org (also seit ungefähr 2007/2008) mit nur mäßigem Erfolg. Für ein Side-Project ist das Thema einfach zu groß und investieren will leider auch niemand so wirklich.

Naja… vielleicht zieht ja irgendwann mein geheimer Masterplan 😉

Ich hab was Dummes gemacht!

Ich hab mir ein Plugin installiert um fehlerhafte und verwaisten Links auf meinem Blog zu finden und das Ergebnis ist echt frustrierend! Von 5.000 Links sind über 1.000 nicht mehr erreichbar und täglich kommen neue dazu.

Noch schlimmer: Es handelt sich fast ausschließlich um private Webseiten, Blogs und OpenWeb Projekte/Initiativen.

Willkommen im „open, portable, interoperable, social, synaptic, semantic, structured, distributed, (re-)decentralized, independent, microformatted and federated social web“ 🙁 .

Ein Bild von Matthias Pfefferle vom Humans of WordPress Interview

Martin Wolfert hat mich für sein Projekt „Humans of WordPressinterviewed.

Grundsätzlich möchte ich mit Humans of WordPress Menschen aus der WordPress-Community, aber auch dem erweiterten WordPress-Ecosystem mit Hilfe von ästhetischen Bildern und interessanten Interviewtexten vorstellen.

Wir sprechen über meine „WordPress-Story“ , über notiz.Blog, über dezentrale Netzwerke und das IndieWeb, über Gutenberg, Theme Entwicklung und über die Verantwortung der WordPress Community auch über die reine Software-Entwicklung hinaus.

Zum Interview.

Publish (on your) Own Site, Syndicate Elsewhere kurz POSSE ist ein zentraler Building Block des IndieWeb.

POSSE is an abbreviation for Publish (on your) Own Site, Syndicate Elsewhere, a content publishing model that starts with posting content on your own domain first, then syndicating out copies to 3rd party services with permashortlinks back to the original on your site.

https://indieweb.org/POSSE

Die Idee: Alles (Texte, Bilder, Podcasts, Videos, …) zuerst auf der eigenen Seite veröffentlichen und dann „Kopien“ über die sozielen Netzwerke teilen.

Vor ungefär 6 Jahren schrieb der hackr folgendes über POSSE:

das indieweb differenziert nicht in ‚text‘ der tatsächlich indiewertig ist und text, der im driveby entsteht und jeweils einer ganz konkreten logik entspricht. (das sozial dysfunktionale verhalten wäre, dass syndizierer auf den jeweiligen plattformen eher als spammer / bzw. eben genau als lästige syndizierer wahrgenommen werden, die die jeweilige plattform weder verstehen, noch die spezifität berücksichtigen, noch sich darum kümmern und nur gwm ‚melken‘ wollen)

hackr

Zusammengefasst: Die syndizierten Posts werden durch POSSE aus dem Kontext gerissen und könn(t)en dadurch in den entsprechenden sozialen Netzwerken nicht richtig eingeordnet werden.

Damals habe ich noch stark dagegen argumentiert:

Es geht eben nicht darum ein(en) Text/Bild/Video in so viele Netzwerke wie möglich zu streuen, sondern genau umgekehrt… Man schreibt den Text den man beispielsweise sonst explizit auf Twitter geschrieben hätte eben nicht auf Twitter sondern auf seiner eigenen Seite und pushed ihn danach in das Netzwerk um die Kontrolle über seinen und eine Kopie von seinem Text zu behalten.

ich

Es geht eben nicht um das syndizieren an sich, sondern um das „twittern/facebooken/… über die eigene Seite“.

guter punkt, nur stelle ich gwm. das vorhandensein eines tweets ausserhalb von twitter selbst in frage.

hackr

Durch Zufall hab ich mich vor ein paar Wochen an die Diskussion erinnert…

Es fehlt letztendlich nicht der Kontext auf Twitter & Co. sondern auf der „eigenen“ Webseite. Immer mehr Blogger in meinem direkten Umfeld POSSEen, aber nur die Wenigsten trennen diese Posts von ihren klassischen Artikeln. Das heißt in meinem Feed-Reader tauchen immer mehr zusammenhanglose Kurznachrichten, teilweise direkte Antworten auf Tweets oder sogar Issues für GitHub Projekte auf.

Im Prinzip ist es egal, wie man es dreht… durch das syndizieren geht der Kontext verloren und der hackr hatte damals doch recht 😉

Zusammen mit dem „microbloggen über die eigene Webseite“ wird POSSE zu einem echten Problem in meinem Feed-Reader 🙁

Die Art wie wir kommunizieren hat sich verändert. Die Flut an Informationen wird immer größer und wir nehmen uns immer weniger Zeit zum lesen und schreiben. Aus E-Mail wurde Messaging, aus Bloggen wurde Microbloggen und wir nutzen Emojis, Hashtags und andere Abkürzungen um die, so schon kurzen Texte, noch weiter zu „optimieren“.

Das ist prinzipiell auch nichts schlimmes, da sich mit jeder neuen Kommunikationsform in der Regel auch das Medium, mit dem ich es konsumiere, ändert. Messaging-Texte lese ich in Telegram und E-Mails kann ich weiterhin in meiner Mail-App lesen.

Komisch wird es aber, wenn sich Medien vermischen, oder wenn Tools versuchen unterschiedliche Medien zu normalisieren. 2011 versuchte Facebook, beispielsweise E-Mails und Messaging/Chat zu verheiraten und über eine Oberfläche nutzbar zu machen.

There are no subject lines, no cc, no bcc, and you can send a message by hitting the Enter key. We modeled it more closely to chat and reduced the number of things you need to do to send a message.

Facebook: See the Messages that Matter

Auf Facebook hat das Vorhaben auch gut funktioniert, aber über die klassiche Mail-App sah ein „Discussion-Thread“ nicht wirklich hübsch aus, weshalb das Projekt auch (zum Glück) wieder eingestellt wurde.

Aber wie komme ich auf das Thema?

Aktuell sieht es in meinem Feed-Reader folgendermaßen aus:

Reeder (RSS-Reader) auf dem iPhone

Keine Überschriften, komische Überschriften, nur das Datum oder sogar der ganze Text als Überschrift. Schuld daran ist, die Verschmelzung von Blogging und Microblogging. Oder besser: Die Nutzung eines Feed-Readers um Microblogs zu lesen.

Micro.blog ist ein Microblogging-Dienst, der 2017 über eine Kickstarter-Kampangne finanziert wurde. Micro.blog orientiert sich stark an der IndieWeb Community und unterstützt viele IndieWeb-Protokolle, wie z.B. Webmentions und Micropub. Der Service unterstützt außerdem das abonnieren von klassischen Blogs wie z.B. WordPress über das gute alte RSS Format. Und hier vermischen sich die beiden Themen.

Aus der WordPress Doku von Micro.blog:

Part of indie microblogging is getting back to the simplicity of title-less posts. When you’re writing a microblog post in WordPress, just leave the title blank, and if necessary update the post template to not include the title in HTML or the RSS feed.

Durch die IndieWeb Community veröffentlichen viele Personen in meinem Umfeld alle Arten von Texten und anderen Medien auf ihren eigenen Webseiten. Ein signifikanter Anteil von ihnen nutzt dafür WordPress und ein Teil davon wiederum meine Themes. Das heißt ich bin letztendlich sogar dreifach von diesem „Trend“ betroffen: als Konsument, als Entwickler und als Publisher.

Ich verstehe den Ansatz, den Micro.blog verfolgt durchaus:

You may find that some feed readers don’t gracefully handle posts without titles, often inserting “Untitled” for the title because they expect something to be there. If you see this, the best solution is to email the developer and ask for them to address it. Working around the issue with fake titles — dates, numbers, or portions of the text — will only ensure that client developers never improve their apps to handle title-less posts.

Apple macht es ganz ähnlich, wenn sie bei neuen iPhones die Kopfhörer-Buchse weg lassen oder bei Laptops nur noch USB-C Anschlüsse verbauen. Man könnte argumentieren, dass es der einzige Weg sei um den Fortschritt voran zu treiben, aber ich bin von den Änderungen meistens eher genervt! Ich bin nämlich derjenige der wieder neue Kopfhörer und einen &%$?§ voll Adapter braucht.

Ein ähnliches Gefühl habe ich gerade bei Microblogging über WordPress und Micro.blog. Nicht die RSS-Reader werden gezwungen sich anzupassen, sondern ich muss schauen, wie ich meine Lese- bzw. Schreibgewohnheiten verändere. Ich „muss“ mein Theme anpassen, ich „muss“ meine Schreibgewohnheiten anpassen und ich „muss“ schauen wie ich meinen Feed-Reader wieder „sauber“ bekomme.

Ich würde mir wünschen wenn Micro.blog nicht so restriktiv mit dem Interpretieren von RSS wäre und wenn es einen fließenderen Übergang gäbe.

Ich würde mich freuen, wenn ich weiterhin Titel schreiben dürfte, denn Titel sind gut für den Feed-Reader, für die sprechenden Permalinks oder einfach nur damit ich meine Artikel über die WordPress Oberfläche schneller wieder finde.

Ich würde mir wünschen, dass Micro.blog einfach immer den Text oder die Summary nutzen würde und den Titel nur als Fallback. Von mir aus auch abhängig vom Post-Type.

Aktuell gibt es für mich aber nur zwei Möglichkeiten:

  • Ich lasse den Titel weg -> Micro.blog zeigt den vollen Text an und im Feed-Reader sieht’s scheiße aus
  • Ich schreibe einen Titel -> Micro.blog zeigt nur den Titel an, aber im Feed-Reader siehts gut aus

Es gibt natürlich auch noch andere Lösungen, aber die sind immer mit Arbeit verbunden: HTTP Agent auslesen und nur für Micro.blog den Titel ausblenden, extra Feed für Micro.blog, …

Am Schluss ist Micro.blog aber nur exemplarisch für eine generelle Entwicklung in der IndieWeb Community.

Peter Molnar hat in einem ähnlichen Zusammenhang etwas sehr passendes dazu geschrieben:

If I look at my wall, my timeline, or any other stream, it’s a mess which I’m not proud of. It’s a never-ending scroll of things, without structure, without separating the less important from the more important, without me, without focus. “regaining focus” is becoming much of a buzzterm but there is truth behind it.

I want the blogs back


Wahrscheinlich sind es nicht die fehlenden Titel die mich aufregen, sondern die Flut an unstrukturierten, zusammenhanglosen Microblogposts, die ich eigentlich gar nicht in meinem Feed-Reader haben will.

…aber das ist eine andere Geschichte.

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!