And if that’s possible, why are servers needed at all? Can’t an app just create a server per user and run it on the users device?
It is possible! But not so easy.
You need to build a “reputation” with other servers. If your server is online, then some instances lose messages or just plain fail to load your content. So, first off, you need to be online all the time.
And it takes a lot of bandwidth! Each message, like and post anyone makes on every instance might come from any other instance, so servers need to have enough bandwidth to talk to each other all day.
There’s also the problem of storage. You don’t only store your own content, but also a “cache” of other people’s content, so you don’t need to request it again every time.
There’s even a need for energy. Your server might connect to a lot of other servers, so you might need to have a beefy cpu to process all of that (so no running on batteries)
What you describe exists, actually. It’s called “peer to peer” (often called “p2p”). There are some p2p networks, like scutterbutt which runs on top of the “gossip” network.
They have their own problems, tho.
Federated networks, where you join a server and servers can talk to each other (instead of directly running on the users device) are a middle ground.
On a server only network, like reddit, means everything is controlled by one entity (reddit).
With a p2p network, you have the problems I’ve described before (and lots more)
And finally, a federated network like lemmy exists in between. You join a server, but are not limited to that server. If you don’t like something in your server, you can join some other server or even mount your own, and still be part of the bigger network. With the rules you desire to follow!
Wow thanks, now I get it. Never realized what p2p really was before now too
I don’t know too much about self hosting, so it might be worth asking on a self-hosting community to see the specific issues. But from my ignorance I think there are some hindrances with smaller servers and the speed of their comments propagating through the fediverse.
Beyond that I think there is something that would jump out as a bit strange to folks if every comment or post was from @username@theirLiteralHomeIP, and If they are running on a phone their IP would be really volatile which might run into issues as well.
So I don’t think there is anything fundamentally wrong individualized instances, but there are like practical issues with it. Further, it is certainly not foolproof, but different cultures of different servers has worked well in the fediverse to allow blocking posts from spaces that you don’t wish to experience. If each user had a separate instance it would be much harder to do in practice.
Again, I’m a dumb dumb, so I would hope that someone with more knowledge can clarify, I’m just speculating on what I could see being issues 😅
You want to create Facebook and run it on your device? Or Twitter? How do you get posts if your device is switched off?
Ever heard of “servers”? Do you think lemm.ee stops working if their admin’s laptop goes into standby?