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.
Isn't that already possible without federation? I don't understand the purpose of having the servers federate if having intimate communities were really the point.
You can even use something like OpenId to have consistent user authentication across different servers without the need of each server having to federate among themselves. They'll still be intimate communities that anyone can host and each user would still only need one OpenId account to access them all.
To me the point of decentralization is the openness of the protocol that allows me to access content as I choose. Ideally, I should be able to host my own instance without creating any community or inviting anyone else, yet still be able to federate with other instances to consume the content through my own interface and cache it (so that, for example, I can access to it from my intranet even if I go offline, or the other server goes offline). Ultimatelly, if enough people did that then it starts to become closer to a P2P network. I think it wouldn't be a bad idea to go for a hybrid model were you can have peer nodes and dedicated servers at the same time, which is what I believe Matrix is going for.
The server needs to be online to receive activities from remote instances, so it should stay online (they will retry sending a few times). The solution is to cache things on the client when it is online. That would actually be pretty simple to implement, because each post, user etc has a specific id. Then you also need to cache anything that your client sends, and transfer it to the server once its available.
Honestly this solution is better than p2p, as long as your are using the internet and not something like bluetooth.
good idea nutomic!