The thing that surprised me a bit about federation is that it puts instances front and center. You have an account at your "home instance", and that's the first thing you see. When I first read about federation I had thought that the idea was to have one big network of independent but equal instances that just transparently share data under common topics. But instead I discovered that you are identified with your instance and can follow topics per instance, with local topics being the default, and you have to explicitly reach out to see the "rest of the world".
With Lemmy communities too. It seems that you can subscribe to a community on a given instance, but there is no such thing as cross-instance communities.
I found this disappointing because it means that for there to be a critical mass of content in a particular community so that it gains in popularity, then that particular community in that particular instance has to become popular on its own, instead of all instances contributing to one big community. Add to this that the default view is "local communities" and you've guaranteed you'll never build something as popular as reddit, sadly. Example, someone from mylemmy.eg cannot post together with someone from hislemmy.com in one big Programming forum. Instead they both have to agree to post in Programming@commonlemmy.net and not Programming@worselemmy.org which, imho, is unlikely to be a successful as there being one centralized place where everyone knows to post. If they'd just remove the domain names and pool everything I think it would have a lot more chance of success.
>I found this disappointing because it means that for there to be a critical mass of content in a particular community so that it gains in popularity, then that particular community in that particular instance has to become popular on its own, instead of all instances contributing to one big community
Totally agree. The whole server focus is not user friendly or intuitive.
As an example I finally found someone to follow and decided to look at the people rhey were following, but it would only show me people from that server.
The complete lack of discoverability is jarring. Really not sure Mastodon is ready for mass market.
I used to agree but I don't anymore. The crucial point, and the reason reddit works so much today, is moderation. If anyone can post to a generic programming forum, it will be automatically submerged under spam. There is no way around it. Centralizing the rendezvous point means it is possible to settle on rules and appoint moderators to enforce them.
Note, though, that federation as implemented by the fediverse means that I post content on my instance, and you post content to your instance, and both are "tagged" with a central identifier. It is definitely possible to get all content from all instances in one place.
There are interesting ways towards decentralized moderation: basically, anyone post anything, moderators "pick" what they deem correct, and you as a user "pick" moderators. When you feel a moderator isn't doing a correct job, you switch the set of moderators. But there still is an element of centralization in that moderators decide what is good and what is bad. And if the history of computing taught us one thing, it's that it is impossibly hard to migrate people away from default settings.
Keep in mind that your local view of the Federated timeline is instance dependent.
The Federated timeline is best described as "all content from other instances by profiles followed by accounts on your own instance".
If you're running, say, a single-user instance, the "Federated" and "Home" timelines will be identical.
If you're on a large instance, the Federated timeline will be fairly comprehensive (and tends to clock along quite quickly). If you're on a smaller instance, the timeline will generally be far smaller. And of course, if your instance restricts (through any of various levels of blocking) remote instances or accounts, the Federated timeline will lack those as well.
Put another way: there's no such thing as a "universal" Fediverse feed, at least not without some very heavy-handed (and widely discourage) automated following.
As far as I understand it (and with the caveat I've only recently started digging into the protocols) the general concept is that ActivityPub basically has inboxes you post to, and outboxes containing the public feed, which you can follow (asking them to post you stuff), so a relay just needs an outbox that contains the full public feed of an instance, and a shared inbox that accepts things that doesn't have a single recipients. Now all you need is a message pump that takes things posted to its inbox and passes it on to all the subscribers of the relay.
And yeah, that's ... very roughly ... my understanding.
Though a relay would have multiple instance's feeds, ideally.
One question I have is whether or not larger instances might serve as gating relays for smaller ones. Sort of a hub-and-spoke / leafnode (w/ reference to the Usenet utility intentional) concept.
Reading now ...
And yes, relays do of course serve multiple instances.
I find the "instances wanting to relay subscribe to the service" aspect interesting, and intelligent.
Yeah, hub and spoke absolutely makes sense. I think in general, though, the relays are a bit of a hack in the sense that they're papering over poor discoverability and search mostly. It makes sense to have some nodes on the network with the ability to serve up search results for a reasonable fraction of the network, but most small instances have only very limited use for taking a large feed once people have followed what they want.
There's the option of doing more with relays, such as ones offered filtered subsets out.
This! I couldn't really figure out what bothered me so much about Mastodon and it's exactly what you explain in this comment. I wish the local instance wouldn't matter as much as it does, which would also pave the way for single-user self-hosted instances, for people who want to access the fediverse on their own terms.
I think the opportunity is to foster a new kind of social interaction and smaller niche groups seems like a really interesting angle that centralized services gravitate away from.
I haven't used Mastadon but I could see this being a positive if you replace "home instance" with "local community" or "interest group foo".
The truth is that you only need to find a small group of people with similar interests. You don't need access to the entire world.
I think you have the right idea. An large instance may help in the first day or two until you find some people to follow and then it's not so important as far as seeing the rest of the world. The federated timeline has plenty and it will keep growing as the number of people on the instance and the number of people they follow grows. You can also search hashtags to follow topics across the fediverse. But it's nice to have that community with some core shared interests to come back to. Part of that is a shared code of conduct. You want to associate with people who have the same idea about how to interact with others and that really sets the tone for the whole experience. I've mostly interacted with fosstodon.org and hachyderm.io and both are made up of people who are positive and respectful of others.
I'm not sure I agree. I mean, yeah it's great once you have found them. But I would of never of discovered stats twitter or other great communities if they were off in some isolated silo/mastadon instance. It lacks discoverability.
How is that new though? Feels like just going back to forums, or heck even Discord or reddit. But personally I always felt that Mastodon is a Discord/Reddit "clone" rather than something to replace Twitter
Discord, Reddit and Mastodon all feel very different to me.
- Discord's dominant model feels like IRC++ to me. Emphasis largely seems to be on real-time conversations.
- Reddit is like a slew of mini-Slashdots, where communities have a discussion prompt like a news story, a question, or something and then commentary.
- Mastodon is micro-blogging. You post a status update, commentary or question, and people can react and/or reshare. Y
Discord and Reddit are topic-based. Mastodon is more about following people than topics, though you can organize Mastodon instances by topic / domain / whatever.
Anyway... Mastodon feels more like Twitter, albeit a vision of a better Twitter (for certain values of "better") circa 2017. Longer content, RSS feeds, and federation + the micro blog format.
because that's way too expensive? if you follow every Programming@ on every public instance and nobody is doing the centralized data distribution, you have a all-to-all situation?
With Lemmy communities too. It seems that you can subscribe to a community on a given instance, but there is no such thing as cross-instance communities.
I found this disappointing because it means that for there to be a critical mass of content in a particular community so that it gains in popularity, then that particular community in that particular instance has to become popular on its own, instead of all instances contributing to one big community. Add to this that the default view is "local communities" and you've guaranteed you'll never build something as popular as reddit, sadly. Example, someone from mylemmy.eg cannot post together with someone from hislemmy.com in one big Programming forum. Instead they both have to agree to post in Programming@commonlemmy.net and not Programming@worselemmy.org which, imho, is unlikely to be a successful as there being one centralized place where everyone knows to post. If they'd just remove the domain names and pool everything I think it would have a lot more chance of success.