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.