Genuine inquiry . Maybe I am not experienced enough with the various federated platforms but I am an avid user of matrix, and have dabbled in lemmy. From what I have seen is federation is on the path to decentralization but not fully there. It creates fiefdom, little kingdoms . Great yes you may find one that suites you better, but users now can end up isolated to their island, switch island sure but now you are isolated for the previous island and maybe others. Its stupid. On matrix you need to know the other island(server) to even find its rooms(communities). Some rooms block users from one server while others block users of other servers. You either have to run multiple accounts or accept the limits. Add in you are at the mercy of your home server, you can lose your account have it immitated, and more. The performance is horrible not sure why, but content is slow to update and spread. Matrix has the problem because of its design most people are on the matrix.org server and so the point of federation is largely lost. They are moving to p2p where it seems the solutions for federation now dont apply.
Anyway why is federation not stupid? Are these problems only with Matrix? Cause I look at lemmy and it seems far worse.
deleted by creator
Not necessarily.
It’s also possible to set up ways to access communities from one place without needing federation. Nowadays you can build webapps that communicate with different servers. In theory you don’t need server-to-server communication (which is what makes it federated), you can have one client communicate with multiple servers.
An example of this is how in the webapp from Matrix (https://riot.im/app/#/login) you can change the account (or even create an account) for any matrix server (it doesn’t have to be matrix.org) without needing to have different websites for different instances.
In fact, that model (separating the frontend website from the server) is more flexible in terms of UI than current state in lemmy. I cannot choose to use https://lemmy.ml/login if my account is not @lemmy.ml …I’m forced to use the website of the instance I have an account with, and if I have multiple accounts in different servers I do have to use different websites. Whereas in riot.im/app the website is not even hosting a matrix server and you can use any account you want.
deleted by creator
If it uses OpenID accounts for the authentication then nobody really exclusively “belongs” to A or B.
You can send messages to both server B and server A. Both servers will identify you based on your OpenId identity and it would allow you to post in both servers, without the servers needing to speak between themselves.
It’s like sending emails to a server and have the server publicly display the messages. You don’t need to be registered in that server, the server just needs to receive your email and if they don’t have your address in a blocklist, show it in the appropriate manner.
You still can post in both places and people can still connect to those places and see your messages. It’s basically sharing the same account and the same interface across communities hosted in different servers.
Yes, it’s an alternative to do the same thing. This is why I’m saying you don’t need federation for that goal.
deleted by creator
I don’t understand. Why would you have two copies? In my example there’s no federation. If I send a message to server B it’ll only be in server B. You don’t have to duplicate the data. I expect this would produce actually less duplication than if it was federated, since you don’t need server-to-server caching.
It’s actually simpler. Federation requires server-to-server communication.
You can communicate with both server A and server B, without having to go through the process of creating an account in server A and server B.
This is the same way as how you can post in https://<server-A>/c/fediverse and in https://<server-B>/c/fediverse with an account from <server-C>. The only difference is that in this case <server-C> would be an OpenID provider, specialized only in authentication, and not really a content provider.
You could apply the same argument of why would people want to use https://<server-B>/c/fediverse if everyone is using https://<server-A>/c/fediverse
I like what you are saying with openid but without caching or duplication the network scales poorly and content can go missing.
Each server can cache its own requests rather than every server having to also cache requests meant for other servers. Basically it shouldn’t be any different from how normal internet browsing scales, since it’s just that (you basically browse different sites through a consistent API interface) but with some extra standards being enforced so the identity can be shared.
Content can go missing, yes. Same as how content can go missing in the regular web. That’s a consequence of requiring less duplication. Whether that’s a problem or not might depend on each usecase. Some might actually prefer that deleted content has less of a chance to stay around or have less latency when propagating changes.
The proposal was based on the premise that “the point” is to have “intimate communities”, “like clubs”, “allowing people to have their own rules and customization”. My point was that these aren’t necessarily things that are justifying federation. I’m actually trying to get to the bottom of what is it that actually makes federation better vs doing the same thing stablishing some standards, without federating between the servers that host the content.
I think for a service like messaging or email where communication is less public the benefits of federation are much clearer. But for reddit-like websites I’m not so sure if the advantage is that big.
If the purpose of going federated is to distribute the data to have redundancy then you also have protocols like I2P and DAT that a website can be built on top of and be fully distributed. But again, P2P is hard and you won’t find the same level of reliability than with a trusty http server… so if you do go that direction of wanting redundancy then I guess I can see federation as a good compromise. But for the other features, you can probably do better and get more flexibility with a modular architecture where each aspect is a separate independent and swappable module (authentication, client UI, even the search engine to discover communities could be a third party service without the need for community hosting servers to overcomplicate themselves with server-to-server communication), allowing people to host their own modules as they wish while still consuming/publishing the same content in servers that could be more lightweight than federated nodes.
deleted by creator
Exactly. Two accounts that do not duplicate information and that both are linked to a single identity that you control (and that you can even self-host without depending in A or B).
deleted by creator