Why Nostr? What is Njump?
2024-04-26 12:02:53

Matthias Pfefferle on Nostr: ## ActivityPub – The evolution of RSSDave Winer ([@davew]()) stellt (sich) auf ...

##

ActivityPub – The evolution of RSSDave Winer ([@davew](https://mastodon.social/@davew)) stellt (sich) auf [seinem Blog](http://scripting.com/2024/04/04/143706.html) und auf [Mastodon](https://mastodon.social/@davew/112213481032208332) 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](https://textcasting.org/)„, 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](https://mastodon.social/@davew/112213481032208332) 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](https://manton.org/activitypub/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.<a href="https://micro.blog/manton/34864514">https://micro.blog/manton/34864514</a>;



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](https://fed.brid.gy/r/https://tantek.com/) in einem [IndieWeb Vortrag spricht](https://youtu.be/FNr0JNwsLy8?feature=shared&t=1021).Inhalt von YouTube anzeigen




Hier klicken, um den Inhalt von YouTube anzuzeigen.
Erfahre mehr in der [Datenschutzerklärung](https://policies.google.com/privacy?hl=de) von YouTube.Inhalt von YouTube immer anzeigen




[„Tantek Çelik – The once and future IndieWeb“ direkt öffnen](https://youtu.be/FNr0JNwsLy8?t=1023)




> 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.<a href="https://youtu.be/FNr0JNwsLy8?feature=shared&amp;t=1021">Tantek Çelik – The once and future IndieWeb</a>



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](https://www.w3.org/TR/activitystreams-core/) (das Format, welches ActivityPub benutzt um Aktivitäten auszuzeichnen) etwas genauer ansieht, erkennt vielleicht ein alt bekanntes Format.<span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">entry</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">"http://www.w3.org/2005/Atom"</span>; <span class="hljs-attr">xmlns:activity</span>=<span class="hljs-string">"http://activitystrea.ms/spec/1.0/"</span>&gt;</span>; <span class="hljs-tag">&lt;<span class="hljs-name">id</span>&gt;</span>tag:photopanic.example.com,2009:photo/4352<span class="hljs-tag">&lt;/<span class="hljs-name">id</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">title</span>&gt;</span>My Cat<span class="hljs-tag">&lt;/<span class="hljs-name">title</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">published</span>&gt;</span>2010-11-02T15:29:00Z<span class="hljs-tag">&lt;/<span class="hljs-name">published</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">link</span> <span class="hljs-attr">rel</span>=<span class="hljs-string">"alternate"</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"text/html"</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"..."</span> /&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">activity:object-type</span>&gt;</span>photo<span class="hljs-tag">&lt;/<span class="hljs-name">activity:object-type</span>&gt;</span> <span class="hljs-tag">&lt;<span class="hljs-name">activity:verb</span>&gt;</span>post<span class="hljs-tag">&lt;/<span class="hljs-name">activity:verb</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">entry</span>&gt;</span></code></span><small class="shcb-language" id="shcb-language-1"><span class="shcb-language__label">Code-Sprache:</span> <span class="shcb-language__name">HTML, XML</span> <span class="shcb-language__paren">(</span><span class="shcb-language__slug">xml</span><span class="shcb-language__paren">)</span></small>

ActivityStreams wurden 2011 als [Namespace für Atom](https://activitystrea.ms/specs/atom/1.0/) 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](https://notiz.blog/tag/ostatus/), der Vorgänger von ActivityPub, [benutzte übrigens genau dieses Format um Aktivitäten auszuzeichnen](https://notiz.blog/2010/03/05/ostatus-the-next-generation-of-openmicroblogging/)!

Erst 6 Jahre später wurde die [Version 2.0](https://www.w3.org/TR/activitystreams-core/) 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](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) 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](https://indieweb.org/) (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](https://indieweb.org/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](https://notiz.blog/2019/08/16/farewell-ostatus/)!

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](https://github.com/search?q=topic%3Aindieweb+owner%3Apfefferle&type=repositories) 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](https://notiz.blog/2024/04/22/its-a-thing/#comments) (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.
Author Public Key
npub1xkqxl8s5jk79jf534nmr5kzjvxp0gdskt0g870qn2ckx6dedaals48yf42