The decentralized web mirage

The idea of decentralizing the web has always been to me what a laser pointer is to cats. I'm very interested in the idea, and I really want to catch it so I can examine it closely, but it always gets away.

Past projects

I remember being interested in Diaspora* when it flashed in the pan as a new federated Facebook killer, and Tent later when it promised the same thing for Twitter. Space Monkey used some of these ideas to provide distributed backups. I really liked the distributed / disconnected features of CouchDB and spent a bit building Vault, a project to make it easier to install and distribute apps and data between CouchDB instances that would run everywhere, so all computers / phones would have small databases, instead of a single central one.

Sci-fi predictions

I also see tantalizing glimpses of parts of this in fiction. Accelerando characters stored everything on their phones, which were greatly empowered agents for the user. The phones would store data, encrypt everything, and reach out to other nodes nearby to gain connectivity or create small mesh networks. The Diamond Age had a routing system similar to the onion router working on top of the same ad-hoc mesh networks. Various computer games in Halting State ran in large part on player's mobile phones and computers, with encryption allowing the game state to be decentrally stored on these devices.

The latest attempts

In the past couple weeks, I've heard of IPFS and EveryBit, which attack various problems in this general category. I'm considering getting involved in one / both of them, but want to first analyze what their actual prospects are. I'll evaluate them each in their own posts since they each try to solve different problems, but will be trying to keep in mind some points:

Solving the wrong problem

Many of these projects solve a problem that wasn't a broad issue. Creating a distributed Facebook killer to solve the privacy issues doesn't matter when most people's actual problem is trying to use Facebook in the first place. No matter how good the solution to the distributed issues are, no one will take them on when they're having enough problems with user interface and general computer aptitude.


One downside of Facebook is that all your data is in their servers. The upside is that the money they make from that data lets them pay for the servers and hire lots of good engineers. Some of these projects have fairly reasonable ways to solve the server cost issue, but development is still a question.

Linux and thousands of other open-source projects have shown that unpaid volunteer can solve some hard problems, but desktop Linux continues to show that without corporate backing, the last mile of user experience never seems to get done. This part of the project would be critical to getting average internet users on board, without which the project languishes as a hobby for nerds, not a platform for the masses.

The mirage continues

The current state of things -- where many projects have solved various technical problems, but no one's put everything together in the right final product to become a runaway success -- is interesting. It could be a sign we're close, like how the iPhone was an incredible advancement even though it appeared from an ecosystem that already had touch screens, mobile browsers, music players, pinch to zoom, and mobile cameras. Or it could mean that it's just a promise that people will always reach for even though it's doomed to fail, like turning lead into gold.

Since I don't have a time machine to know which case it is, I'll just look for any obvious flaws in the projects. If I find none, I'll throw my weight in with one or two that might go the distance.