The other major problem is the client-server nature of the web itself. I, as a user, must request information/page/JSON from somewhere where it's processed by the thin terminal of the browser. Backbone.js and such technologies are trying to beef up the browser, but until the entire paradigm changes we are only applying bandages to the problem. That invites scaling problems to solve and the possibilities of a single outage bringing down entire services. We all remember the AWS outage a month ago, but problems arose in the platform before. Anybody using Tumblr last year will remember the tongue-in-cheek Tumblbeasts when it would go down several times a day.
I really do believe P2P technologies are the paradigm that will deliver the openness that the web promises, but it's also very hard to build. Concurrent multi-threaded programming hard. Security and veracity are a nightmare. Just analyzing how to propagate information is difficult. But it brings with it a built-in solution to scaling and reliability. Unlike central services, a P2P service experience gets better when more people are involved because it makes the network effect an actual strength. Bittorrent is the classic case. I believe mobile phones, with their native applications and built in network hardware, could be leveraged into an ad-hoc P2P/mesh network.
I talk about some of this here: http://blog.jamesleonis.com/says/the-end-of-an-age/