Indieweb vs. Fediverse
You get someone’s profile URL,
example.com/bob. You put that URL into a browser, and it shows you a human-readable profile which also contains machine-parseable data. You add the URL to your feed reader, and it subscribes to their posts with full attribution. The content is presented in your feed reader in a freeform way which allows a high degree of expressiveness, and it’s easy to go to the original post in case there’s some missing nuance or visual context.
All subsequent interactions are either directly between you and the person in question, or are webmentions which only get seen by your direct subscribers if you put them in your public feed.
You get someone’s address,
@firstname.lastname@example.org. You put that into your web browser, and you get a warning that says, “You are about to log in to the site ‘example.com’ with the username ‘%40bob’, but the website does not require authentication. This may be an attempt to trick you. Is ‘example.com’ the site you want to visit?” You back out of the error message and try to manually reformat the address.
example.com/bob? 404. Maybe it’s
example.com/@bob? That doesn’t work either. You read a tutorial on Webfinger addresses and learn that you can load their “resource profile” by going to
example.com/.well-known/webfinger?resource=acct:email@example.com. So you put that into your web browser, which then downloads a blob of JSON text. Buried in it is the URL
example.com/user/bob. Finally, progress.
Now to follow them. You try putting the user address into your feed reader. Error. You try putting the profile URL into your feed reader. Error. You see a “Follow bob” button. It brings up a “remote follow” page which requires you to put in your own Fediverse username. You think you have a Mastodon account, so you try putting that in. It starts to initiate a weird three-way handshake, but fails.
You go back to your Mastodon instance and try searching on
@firstname.lastname@example.org. Nothing comes up. You try to figure out why. No users from
example.com appear. You search through both your instance’s and example.com’s blocklists, which are hidden deep in their respective “about this instance” pages. It turns out that five years ago one admin on one server said something mean to an admin on a completely different server and that led to a widespread level of discourse that resulted in a bunch of instances blocking each other, and others joining in solidarity.
Finally you dig up an Atom feed for the user via finding a HOWTO that someone wrote seven years ago. The feed shows no posts, because the instance admin decided to disable Atom because it allowed blocked people to still follow the person who blocked them and they don’t understand Internet privacy. But it turns out it wouldn’t have mattered because this particular instance is set up so that the only way that posts appear on other peoples' timelines is by push notification.
You give up and get an account on their instance so that you can participate in the conversation. Now you have another instance to check all the time. 90% of your notifications are random spambots following you. The other 10% are you either getting tagged into random conversations by mistake, or some random person on another instance replying to something you said totally out of context and attacking you for their interpretation of a thing that had nothing to do with anything you were talking about. They get downright abusive, so you report the user. It turns out that the abusive user is also one of the admins of that instance so the report just goes to them anyway. They start posting anime memes about you. Your blocklist grows exponentially.
Finally you find some thoughtful long-form content. All of the posts are displayed in the form of a block of unformatted text followed by up to four badly-cropped images; no images can be inline, and even basic text options like bold and italics are unavailable, and web links either only appear as bare URLs, or aren’t obviously links because your instance’s stylesheet removes all formatting from them. You try to see a post in its original context, and it takes you to your instance’s view of their profile, which looks the same. You finally figure out that you can click on the date and that shows you the post on their public timeline. It looks the same, except now there’s no widget to let you automatically unfurl every CWed post in the thread for some reason like there was on your instance’s local view. But the instance’s local view is missing the first half of the thread because it happened before you subscribed to them.
One month later your timeline gets flooded with random unordered posts from 3 years ago because some forgotten instance’s Sidekiq queue suddenly got unjammed.