Die Fediverse Files sind eine fantastische Videoserie über das Fediverse, und ich bin stolz, Teil davon zu sein! @docpop bringt mit seinem einzigartigen Stil eine perfekte Mischung aus Information und Popkultur in jede Folge. Auch der Cast ist hervorragend, und ich schätze @docpop, @evan und @bart sowie ihre Arbeit für das Fediverse sehr.

Es freut mich besonders, dass WordPress.com/Automattic und @docpop zusammengefunden haben!

Genug der Lobhudelei!

Ich kann jedem, der die Fediverse Files bisher noch nicht gesehen hat, nur ans Herz legen, dies umgehend nach zu holen! Viel Spaß beim Binge Watching 🍿

Hier klicken, um den Inhalt von YouTube anzuzeigen.
Erfahre mehr in der Datenschutzerklärung von YouTube.

Hier klicken, um den Inhalt von YouTube anzuzeigen.
Erfahre mehr in der Datenschutzerklärung von YouTube.

Hier klicken, um den Inhalt von YouTube anzuzeigen.
Erfahre mehr in der Datenschutzerklärung von YouTube.

Hier klicken, um den Inhalt von YouTube anzuzeigen.
Erfahre mehr in der Datenschutzerklärung von YouTube.

Hier klicken, um den Inhalt von YouTube anzuzeigen.
Erfahre mehr in der Datenschutzerklärung von YouTube.

Twitter hat sich verändert und das leider nicht zum Guten!

Hier ein paar Schlagzeilen:

Ich habe, um ehrlich zu sein, keine Ahnung, warum ich immer noch bei Twitter bin, und ich glaube, bei Facebook hat damals wesentlich weniger gereicht, um meinen Account zu löschen

Klar, Twitter war über 17 Jahre lang das soziale Netzwerk meiner Wahl und hatte über lange Zeit hinweg wenig bis keine Konkurrenz! Ich habe viele spannende und inspirierende Menschen kennengelernt. Twitter hat mir geholfen, mich mit der deutschen Web2.0-Community zu vernetzen. Barcamps und Webmontage wurden über Twitter organisiert und diskutiert. Außerdem verdanke ich Twitter wohl auch meinen aktuellen Traum-Job bei Automattic!

Aber das alleine hat mich die letzten zwei Jahre nicht auf Twitter gehalten. Die Menschen, die mir wichtig sind (inklusive mir), sind weitergezogen und haben das Fediverse für sich entdeckt. Ein besseres Job-Angebot als das von Automattic ist aktuell eher unwahrscheinlich (😍) und wenn es hochkommt, schaue ich maximal alle zwei Wochen bei Twitter vorbei, und seit Monaten nutze ich schon keine Twitter-Apps mehr auf meinem Handy oder Computer.

Das was mich hält, kann also nur Nostalgie und die Romantisierung der „guten alten Zeit“ auf Twitter sein!?!

Ich widme jetzt fast 20 Jahre meiner Zeit der Open Web Idee (von Web2.0 über Social Web bis hin zum Fediverse) und predige auf meiner Seite, auf totem Holz, in Podcasts und auf Konferenzen, wie wichtig es ist sich unabhängig vom „corporate web“ zu machen und die volle Kontrolle über seine eigenen Daten zu haben.

Nur fair, wenn ich jetzt auch umsetze, was ich da so von mir gebe!

Ich glaube, vielen geht es ähnlich wie mir: Sie sind unzufrieden mit Twitter, haben ihren Account aber aus Sentimentalität noch nicht gelöscht. Doch so wird sich langfristig nichts ändern. Der einzige wirkungsvolle Protest ist das konsequente Löschen all dieser inaktiven Profile. Das Netzwerk verdient durch uns und mit uns Geld, und nur wenn die Nutzerzahlen sinken, wird genügend Druck erzeugt! Aber selbst wenn nicht… das ist dann nicht mehr mein Problem ☺️

Also…

Ein Screenshot von meinem gelöschten Twitter-Profil.

…oder um es mit den Worten von Groucho Marx zu sagen:

Hello, I must be going, I cannot stay,
I came to say, I must be going.
I’m glad I came, but just the same,
I must be going.

Wir sehen uns im Fediverse 👋

Dave Winer (@davew) stellt (sich) auf seinem Blog und auf Mastodon die Frage:

What does ActivityPub does that RSS doesn’t?

und nimmt vorweg:

Off the top of my head, it’s not the ability to syndicate, RSS already does that. I can follow anyone on any server.

Es macht natürlich Sinn, erstmal zu klären was RSS ist und kann, um auf die Vorteile von ActivityPub einzugehen!

Also RSS steht für „Really Simple Syndication“ und ist eine Art „Digitale Einbahnstraße“, so zu sagen der Newsletter oder Podcast für Texte auf Webseiten. Und weil es dem Podcast so ähnlich ist (und eigentlich auch dessen technische Basis) nennt es Dave Winer auch neuerdings „Textcasting„, was ich großartig finde!

Applying the philosophy of podcasting to text.

Und technisch gesehen ist das auch der große Unterschied zu ActivityPub. Während ich bei Textcasting, Texte nur abonnieren kann, habe ich durch ActivityPub auch einen Rückkanal, der mir ermöglicht, die Texte auch zu liken, mit meinen Freunden Followern zu teilen und zu kommentieren!

In den Kommentaren zu Daves Mastodon Post wird auch fast ausschließlich über diese technischen Aspekte diskutiert. Es geht um Push vs. Pull und immer wieder darum, dass RSS ja eigentlich vollkommen ausreichend und viel simpler ist.

@manton fasst es ganz gut zusammen:

I think RSS + Webmention (for sending replies) gets you 90% of the way there. ActivityPub does provide a comprehensive framework for the rest, though, and perhaps follows modern social network conventions more closely, e.g. liking posts, approving follows.

https://micro.blog/manton/34864514

Aber ist die Technik das, was hier wirklich den Unterschied macht?

Die Diskussion erinnert mich sehr an den RSS vs. Atom „War“, von dem @tantek.com in einem IndieWeb Vortrag spricht.

Hier klicken, um den Inhalt von YouTube anzuzeigen.
Erfahre mehr in der Datenschutzerklärung von YouTube.

I saw the best minds of my time waste our time arguing about syndication formats, arguing about plumbing, user don’t care about plumbing but for some reason we thought that that mattered, we thought that actually really mattered which XML tags to use in RSS versus Atom. […] So we focused on the wrong things we argued about plumbing instead of user experience.

Tantek Çelik – The once and future IndieWeb

Vielleicht kommt man mit RSS, WebSub und Webmentions auf ein relativ ähnliches Ergebnis und es ist technisch gesehen wahrscheinlich auch etwas einfacher umzusetzen… Aber sind RSS und ActivityPub wirklich so weit auseinander?

Für mich ist ActivityPub einfach nur die logische Weiterentwicklung, oder auch die nächste Generation von RSS. Wer sich die erste Version von ActivityStreams (das Format, welches ActivityPub benutzt um Aktivitäten auszuzeichnen) etwas genauer ansieht, erkennt vielleicht ein alt bekanntes Format.

<entry xmlns="http://www.w3.org/2005/Atom"
       xmlns:activity="http://activitystrea.ms/spec/1.0/">
  <id>tag:photopanic.example.com,2009:photo/4352</id>
  <title>My Cat</title>
  <published>2010-11-02T15:29:00Z</published>
  <link rel="alternate" type="text/html" href="..." />
  <activity:object-type>photo</activity:object-type>
  <activity:verb>post</activity:verb>
</entry>Code-Sprache: HTML, XML (xml)

ActivityStreams wurden 2011 als Namespace für Atom definiert um RSS/Atom Feeds mit Informationen anzureichern, die man aus den sozialen Netzwerken kennt. Das ist hauptsächlich der object-type um neben Texten auch Bilder oder Videos auszuzeichnen, und verb um klar zu machen um was für eine Aktion es sich genau handelt.

OStatus, der Vorgänger von ActivityPub, benutzte übrigens genau dieses Format um Aktivitäten auszuzeichnen!

Erst 6 Jahre später wurde die Version 2.0 als reines JSON Format veröffentlicht, was aber auch Sinn macht, da JSON das Format ist, welches moderne APIs eben sprechen.

Das heißt ActivityStreams ist im Prinzip eine moderne Form von RSS und ActivityPub ist einfach „nur“ ein PubSub System welches drumherum gebaut wurde.

Aber zurück zur Usability!

Die Frage ist für mich nicht RSS oder ActivityPub… Die wesentlich interessantere Frage ist: Feed-Reader oder Mastodon?

Die RSS oder IndieWeb Community (und ich zähle mich zu beiden, es geht hier nicht um Blaming) hat bisher leider kein massentaugliches Tool etabliert, welches mit der Usability und Reichweite von Mastodon (und Mastodon ist hier nur exemplarisch für eine Fediverse Platform… Pixelfed, Misskey und andere machen einen ähnlich guten Job) mithalten kann. Mastodon ermöglicht das dezentrale folgen, abonnieren, kommentieren, liken und sharen in einer simplen Oberfläche. Kein RSS-Reader, den man zum Kommentieren verlassen muss und kein IndieWeb-Reader, der eine eigene Webseite mit diversen Login- und Ping-Mechanismen voraussetzt!

Mastodon zeigt außerdem sehr deutlich dass Technik austauschbar ist, immerhin ging die Plattform 2016 mit OStatus an den Start und schwenkte erst zwei Jahre später auf ActivityPub!

Ich beschäftige mich jetzt seit ungefähr +/-15 Jahren mit dem Thema, welches man heute als Fediverse oder IndieWeb zusammen fassen würde, und habe auch ein gutes Jahrzehnt an Arbeit in diverse IndieWeb Projekte gesteckt, aber Mastodon und ActivityPub sind in ihren Auswirkungen bisher konkurrenzlos!

Dank Mastodon und ActivityPub habe ich wieder bis zu 50 Kommentare auf einen einzigen Blog-Post (Likes und Boosts nicht mit gezählt) während über RSS (gemessen an Kommentaren über das WordPress Formular) und Webmentions vielleicht eine Reaktion im Monat kommt.

Das Fediverse tut sich schwer, das volle Potential der verschiedenen Activity-Objects auszunutzen, hauptsächlich aus Angst, sie falsch oder schlecht darzustellen und deshalb teilen die meisten großen Netzwerke leider nur Notes.

Dabei könnte es so einfach sein!

@deadsuperhero schreibt auf seinem Blog, dass er eigentlich gerne Articles veröffentlichen will, aber (hauptsächlich) durch Mastodon zu Note gezwungen wird, wenn er sicher gehen will, dass der Text vollständig dargestellt wird.

Here’s the problem, though: the biggest player in the space, Mastodon, does a poor job of supporting Article. Instead, every post Mastodon uses is instead a Note. From a semantic point of view, it might not seem like there’s a lot of difference between the two: both are effectively texts posts that can contain some formatting markup, both can hold an arbitrary amount of characters, and both can effectively be used to represent a full article.

A Content-Fallback Mechanism for the Fediverse

Ironischerweise zeigt Mastodon eine föderierte Note vollständig an, auch wenn der Text weit über die eigentlich erlaubten 500 Zeichen hinaus geht, bei einem Article wird statt dessen aber nur die kurze summary benutzt.

Seine Idee: Ein Content-Fallback Mechanismus!

Das heißt jede Aktivität, egal von welchem Typ, liefert zusätzlich zu dem spezifischen Objekt, eine standardisierte Note (content-fallback):

{
  "@context":[
    "https://www.w3.org/ns/activitystreams",
    {
      "Hashtag":"as:Hashtag"
    }
  ],
  "id":"https://wedistribute.org/2024/04/iftas-dsa-guide/",
  "type":"Article",
  "content-fallback": {
    "content":"IFTAS, the dedicated Trust & Safety organization ...",
    "mediaType":"text/plain",
    "summary":"",
    "tag":[{
      "href":"https://wedistribute.org/tags/fediverse",
      "name":"#fediverse",
      "type":"Hashtag"
    }],
    "type":"Note",
    "updated":"2024-04-11T20:55:29Z"
  }
}Code-Sprache: JSON / JSON mit Kommentaren (json)

Ich verstehe das Problem und finde die Idee generell nicht schlecht, aber eigentlich bietet ActivityPub alles Nötige schon von Haus aus! ActivityPub oder besser ActivityStreams ist so aufgebaut, dass alle Objekte von einem Art Base-Object abgeleitet werden. Das heißt Article, Note, Event oder Place, haben ein gleiches Minimal-Set an Attributen:

Und auch wenn beispielsweise Place oder Event einige spezifische Eigenschaften haben, die nicht jede Plattform „kennt“ und „versteht“, sollte es immer möglich sein, die Beschreibung (content oder summary) und den Titel (name) anzuzeigen.

Das Prinzip ist ähnlich wie, wenn nicht sogar inspiriert durch, schema.org/Thing. Auch hier basieren alle Objekte letztendlich auf einem Thing und trotz der wesentlich größeren Anzahl1 an Objekten und Attributen, können Suchmaschinen sich immer sicher sein, dass es zumindest einen name, eine description und eine url zum Anzeigen gibt.

Bevor wir über also über ein `content-fallback` nachdenken, sollten wir (meiner Meinung nach) erst einmal dafür sorgen, dass die vorhanden Möglichkeiten richtig genutzt werden.

  1. The vocabulary currently consists of 806 Types, 1474 Properties 14 Datatypes, 90 Enumerations and 480 Enumeration members. – https://schema.org/docs/schemas.html ↩︎

Es scheint wohl zum guten Ton zu gehören, dieser Tage einen Newsletter zu betreiben… und da ich das immerhin schon seit 2005 tue, dachte ich, ich mache auch mal etwas Werbung dafür!

Und ja, ich hatte schon einen Newsletter, lange bevor Newsletter cool waren!!!

Das Thema ist natürlich das „open, portable, interoperable, small, social, synaptic, semantic, structured, distributed, (re-)decentralized, independent, microformatted and federated social web“, was auch sonst.

Das Archiv mit alten Veröffentlichungen findet ihr hier und abonnieren könnt ihr ihn hier.

Viel Spaß beim Lesen 😉

Aber jetzt im Ernst: Warum sollte man einen Newsletter starten, wenn man schon ein Blog hat? Was ist der Unterschied außer die Art der Distribution?

Keine Angst, es geht nicht um Avatare ohne Beine!

Threads has entered the fediverse!!!

TL;DR: Ich freue mich, dass Meta diesen Schritt geht und ich zukünftig vielleicht all meine Freunde im Fediverse Social Web treffen kann, ohne dafür einen Threads, Facebook oder Instagram Account zu benötigen, ich respektiere aber auch jeden, der anderer Meinung ist und das Netzwerk (aus guten und nachvollziehbaren Gründen) blockiert.

Meta experimentiert ja schon eine ganze Weile mit ActivityPub, aber jetzt können wirklich alle, die:

das Teilen im Fediverse auf Threads aktivieren!

If they do, they’ll be able to publish posts on Threads that will be viewable on other ActivityPub-compliant servers. Threads users will also be able to see aggregated like counts on their posts from other fediverse servers directly from the Threads app. If people on other fediverse servers follow federated Threads profiles they’ll be able to see, reply to, and repost Threads posts (if their server allows it).

Das ist sicherlich noch alles sehr limitiert und klingt auch immer noch experimentell, aber es ist raus aus der „beta“ Phase und ein erstes Zeichen, dass Meta es mit ActivityPub doch ernst meinen könnte.

Ich bin wirklich kein großer Fan von Meta/Facebook und habe den „Verein“ in der Vergangenheit heftig kritisiert, aber ich glaube diese Entwicklung ist wichtig und ich freue mich dass Meta sie (bisher noch) weiter verfolgt!

Die Entwicklung ist wichtig, da ohne Meta das Fediverse einfach nur das Fediverse bleibt und wir uns die Diskussion, ob „Social Web“ nicht passender wäre, sparen können. Ohne Facebook (et al.) ist das Fediverse nur eine Nische, zwar eine offene und dezentrale Nische, aber eben nur eine Nische.

Ich weine immer noch den Anfängen der Web 2.0 Zeit nach, in der Blogs und soziale Netzwerke sich ergänzt und nicht untereinander konkurriert haben. Das bezieht sich aber nicht ausschließlich auf Walled Gardens wie Facebook und Twitter, auch Netzwerke wie Diaspora, die im Grunde zwar dezentral aufgebaut sind, aber nie den Anspruch erhoben auch mit anderen Netzwerken zu „föderieren“, waren bzw. sind das Problem.

Was ich vor 12 Jahren über Diaspora geschrieben habe, passt (glaube ich) immer noch sehr gut:

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!

Dezentrale „Walled Gardens“

Beide Seiten müssen kooperieren, deshalb finde ich es wichtig, dass sich das Fediverse auch für Threads öffnet!

Da aber genau diese Haltung die Fediverse-Community spaltet, möchte ich das nicht so stehen lassen.

Evan Prodromou, benennt die zwei entstandenen Lager in einem Blog-Post „Big Fedi versus Small Fedi“ und ich würde mich (aus den oben genannten Gründen und auch wenn ich den Namen unpassend finde) eher dem „Big Fedi“ Lager zuordnen, schon alleine wegen dem ersten Punkt:

The fediverse should be big. Real big. Like, everyone on the planet should have an account on the fediverse. It will make the internet better and the world better.

Das heißt aber weder, dass ich allen Punkten von „Big Fedi“ zustimme, noch dass ich alle Argumente aus dem „Small Fedi“ Abschnitt ablehne… im Gegenteil!

Gleich den ersten Punkt der „Small Fedi“ Liste, sehe ich als essentiell wichtig für das weitere Bestehen und die Zukunft des Fediverse und bin der Meinung, dass er beiden Lagern zugeordnet werden sollte muss:

The fediverse should be safe. Safe from harassment, safe from privacy violations.

Für viele ist Threads per se eine Verletzung dieser Aussage und die fedipact Seite empfiehlt, das Meta-Netzwerk aus genau diesen Gründen zu blocken:

tl;dr

  1. they won’t moderate effectively, there is precedent with facebook being a toxic cesspit of hate
  2. they have a long track record of pure evil and we have no reason to give them the benefit of the doubt
  3. to protect the existing communities of marginalized people on the fediverse, many of whom rely on it to survive
https://fedipact.online/why

Das sind alles valide Argumente, die Schlussfolgerung ist in meinen Augen aber die Falsche. Mit Spam und Abuse hat das Fediverse auch jetzt schon und gänzlich ohne das zutun von Threads zu kämpfen. Wie toxisch das Fediverse sein kann, zeigt der Fall von „Content Nation“ vom März diesen Jahres mehr als deutlich.

Aside from simply blocking the domain and moving on, community members decided to have a little bit of extra fun, attempting to “make the crawler crash“, send angry emails to the service operator, and more. After some study of how the site worked, one person had the malicious idea to send a remote post containing child pornography to the site, before getting someone else to report Content Nation for Child Sexual Abuse Material.

Content Nation Backlash Highlights Mastodon’s Toxicity

Threads zu blocken, ist nicht die alleinige Lösung für das stetig wachsende „Trust & Safety“ Problem. Neben simplen Block-Listen, brauchen wir zukünftig bessere Strategien um diesem Problemen Herr zu werden. Wir brauchen mehr Initiativen wie IFTAS und Services, die sich ähnlich wie mit E-Mail- oder Kommentar-Spam, zukünftig auch mit Social Media „Spam“ befassen.

Andernfalls betreiben wir einfach nur „Security by obscurity„.


Aber eine Sache noch zum Schluss: In dem Abschnitt in dem Meta ActivityPub und das Fediverse erklärt, wird ausgerechnet WordPress als das einzige Beispiel neben Mastodon erwähnt.

The protocol plays a key role in allowing Threads to be interoperable with other servers that also use it. Eventually, people on Threads will be able to interact with people on platforms like Mastodon and WordPress without having to sign up for accounts on those apps.

What is ActivityPub?

… 😍

Ich war am Wochenende auf dem CloudFest Hackathon und hatte zum zweiten Mal die Change ein Projekt zu betreuen. Die Idee zu „Enable Mastodon Apps“ stammt von @alex und ich freue mich sehr, dass er mir sein „Baby“ für den Hackathon anvertraut hat!

Hier ist unser Pitch:

Hier klicken, um den Inhalt von YouTube anzuzeigen.
Erfahre mehr in der Datenschutzerklärung von YouTube.

Ich bin begeistert von der Idee!

Das Nachbauen der Mastodon-API stellt eine relativ einfache Lösung für das aktuelle ‚App-Problem‘ von WordPress dar. Die gängigen Apps zielen darauf ab, den Nutzern das traditionelle Bloggen zu ermöglichen. Allerdings haben soziale Medien im Allgemeinen und Twitter im Speziellen, die Art und Weise wie wir im Internet kommunizieren, maßgeblich verändert. Es geht nicht mehr um lange Artikel, sondern um kurze Nachrichten ohne Titel mit dem Fokus auf Bilder oder Videos.

Ein weiterer Nebeneffekt sind die sozialen Interaktionen wie Kommentieren (die WordPress über die letzten Jahre spärlich vernachlässigt hat), Liken, Boosten und Bookmarken (die WordPress nativ gar nicht unterstützt), welche die Mastodon Apps von Haus aus schon mit bringen.

„Enable Mastodon Apps“ stellt aber nur die Endpunkte für diese Interaktionen bereit, um sie nutzen zu können, braucht es weitere Plugins, wie z.B. Friends und/oder ActivityPub. Mehr dazu hier: Friends with ActivityPub – Deine nachhaltige Identität im Web.

Das Projekt hat mich sehr an die frühen Twitter-Jahre erinnert. Die Twitter-API galt lange als der de-facto Standard für Micro-blogging und Automattic/@photomatt hat damals schon die Vorteile für sich erkannt und die API für WordPress.com nach gebaut:

Of course one of the coolest things about Twitter right now is the client applications, particularly the mobile/iPhone ones. I use Tweetie 2 on my iPhone every day. Wouldn’t it be cool if you could get all your blog subscriptions and post to your WordPress.com blog from apps like Tweetie? Well here’s an early Christmas present…

We’ve enabled posting to and reading of WordPress.com blogs via the Twitter API. Any app that allows you to set a custom API URL will work.

Post and Read via Twitter API

Hackathon

Wir waren zwar nur 4 Personen, aber ich sag nur „Qualität statt Quantität“!

Vielen Dank @Drivingralle, @matze und @obenland, es war super produktiv und hat großen Spaß gemacht 🙂

Von links nach rechts: Ralf Wiechers, ich, Matthias Kittsteiner und Konstantin Obenland

Was wir erreicht haben:

  • Die meisten Mastodon-API-Endpunkte wurden implementiert.
  • „Hooks“ und „Actions“ für den internen Gebrauch.
  • Dokumentation aller Hooks.
  • Grundlegende Beispielimplementierungen in ActivityPub und im Friends Plugin.
  • Testen von zusätzlichen Clients.

Und hier ein paar Statistiken von den zweieinhalb Tagen:

  • 3 new contributors to the plugin
  • 4,101 lines added
  • 911 lines removed
  • 213 commits
  • 34 files changed
  • 25 PRs merged
  • 7 PRs almost merged
  • 0 Social Media posts

Und hier der Pull Request in seiner ganzen Pracht: Collection of changes from the CloudFest Hackathon

Vielen Dank auch an @bart und das Team von Mammoth, die uns im Vorfeld unterstützt haben. Mammoth funktioniert jetzt wunderbar mit WordPress und Alex und ich hatten einen Einblick in die App-Entwicklung und deren Eigenheiten 🙂

Hier ein paar Bilder: