this post was submitted on 23 Feb 2024
31 points (86.0% liked)
Fediverse
27123 readers
226 users here now
A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).
If you wanted to get help with moderating your own community then head over to [email protected]!
Rules
- Posts must be on topic.
- Be respectful of others.
- Cite the sources used for graphs and other statistics.
- Follow the general Lemmy.world rules.
Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration), Search Lemmy
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
It will be interesting to see what Friendica devs come up with!
I've just started looking at the AT protocol. What sort of WTF things are in there?
The inclusion of some kind of web3 identifier that never seemed to get used for web3 things comes to mind. The methodology of most federation work also seems to indicate that hosting an alternative server may require significantly more resources compared to an ActivityPub server, though this may be outdated information.
I also don't particularly like their moderation strategy. It seems very Nostr-like, and it's more about hiding things than actually blocking things.
They also felt like they needed to invent their own notation language to describe their protocol, which makes reading the protocol spec kind of weird.
They also decided to use Javascript's 53 bits of integer precision as an upper bound for their protocol. I certainly wouldn't have designed my cross-platform protocol around the programming language I happened to choose.
Lastly, Bluesky offers a flag to suggest clients hide your profile and posts, but doesn't have the ability to hide that data. With ActivityPub, you can simply refuse to list posts and maintain some amount of privacy (especially combined with enabling follow requests), but AT doesn't seem to care much about that.
not the OP, but
i was going to point to the did:plc thing they made up and went with. but since the last time i looked, it looks like they support (and prefer) did:web, so that's sorted out.
the "wtf" i have is more to do with actually running a community with atproto. you need a central crawler service that knows about all the PDSes you want to be friends with (this is presumably why you need to sign up in their discord right now, they gotta tell their crawler to look at your PDS)
but i think the crawler has to grab the entire PDS for everyone it knows about? if you want a large community, it seems pretty resource-intensive since the ceiling is "infinity posts". bsky's open source code suggests they have chosen not to deal with this problem.
with most AP services (e.g. mastodon), you can prune the data and the only consequence is "you don't get full text search for super old posts received from other services that we pruned", so there are ways to limit the cost other than "limit the number of users in our community".
but this may just be an implementation detail and not an issue with atproto, e.g. git shallow clones are a thing, and the PDS is also storing a big merkel tree. i am not sure if the indexer relies on having the complete history or not (since you do need it for certain operations). bsky's own code just shrugging suggests maybe limiting it is challenging, i dunno.
What you note about the crawler appears to be essentially by design:
In their section on so-called "Big World" design:
Emphasis mine.