Things I think don't work well or at all in #Activitypub (the protocol behind the #fediverse), due to limits of the protocol or the used vocabulary:
- Being able to control replies (who can reply, which replies are visible; some platforms suggest control of who can reply but you can't really prevent people from replying on other platforms)
- Controlling who can see your posts (you think you control this, but you don't; once the post is on another server, they could theoretically show it to anybody) (similar to how on Twitter when you block someone, they can just log out and see your posts)
- Hashtags (they don't work like you think, are used to, or how they should work)
- tumblr-style reblogs (something between a reply and a reshare ('Announce'), sharing a whole thread on your feed while adding to it at the bottom, and increasing the 'notes' count on the original post)
- Twitter-style quote-tweets (there's no verb in the vocabulary to notify the origin server about the post being linked, so a quote-share isn't quite the same)
- View counts (#PeerTube shows how often a video is viewed, but this is for viewing inside PeerTube only; many more views may be via other means)
- Having images in posts (of course there are images in posts, but they are not really 'in' the posts, they are retrieved separately, but this is a bit of a nitpicking distinction only interesting for server load vs privacy)
Weirdly, a common problem in fediverse platforms is that user profiles from other servers aren't complete (not showing all posts), but that would totally be possible in Activitypub by using the outbox collection. Not sure about replies under remote posts though, they often are incomplete as well but I don't know whether there's a 'replies' collection.
Other things that currently are problematic but have nothing to do with limits of the Activitypub protocol (but some with the choice of using webfinger for account names) and are likely solvable:
- finding users (only local users, and locally known users, are easily found with a search)
- finding topics (idem, a topic could be very popular on other servers but if nobody on your server was ever @-mentioned you'd never know it)
- share identity between platforms, or not have the domain name in your handle (or actually changing your handle at all is currently not possible)
- search within your server for posts based on text (#Mastodon limits search deliberately, other platforms don't)
- not having your server crash when someone with more than a few followers reshares your post (currently all receiving servers go and request the post's contents and we all forget to cache this stuff)
- not having a small website crash if it's linked in a post (currently all servers individually contact the website to construct the preview card; there's no central preview card cache, nor is the preview card generated on the sender side as it should)
The often mentioned related issue of having your accounts on multiple servers of the same platform is solved, however. On e.g. Osada you can having a nomadic identity and switch between hosts without losing posts. Most platforms don't implement this, though.
Example of the unexpected limitations of Activitypub: let's say next year some conference about some topic X is held and they ask everybody to use the hashtag #XConf2023. They see only a few, or no, posts. What happened? Because Activitypub only includes hashtags in posts that got delivered for some other reason, as long as no local user was @-mentioned, the posts do not get delivered to the server they were listening on. Activitypub lacks the ability to address (or subscribe to) hashtags.
To solve many of these problems, we'd need several types of directories, relays or caches and more adoption of the ones that already exist. Also the work towards #ocap (object capabilities) is useful to put the poster back into control of their post.
Am I missing the mark? Missing something else?
Gidi Kroon
in reply to Gidi Kroon • •