We’ve got smarphones packed with more computing power than desktop PC’s of just 10 years ago. We’ve got more bandwidth available in mobile lines than we did in ADSL modems from 10 or 15 years ago.
Yet, for some reason, the network structure we use today has not changed fundamentally. Smartphones are used like dumb terminals were in the old days, with centralized hubs distributing the data among participants who use other dumb terminals. This centralized system is the old mainframe idea, revamped and rebranded into “the cloud”. Portable computers capable of doing much more than they’re used for are used as mere teletypes for entering text messages or to capture images that are then submitted to the central servers via “the cloud”.
The question everyone should be asking is: if two people are sitting right next to each other, and they choose to message each other, then why should this message travel all the way to the mainframes, get processed, then travel all the way back, perhaps across the world, to a device a few centimeters away from it? It seems like such a big waste, and it is. It simply makes no sense for WhatsApp and other messaging applications to work that way.
The way communications happen today, users are dependent on a central infrastructure, when the founding ideas behind the Internet were quite different: devices should be able to talk to each other without depending on central authority for, in the case of a nuclear conflict for which ARPANet was developed, the network would still function even if certain central facilities were destroyed. For some reason this fundamental part of the Internet architecture was ignored, and now we use IP communications like point-to-point lines with no alternative routes.
With thousands, perhaps even millions, of users clustered in certain densely populated geographic regions, it makes zero sense for all that traffic to be centralized thousands of miles away and then be bounced back to recipients standing just meters or kilometers away.
The solution to this current situation involves changes at the application level only. Because, as we said, the Internet protocols are already designed to function in a distributed manner.
Applications should be two modes of operation : mesh/distributed mode and structured/centralized mode.
In mesh mode, you would talk to the devices around you directly. Any device reachable through the same class C subnet would establish a local loop communication channel. And, for any contacts outside this immediate reach, the structured mode is enabled, say, to talk to a relative across the globe.
The same thing needs to happen to email and collaborative work. Simple application level protocols can be implemented to have emails delivered locally or routed to remote locations : all of which is already fully implemented in the hierarchical system of DNS. user@localnet without a qualified host name could mean a local user, while email@example.com would imply a routed delivery.
You have a team sitting around a desk, why should all the communication exit that room and travel around the globe in order to to reach a collective chat screen located on that same meeting’s location?
Decentralization is key not only to privacy in the XXI century, but also to scalability and network efficiency. Devices should be talking to each other directly and not requesting permission from a centralized brain thousands of miles away. The cloud is a great idea from the 1960’s, where big centralized computers took care of things the dumb distributed devices could not.
Things have changed now, and several mobile devices are more powerful than those centralized computers of the 1960’s. And the networking model for them should adapt as well.