What do you think are the better alternatives? I’m interested in the work others may be doing in federated protocols.
Also remember that protocols need some sort of authority to standardize, and having a reference implementation is extremely helpful.
XMPP ran into issues with too many non-standard extensions leading to feature fragmentation. I remember it being a source of confusion and part of what allowed Google to do the whole embrace, extend, extinguish dance.
Having a company back a protocol is a concern, but not necessarily bad. If the protocol is open anyone is free to fork, just like anyone is free to come up with their own protocol. Getting people to use the protocol is a different challenge as well.
I guess what I’m saying is that you’re right that there are some problems in this space, but as they say, don’t let perfect be the enemy of good. Mastodon, Matrix, Lemmy, and Bluesky have all taken is a step in the direction of open federation and have started to introduce that concept to more people. They’re not perfect, but a step in the right direction and way better than the closed centralized systems they loom to replace. There’s still a lot to discover in this space, but in the mean time I see no issue in using any of these things for now.
ActivityPub. The thing most of the fediverse runs on. Yes, Mastodon has a lot of influence, but there are a lot of other servers that also speak AP, and I don’t doubt that the fediverse is big enough to survive even if Mastodon were to go belly-up. Even Lemmy federates with AP, although not particularly well.
The main issue – IMHO, I’m not particularly active in the federation protocol space – AP faces a number of technical challenges which it seems to be negotiating, if slowly. The biggest is figuring out how models overlap and how to make them work well for users. For instance:
Lemmy is like Reddit: users join, and follow, communities. There’s no mechanism in the original Lemmy model for users to follow other users. The communication is long-form; the model is a sort of hierarchical tree: Server, Community, Post, Comment, Comment*. There’s saving, voting, reposting, and a variety of post types. Comments are conversation-style, and are often presented in tree form.
Mastodon is like Twitter. Users follow users. There are no communities; the closest thing it has is tags. There are posts, and only posts, and (originally) they were restricted to short-form; even now, some servers enforce the original character limit. There are no replies; only posts that optionally reference other posts – while this may seem like an arbitrary distinction, it isn’t: as a user following another user, you may get an alert, and can see, their reply to another person’s post without having any relationship to the original poster or the original post to which they’re replying. There are boosts, which are sort of like reposting, only again without a target community (because there are no communities). There’s favoriting, which is sort of like voting, except there’s no concept of downvotes. There are multiple post types, but really Mastodon is text posts and hyperlinks, and clients expand hyperlinks.
And then there are a dozen other types of servers: Pixelfed, Friendica, Misskey, and so on. They’re all more or less variations on the Reddit or Twitter model – they tend to be either user-focused, or community-focused. How well a given client works with a server often depends on which model it follows.
However, they all speak ActivityPub, and so can federate with each other. The friction at this point in history is how well they federate: how well the content is presented, and how well it translates.
From a non-technical perspective, ActivityPub suffers from onboarding. It’s relatively hard for new users to jump in. With Twitter, Reddit, and BlueSky, there’s no issue: you have exactly one choice of client, connecting to exactly one server, and anyone you want to follow is also in exactly one place: your server. Joining BlueSky is: download the app, pick an unused user name, get shown a bunch of celebrity names, follow some, and you’re off. With AP users are immediately faced with a bunch of questions they have no background information to help them decide:
Which client should I use?
Which server should I create an account on?
How do I find people to follow (if coming from Twitter), or how do I find communities (if coming from Reddit)
The last question is especially challenging because if you search for “linux” communities, you’ll find a dozen on them, each on different servers. Are they all different communities? Why are there a bunch of identically named communities? How does federation play into this – if I join one and post, does it show up in all the others? I suspect that, unless you’re fairly deep into the protocols, you probably have an incomplete understanding of how federation is working, so questions like the last one only get more confusing the longer you use the Fediverse.
This is the cost of freedom and federation; it’s the same challenge Linux poses for non-technical people: which Linux do I choose? Only, Linux in the 2020’s has more clear answers and some emerging consensus; I think many people, when asked by a person looking to migrate, will suggest Linux Mint. Not because they necessarily think it’s the best Linux (I wouldn’t run it), but it’s a clear leader in “Linux for beginners.”
ActivityPub doesn’t have a “Linux Mint” answer, and that’s because there’s still a lot of “it depends” questions you have to answer first. For someone coming from Twitter, you might just recommend joining Mastodon; but for someone coming from Reddit? Where do you send them? If they ask in a forum, they’ll get 5 different recommendations for the best mobile app, and they’ll get no clear suggestion about which instance to join.
Regardless, coming back to your first question: ActivityPub. AP is better than BlueSky. BlueSky offers nothing better than AP except monopoly – and my 4 previous paragraphs essentially boil down to “when a monopoly is better for users” – the answer being: exactly once, and that one time is when they first join. But it’s a very important “once”, and one that the Fediverse really needs an answer for.
What do you think are the better alternatives? I’m interested in the work others may be doing in federated protocols.
Also remember that protocols need some sort of authority to standardize, and having a reference implementation is extremely helpful.
XMPP ran into issues with too many non-standard extensions leading to feature fragmentation. I remember it being a source of confusion and part of what allowed Google to do the whole embrace, extend, extinguish dance.
Having a company back a protocol is a concern, but not necessarily bad. If the protocol is open anyone is free to fork, just like anyone is free to come up with their own protocol. Getting people to use the protocol is a different challenge as well.
I guess what I’m saying is that you’re right that there are some problems in this space, but as they say, don’t let perfect be the enemy of good. Mastodon, Matrix, Lemmy, and Bluesky have all taken is a step in the direction of open federation and have started to introduce that concept to more people. They’re not perfect, but a step in the right direction and way better than the closed centralized systems they loom to replace. There’s still a lot to discover in this space, but in the mean time I see no issue in using any of these things for now.
ActivityPub. The thing most of the fediverse runs on. Yes, Mastodon has a lot of influence, but there are a lot of other servers that also speak AP, and I don’t doubt that the fediverse is big enough to survive even if Mastodon were to go belly-up. Even Lemmy federates with AP, although not particularly well.
The main issue – IMHO, I’m not particularly active in the federation protocol space – AP faces a number of technical challenges which it seems to be negotiating, if slowly. The biggest is figuring out how models overlap and how to make them work well for users. For instance:
And then there are a dozen other types of servers: Pixelfed, Friendica, Misskey, and so on. They’re all more or less variations on the Reddit or Twitter model – they tend to be either user-focused, or community-focused. How well a given client works with a server often depends on which model it follows.
However, they all speak ActivityPub, and so can federate with each other. The friction at this point in history is how well they federate: how well the content is presented, and how well it translates.
From a non-technical perspective, ActivityPub suffers from onboarding. It’s relatively hard for new users to jump in. With Twitter, Reddit, and BlueSky, there’s no issue: you have exactly one choice of client, connecting to exactly one server, and anyone you want to follow is also in exactly one place: your server. Joining BlueSky is: download the app, pick an unused user name, get shown a bunch of celebrity names, follow some, and you’re off. With AP users are immediately faced with a bunch of questions they have no background information to help them decide:
The last question is especially challenging because if you search for “linux” communities, you’ll find a dozen on them, each on different servers. Are they all different communities? Why are there a bunch of identically named communities? How does federation play into this – if I join one and post, does it show up in all the others? I suspect that, unless you’re fairly deep into the protocols, you probably have an incomplete understanding of how federation is working, so questions like the last one only get more confusing the longer you use the Fediverse.
This is the cost of freedom and federation; it’s the same challenge Linux poses for non-technical people: which Linux do I choose? Only, Linux in the 2020’s has more clear answers and some emerging consensus; I think many people, when asked by a person looking to migrate, will suggest Linux Mint. Not because they necessarily think it’s the best Linux (I wouldn’t run it), but it’s a clear leader in “Linux for beginners.”
ActivityPub doesn’t have a “Linux Mint” answer, and that’s because there’s still a lot of “it depends” questions you have to answer first. For someone coming from Twitter, you might just recommend joining Mastodon; but for someone coming from Reddit? Where do you send them? If they ask in a forum, they’ll get 5 different recommendations for the best mobile app, and they’ll get no clear suggestion about which instance to join.
Regardless, coming back to your first question: ActivityPub. AP is better than BlueSky. BlueSky offers nothing better than AP except monopoly – and my 4 previous paragraphs essentially boil down to “when a monopoly is better for users” – the answer being: exactly once, and that one time is when they first join. But it’s a very important “once”, and one that the Fediverse really needs an answer for.