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 ↩︎

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?

… 😍

Vor ein paar Tagen schrieb Tantek Çelik (@tantek.com) auf seinem Blog:

No large language models (LLM) were used in the production of this post.

Inspired by a subtle but clear sign-of-the-times one-line disclaimer at the end of RFC9518’s Acknowledgments (https://www.rfc-editor.org/rfc/rfc9518.html#appendix-A-4)

Ich weiß nicht ob „inspiriert“ hier der richtige Begriff ist… ich weiß was er meint und verstehe seinen Punkt, finde es aber auch sehr beängstigend. Ist es wirklich schon soweit, dass man explizit erwähnen muss, dass ein Mensch einen Text geschrieben hat?

Es fühlt sich ein wenig so an, als würden wir hier gerade wieder den gleichen bzw. einen ähnlichen Fehler begehen, den wir schon zweitausendirgendwas mit dem Social Web begangen haben.

„No large language models (LLM) were used in the production of this post.“ scheint das neue „IndieWeb“ oder „Fediverse“ zu werden. Man fängt an, das was eigentlich die Norm sein sollte, zur Ausnahme zu machen und neue Begriffe/Beschreibungen dafür zu finden.

Es gibt gerade erst wieder (nach fast 15 Jahren) verschiedene Diskussionen zu dem Thema „Social Web“ vs the „Fediverse“ und auch @Gargron (der Gründer von Mastodon) spricht im dotSocial Podcast mit @mike (der Gründer von Flipboard) vom Social Web!

Passend dazu hat @marcelweiss (der übrigens auch schon seit Ewigkeiten im Team „Social Web“ spielt), unsere neue Podcast Folge „neunetzcast 99: Nieder mit dem Fediverse, hoch lebe das Social Web“ genannt 🙂

Ich werde also weder das „Not By AI“ Badge, noch den Text „No large language models (LLM) were used in the production of this post.“ irgendwo auf meinen Blog packen, in der Hoffnung, dass die Nutzung von AI/LLM irgendwann kennzeichnungspflichtig wird!

Ich schreibe hier um meine Gedanken (mit euch) zu teilen, nicht für irgendeine Suchmaschine, das heißt wenn ich irgendwann nichts mehr zu scheiben habe, dann wird es hier eben einfach ruhig PUNKT

…and because it fits so well: Happy Birthday Ma.tt! And happy blogging forever!

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 😉 !

The Logo of the AT Protocol

Vor zwei Jahren wollte Twitter in das „Dezentrale Netzwerke“-Business einsteigen und gründete eigens dafür das Projekt Bluesky. In den folgenden zwei Jahren wurde viel evaluiert und diskutiert, was wohl die beste Lösung für Twitter sei und wir alle fieberten mit ob es nun ActivityPub oder doch Matrix werden würde…

Aber das Warten hat ein Ende! Bluesky hat verkündet wie es weiter geht!

Sie entwickeln ein neues Protokoll!

Das AT Protocol, kurz für Authenticated Transfer Protocol!

Ich hab mir die FAQ mal angeschaut und dort steht warum Bluesky sich gegen ActivityPub entschieden hat:

Account portability is the major reason why we chose to build a separate protocol. We consider portability to be crucial because it protects users from sudden bans, server shutdowns, and policy disagreements. Our solution for portability requires both signed data repositories and DIDs, neither of which are easy to retrofit into ActivityPub. The migration tools for ActivityPub are comparatively limited; they require the original server to provide a redirect and cannot migrate the user’s previous data.

Das erinnert mich ein bisschen an die Subline von meinem OpenWeb-Icons Font:

Why OpenWeb Icons? Because Font Awesome had no RSS-icon […]

Weil ActivityPub keine perfekte Lösung für „Account portability“ hat, bauen sie ein komplett neues Protokoll?

ActivityPub ist sicherlich nicht „feature complete“, aber ein guter erster Wurf, was das Fediverse erfolgreich bewiesen hat! Warum arbeitet Twitter also lieber an einem eigen Format anstatt mit dem W3C zusammen an ActivityPub v2?

Warum macht sich das W3C überhaupt noch die Mühe „Standards“ zu definieren?

Wegen der Interoperabilität!

Würde Twitter mit HTTP(S), HTML oder CSS ähnlich umgehen, würde der Browser einfach leer bleiben, weil das &$%§& Internet nur mit einheitlichen Standards funktioniert!

Und das gleiche gilt auch für dezentralte Netze, zumindest wenn sie erfolgreich sein wollen! Darüber hab ich tragischerweise schon vor 10 Jahren geschrieben!

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!

Dezentrale „Walled Gardens“

Das fediverse hat (wie schon erwähnt) bisher einen großartigen Job gemacht und verschiedenste Netzwerke mit den verschiedensten Ausprägungen vernetzt! Ich glaube bin der festen Überzeugung, dass sich diesmal wirklich das offene Format (ActivityPub) durchsetzen wird und Blueskys Authenticated Transfer Protocol auch in ein paar Monaten oder Jahren keine Rolle spielen wird!

Ben Werdmuller hat eine gesunde Einstellung zu dem Thema:

I’m so burned out by open source social, but I’m glad to see people throw energy at the problem, even if it’s not how I would have gone about it.

Twitter

Mehr hab ich dazu eigentlich nicht zu sagen, außer dass wir in der aktuellen Folge des neunetzcasts sehr ausgiebig über genau dieses Problem gesprochen haben!

Ich hatte es im Januar 2019 schon einmal erwähnt: Ich arbeite gerade an einem ActivityPub Plugin für WordPress. Da ich das ganze in meiner Freizeit mache, hat das auch seine Zeit gedauert, aber gerade ist es in einem ganz stabilen Zustand… immerhin funktioniert es mit den meisten bekannten Plattformen:

Es gibt zwar immer noch ’ne Menge zu tun, aber immerhin kann man:

  • dem eigenen Blog-Profil (Author-URL) auf Mastodon & Co. folgen
  • Blog-Posts werden mit den Followern geteilt
  • Kommentare auf Mastodon & Co. landen wieder im Blog

Ihr könnt das Plugin über WordPress.org oder GitHub installieren.

Wer Ideen hat oder Hilfe braucht, findet mich (immer mal wieder) im SocialHub von ActivitPub.rocks.

Ich bin gespannt auf euer Feedback!