Remember PointCast and “Push”? They were going to change the world. What happened? Bandwidth happened. Or, more specifically, a lack thereof. You just can’t do it using traditional designs.
We’re ready to try again. The software industry is growing at an alarming rate; innovation in software is rampant, in a very positive way. But we’ll stumble upon the same stumps if we don’t pay attention.
I’ve said it before, and I’ll say it again: There are problems with HTTP: 1. You can’t guarantee that an HTTP URL will refer to the same data. 2. You can’t tell when an HTTP URL changes without periodically checking it. 3. Data has to be sent at least once per receiver, sans proxies.
There are also problems with SMTP: 1. There is little authenticity in the From header. 2. There is no way to modify a sent message. 2. Data has to be sent at least once per receiver, sans forwarded/redirected messages.
This too I’ve said before, and I’ll say again: There are two types of data: 1. Dynamic Metadata 2. Static Data
While peer-to-peer, distributed solutions are great at the latter, they aren’t at the former. Likewise, while traditional client-server-server-client solutions are great at the former, they aren’t at the latter. Thus, I propose client-server-server-client solutions for dynamic metadata, and p2p distributed solutions for static data. For the record, dynamic metadata describes the data, and is subject to change. Change in the static data constitutes a new revision, which becomes defined in the dynamic metadata.
So how do we do this? Well, the dynamic metadata, in the form of XMPP messages and services, refers to the static data, as hashes that P2P agents can use to retrieve and re-distribute the actual data…
The nuWeb
You still got your Resources: your information and the services that you create to interact with it.
What gets interesting is in your new Infrastructures: Message, Presences, and Proxies. These things connect from your resources to form a new way to access and contribute to the web.
Finally, you’ve got your underlying Protocols: your Push app, XMPP, and your P2P app, say Freenet, MNet, or Gnutella; preferably something that uses proxy/cache solutions, so that no one has to think about the sharing of their local files directly.
With this concludes my summary of the nuWeb, the next generation of what the web, nay, the entire internet, can become. As we enter the era of the next generation of software, we must think ahead and consider the scalability that it demands. By using a hybrid approach, not unlike the existing hybrid of HTTP and SMTP, we can take care of both dynamic metadata and static data.
Now all we need to do is implement this. Are you ready? Let’s get started! Web delinda est! Viva la nuWeb!