Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.


It'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.


If 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.


This has nothing to do with the synchronization service being peer-to-peer or not.


I 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.


Why would peer to peer require more bandwidth? More simultaneous connections?


Take 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.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: