4 ms·
Stupid question: Why not RSS? User publishes a text, image, video. The feed gets updated. There are already a lot of services that can make you a newsfeed from
by julius 6y ago
Stupid question: Why not RSS? User publishes a text, image, video. The feed gets updated. There are already a lot of services that can make you a newsfeed from following a bunch of RSS Feeds.
PeerTube already allows me to follow a channel using RSS: https://tilvids.com/videos/watch/d8bf70c8-4de4-4110-a375-217a4621f541 https://tilvids.com/videos/watch/d8bf70c8-4de4-4110-a375-217... (Click on Subscribe -> RSS Feed)
What feature does ActivityPub have that is essential for building something like Mastodon?
- Arnt 6y agoThe article mentions a server in Japan that has a million users. Assume they each follow 15 users, half on their own instance, half elsewhere, and that off-instance followees are followed by an average of three users. If it used RSS, that server would issue 2.5m HTTP GET requests every few minutes in order to update the feeds, even the feeds where nothing has changed. Of course it could/would use per-feed adaptive fetch frequency and use HTTP if-modified-since, but all that's only damage limitation. This happens because RSS network activity is mostly O(users × time), not O(activity).
- robjan 6y agoJust throwing ideas out there but each instance could have its "firehose" feed and ping discovery services / followed instances when there is a relevant update. Not sure if there is any benefit over just sending the update and part of the ping payload.
- ratww 6y agoActivityPub "evolved" out of ActivityStreams, which were an extension of plain Atom feeds. Basically it was an Atom feed with some extra fields. The way we got it to work efficiently was by not using polling, but rather by using a push protocol called PubSubHubbub/WebSub that was championed by Google. PubSubHubbub/WebSub is compatible with RSS, so it's entirely possible to do what GP is proposing.
- Arnt 6y agoOh, I see. I thought the pushing was more tightly integrated than that. Anyway, gluing PubSubHubbub to RSS doesn't seem like a meaningful improvement over gluing it to Atom. Not a simplification either.
- rakoo 6y agoRSS is pull only. It probably serves 80% of needs for most people ("I want to know when so-and-so has new content without manually going to the site") but ActivityPub does a bit more: - pushes content to subscribers in real-time (doable with RSS with WebSub https://en.wikipedia.org/wiki/WebSub https://en.wikipedia.org/wiki/WebSub) - allows content to "swim back" to the publisher: comments, replies, retweets/boost (doable with WebMentions https://www.w3.org/TR/2017/REC-webmention-20170112/ https://www.w3.org/TR/2017/REC-webmention-20170112/) - defines a protocol for posting to an AP-enabled endpoint (doable with micropub) AP defines a lot of things but doesn't do it well (see https://schub.wtf/blog/2019/01/13/activitypub-final-thoughts-one-year-later.html https://schub.wtf/blog/2019/01/13/activitypub-final-thoughts...), because it is not strict enough in what constitutes valid content. There are alternatives, listed above, that already do the work but they are centered towards everyone having their own server and going from site to site to post comments; the real appeal of AP solutions is that they're an all-in-one blob you connect to, and from which you do your browsing. The indieweb people (responsible for the alternatives above) have come up with "social readers" to enable this and have made a few propositions already: see https://indieweb.org/social_reader https://indieweb.org/social_reader (https://aaronparecki.com/2018/03/12/17/building-an-indieweb-reader https://aaronparecki.com/2018/03/12/17/building-an-indieweb-... in particular)
- ratww 6y agoRSS can have push if it uses the same method that OStatus (ActivityPub's predecessor) did: PubSubHubbub/WebSub. In fact, Google itself recommended doing this for a while to Atom and RSS feeds to use this tech, since they wanted to be able to consume it on their end.
- rakoo 6y agoYes this is what I mentioned: WebSub moves the load from the publisher to the hub while giving subscribers their content as soon as it is published. But it's something that lives on top of RSS, and requires additional resources (especially for subscribers who need an endpoint running somewhere) RSS is just doing an HTTP call to retrieve a XML document.