WebSub solved the efficiency issue, no?
Comment on ActivityPub vs RSS Atom etc. Why Federate instead of aggrigate?
silverpill@mitra.social 3 weeks ago
The main advantage is efficiency. You don't need to poll 1000 servers every minute to get fresh content because everything is delivered straight to your inbox.
the cost of broad redundancy of content and authorship issues
ActivityPub doesn't have redundancy or authorship issues. An object only exists on the originating sever, other servers merely cache it. This is not different from what RSS readers do, for example.
rglullis@communick.news 3 weeks ago
Coopr8@kbin.earth 3 weeks ago
That's my impression. I haven't seen an argument yet as to what I'm describing not being fundamentally feasible.
It seems like most people here's opinion is essentially that ActivityPub is a better option mostly because it is one unified protocol vs having to develop around multiple protocols adding complexity. This seems to be why ActivityPub emerged out of OStatus, which was more similar to what I was describing.
General_Effort@lemmy.world 3 weeks ago
Many things are fundamentally feasible. I see 2 things you argue for.
One is changing the caching strategy. I don’t think that’s wise in terms of load sharing, but certainly feasible on a small scale. In certain circumstances, it may be preferred.
The other thing is using older protocols and standards. The practical reason to do this would be to use existing tooling, libraries, code. I’m not seeing such opportunities. I’m not that familiar with these, but it seems like they would have to be extended anyway. So I don’t really see the point.
Coopr8@kbin.earth 3 weeks ago
Good to know.
Regarding polling efficiency, that makes sense. As I understand it ActivityPub uses a combination of push notifications at time of publishing and pull notifications at time of subscription/query for objects? I can see how offloading that to an instance for multiple users vs every user definitely increases efficiency for content discovery/inboxing. I know there are protocols like websub to add push notifications to blog publishing, but they are required to be done at the publisher/host side. I do see this as a big nudge in ActivityPub's favor.
Duration of caching is set by the instance admin I take it?
At a minimum this is adding the number of instances that federate a given content streams to the multiple of storage needed to host the content, even if that storage is ephemeral. Not so big a problem at 100,000 users, but at 100,000,000 users this is a lot of storage cost we are talking about. Unless somehow the user/client doesnt cache the content they pull from an instance locally on their device when they view it?
Regarding Authorship, if there wasn't an issue then ATProtocol devs wouldn't have made it the cornerstone feature of their network. The ability to move accounts between instances and maintain content control permissions is currently one of the big focuses of development on ActivityPub as I understand it. Also as I understand it many Fediverse instances dont have edit functionaly enabled, meaning once the content goes out it is out of Author control. I'd like to know how delete requests propagate, when the "Object" is deleted does a request to clear cache go out to all federating instances?
My point was this isn't an issue when all content is self-hosted, because the author as the host can edit, delete, or migrate all they want and maintain full direct control over the source of that content the client interacts with whenever a pull request comes in. Yes the user Caches the content when they read it, but there is no intermediary copy.
General_Effort@lemmy.world 3 weeks ago
Worry more about the bandwidth. Your instance would have to serve your content to all these 100M users. The way it is, much of the load goes to the instance where a user is registered. That means that an instance can control hosting costs by closing registrations.
There’s the fundamental problem. What you think of as “your” data, other people think of as “their” data. That can’t be resolved. What’s worse is that controlling “your” data requires controlling other people’s computers and devices, as with DRM.
silverpill@mitra.social 3 weeks ago
It's a mix of pushing and pulling. When something happens, the server pushes a notification ("activity") to other servers. But recipients often need to pull additional data, such as user profiles or related posts.
Yes, and it also depends on the software. Some applications may keep cached objects forever and only prune cached media (because objects don't require much space).
Moving in ActivityPub world is difficult because authorship is tied to a specific server. We can solve this problem by using cryptographic identities and signing everything, like ATProto and Nostr do.
Deletes and edits are usually sent to followers of a user or a community. Delivering them to all known instances is not practical.
Coopr8@kbin.earth 3 weeks ago
Thanks, this is helpful.
Regarding encryption for signatures, that would be for edit and delete permissions only while the content stays unencrypted? Admin keeps delete control.
Delete requests go to all instances where followers reside then, but if someone has unsubscribed and is the only follower on the instance the content persists in cache?
silverpill@mitra.social 3 weeks ago
ActivityPub messages are not encrypted, but they could be signed. Signing doesn't prevent edits and deletes.
Yes, if someone has unsubscribed they are unlikely to be notified about the deletion.