Full disclosure: I have almost no idea what I’m talking about :)

But, wouldn’t it be at the very least interesting if web applications that we use day-to-day were entirely distributed, with no centralized, single point of failure?

I’ve been thinking about this for a while - in a very pedestrian sort of way, not even touching pen and pencil to actually draw out some ideas. But, it seems to me that a lot of web applications would benefit a whole lot from a p2p architecture. There are several obvious things to point about the current model that the web seems to be following.

  1. Most web apps that people use day-to-day are ran by private companies
  2. These private companies act as a single point of failure
  3. Interests of these companies (i.e. their strategic direction and how they attempt to monetize their user base) change over time
  4. It’s rare that openness of data is a priority for these companies

As a result, we get walled gardens. We get companies that try their very best to silo data and social graphs, and keep users from leaving. As consumers, even if we’re paying for the product, we’re essentially relying on good will of others to keep our data safe or even keep it from perishing. The old (internet-time-old, that is) saying “if you’re not paying, you’re the product” certainly applies - but I’d argue it goes even further. Even if you’re paying, your data might still be the product. The “you paying” bit is just an icing on the cake for someone. Dear reader, I’m sure you have personal examples of “corporate betrayal”, or really just companies doing whatever they please, with data you produced and that is important to you - because they can, because they had to, whatever it was. Products disappearing, lawsuits lost, personal data going down with them. Sometimes it’s an annoyance, and sometimes you loose something of an intangible, sentimental value in our ever-more-oh-so-digital lives.

The alternative, as I see it, is to recognize the money-driven nature of the vast majority of products that we use daily. It’s to realize the inherent freedom we have - at lease for now. If we, users, truly care about our data and about continuity of service - we must take matter into our own hands. This also seems vitally important for continued freedom and openness of the Internet as a whole - lack of centralized control, distributed nature, ideas that persist beyond an individual - and certainly far beyond reach of any one corporate entity.

I actually need to sit down and start drawing this out. P2P-based web application architectures powered by distributed data structures - what will that look like in practice?

This certainly feels like a worthy cause.