4 ms·
Why can’t there just be one simple solution for this which is peer-to-peer? Why does it have to depend on the cloud? Because in order to be simple, any solutio
by afarrell 7y ago
Why can’t there just be one simple solution for this which is peer-to-peer? Why does it have to depend on the cloud?
Because in order to be simple, any solution requires the skilled time and attention of an engineer to create an abstraction layer over the fiddly details. And to update that as the device takes updates.
If you do it as a peer-to-peer tool, that effort is O(N^2). Adding Each new platform requires ensuring that it works with N other platforms you already support.
If you introduce some intermediary like a cloud server, then the problem is O(N). When you add a new platform, just make sure it works to talk between the server and that 1 type of client.
But why does the intermediary have to be a whole server? Why can’t it be a protocol or format? <% insert explanation from someone more knowledgeable about filesystems %>
- andor 7y agoWhy can’t there just be one simple solution for this which is peer-to-peer? Why does it have to depend on the cloud? Peer to peer solutions are more difficult to build because there are more problems to solve: * Peers need to be in the same network (same Wifi, Internet, etc.). If they are not, a connection needs to be established in some way. * Peers need to know how to reach each other. How can they exchange addresses? * Network/OS needs to allow exchanging messages (NAT, firewalls, proxies, ...). If they can't, then what? All of these are complicated and have lots of error cases. Cloud-based solutions make some assumptions to simplify the problem space: peers have a working internet connection, they can use DNS to look up addresses, and can reach a centralized server, usually via HTTP. It's even better if they are browser based, then peers don't need to install a new client. As Bluetooth and Airdrop show, things don't always need to be cloud based. But also, as Bluetooth shows, it's really difficult to make it work seamless.