The old client-server web model is out of date, it’s on its last legs, it will eventually die. We need to move on, we need to start thinking differently if we are going to create web applications that are robust, independent and fast enough for tomorrow’s generation.
All of this talk strikes me as coming from people that have implemented neither large web applications nor distributed or p2p applications at all dreaming up schemes with no idea of how they would actually work.
I think an illustrative example is how Twitter spends significant engineering effort (with Cassandra and now Rainbird) just to implement a counter in a scalable fashion.
The OP is ignoring a total deal-killer for this type of model: Proprietary code needs to remain so. It's what brings value to a service like Twitter. It would be great for open-source apps, but that is a small slice of the web's pie. Does he really think that Twitter will distribute their server-side source to browsers to execute locally? Even if it were compiled, the risk is too great for a company who relies on its unique property being the only differentiator in the marketplace.
The upside is you can run your code on other people's hardware and bandwidth, so you don't need revenue just to keep running.
I think a bigger problem for a lot of applications is security. Distributing your app where anyone can modify nodes and data arbitrarily is fine for some applications, but not all.
Down the road, something like Byzantine Paxos might help.
I think whoever implements this type of model will eventually have the upper-hand, open-sourcing your code seems a small price to pay for robustness, auto-scaling and performance.
I don't think Twitter's success is down to its code being proprietary. I think you're selling them short.
All of this talk strikes me as coming from people that have implemented neither large web applications nor distributed or p2p applications at all dreaming up schemes with no idea of how they would actually work.
I think an illustrative example is how Twitter spends significant engineering effort (with Cassandra and now Rainbird) just to implement a counter in a scalable fashion.