I'm definitely sympathetic to the ideas described in this article. I strongly feel that software should be designed to serve the interests of users, and running locally is structurally necessary to accomplish this.
For some applications, it seems plausible that mesh networking and cooperative routing could potentially replace centralized communications infrastructure. It's probably OK if an email takes half an hour or more to wind its way through intermittently connected machines to get to a recipient, and for things like maps and restaurant menus you can take advantage of physical locality.
Most of the time, though, the decentralized approach means information propagates slower, less reliably, and with greater need for redundancy (and thus overhead), so anything that's already challenging current infrastructure, like livestreaming video, is right off the table. And then there's the part where if you aren't living in an urban center there may well not be any other machines for miles to mesh with.
I'm also doubtful about the assertion that mobile devices are up to the task of "machine learning". Cell phones have severely limited power and thermal dissipation capacity. The tensor units that have started to show up on mobile devices are exclusively designed to _evaluate_ pre-trained networks; training is far more expensive and practical today only because of the economies of scale in a datacenter: train once, run many times. But to train fancy NNs, you need big heaps of data, too, and not always the sort of data you can source in an... entirely above-board manner.
Perhaps the answer is simply that some of these things aren't done anymore, or at least not for free?
>so anything that's already challenging current infrastructure, like livestreaming video, is right off the table
For a wireless mesh... yeah, probably. But if you relax the requirements to include things like small home servers (still using the internet), things that challenge centralized infrastructure can be very doable.
With good network connectivity, there are things that decentralized services already do better than centralized ones. Distributing files to a large group of people is much easier with BitTorrent than hosting the files directly would be; the bandwidth requirements are themselves less centralized in a peer-to-peer system.
I appreciate the thoughtful feedback and I admit that I'm less confident about some parts of the vision than others. Some things, you're probably right, are much less amenable to a distributed network model. With that said, there have been demos of streaming video over IPFS.
I think the author has done little or no mobile development - battery life isn't even brought up. Sure the latest phone might be in some ways as powerful as a 10 year old laptop when the hardware is in a high performance mode, but running a mobile device full-tilt is going to drain the battery very, very quickly.
I was thinking today why not just create an overlay network on top of the internet that throws-back to a place without corporations or governments?... Back to the 90s internet. With its own DNS servers, etc. Which does not resolve anything outside of the overlay network. So no facebook, no Google, no cloud services... Maybe a user run directory like Yahoo! used to be. Nothing but realms run by webmasters. A walled garden of the people by the people for the people.
You may be interested in the gopherverse. It's not exactly what you're looking for (still lives on top of mainstream DNS), but it does satisfy the "nothing but realms run by webmasters" and "user run directory" features.
For some applications, it seems plausible that mesh networking and cooperative routing could potentially replace centralized communications infrastructure. It's probably OK if an email takes half an hour or more to wind its way through intermittently connected machines to get to a recipient, and for things like maps and restaurant menus you can take advantage of physical locality.
Most of the time, though, the decentralized approach means information propagates slower, less reliably, and with greater need for redundancy (and thus overhead), so anything that's already challenging current infrastructure, like livestreaming video, is right off the table. And then there's the part where if you aren't living in an urban center there may well not be any other machines for miles to mesh with.
I'm also doubtful about the assertion that mobile devices are up to the task of "machine learning". Cell phones have severely limited power and thermal dissipation capacity. The tensor units that have started to show up on mobile devices are exclusively designed to _evaluate_ pre-trained networks; training is far more expensive and practical today only because of the economies of scale in a datacenter: train once, run many times. But to train fancy NNs, you need big heaps of data, too, and not always the sort of data you can source in an... entirely above-board manner.
Perhaps the answer is simply that some of these things aren't done anymore, or at least not for free?