5 ms·
I love P2P but I'm not sure it's the best approach for IM and this kind of application. In particular it makes difficult to sync message history/contacts, it ne
by rnhmjoj 9y ago
I love P2P but I'm not sure it's the best approach for IM and this kind of application.
In particular it makes difficult to sync message history/contacts, it needs more bandwidth than a client/server application and consequently impacts battery life for mobile devices.
- rvern 9y agoIt's not necessary to sync history and contacts between devices in a peer-to-peer way because there is no network externality for synchronizing data. You could use a centralized service to sync the encrypted data. If the centralized service ever does things you don't like, you can change to another centralized service or host your own, and, importantly, you can do so without being affected by what other people do. Communication platforms provide more value when they have more users, while centralized synchronization services don't provide more value because they have more users. So it's fine for synchronization services to be centralized, while it's not fine for communication platforms to be centralized.
- rrix2 9y agoIf I own two devices, logged in to a chat service on the same account, and they have different chat histories and contact lists because there's no account sync, I will throw that chat service in the trash can.
- rvern 9y agoThis has nothing to do with the synchronization service being peer-to-peer or not.
- dingo_bat 9y agoI think the best approach is to have a true P2P version for windows and other PC systems and make the mobile client treat your PC as the server, just like WhatsApp web uses your phone to avoid all the syncing.
- nerdponx 9y agoWhy would peer to peer require more bandwidth? More simultaneous connections?
- corobo 9y agoTake just for example (if it's a feature, I don't know) setting yourself to an away state. In a client-server model you'd just tell the server you're away now with any metadata that goes along with it. Other clients will get that information from the server. With a p2p model you have to tell every contact's client that you're away and provide any metadata that goes with that information to each individual contact. To reiterate the away state is just an example off the top of my head, I don't know if this service supports status updates.