The current wave of Web2.0 hysteria and AJAX enabled apps has settled and once again people are starting to ask "so what next?". Well, if Web1.0 involves asking a question and getting an answer on the next page, and web2.0 involves asking a question and getting an answer on the same page, there is a degree of logic to thinking that Web3.0 will be all about asking a question and being asked a question in return!

And in English

Well, up to now the web has been all about clients asking questions and (hopefully) getting answers. This is a bit of a one-way street and indeed limits functionality to things that are entirely client driven, which can be seen as a direct impediment to the evolution of things we're already using.

What we would like to see (for example) would be desktop notifications when someone pays an invoice, when someone deposits money in our bank account, when someone leaves a comment on our blog, etc etc. At the moment we can get some of these things by email, and indeed by SMS, but if we're using applications in a web browser, it would seem more normal or natural if notifications came back the same way.

Indeed one of the keys to the online social experience is the immediacy of response, which is the reason for Twitter's success, you can see things literally as they happen and respond, building up a real-time interactive experience.

What if all online software was built like this?!

And in Tech

Traditionally this sort of functionality was provided by polling, i.e. the browser will periodically query the server to see if it has any notifications or updates. From the perspective of scalability this mechanism is completely flawed, once you start talking about millions of users wanting updates every few seconds, all available resources start to be consumed by browsers polling servers just to see if anything has changed.

The solution is something called websockets, which have been around for a number years and as a result are implemented in most modern browsers. These allow two-way communication between the client and the server, so the client does the listening and the server just tells the client when something has changed.

Consider a solution that involves online software that you use being able to send your desktop computer messages / notifications in the same way that mobile phone apps can be sent messages ..

Interesting knock-on's ...

Once you start to think about this sort of technology, where online entities can communicate directly with your desktop, it does make you wonder about the future of Email. At the moment Email is a huge problem, it's insecure, subject to tampering and interception, and indeed issues with Spam and Identity verification seem never-ending.

If you're sending a message directly to someone's desktop, encryption becomes a snip, identity verification becomes easy as you're dealing with two end-points, spammers can quickly be blocked at source, delivery is instant (if your PC is on), literally overnight the World's email infrastructure could become obsolete.

Enabling technologies ...

I've been experimenting with some of these concepts for a little while using Crossbar.io and Autobahn, sounds like Pie in the Sky, but it's definitely a concept with legs. The combined solution provides two-way RPC functionality between client and server, and two way channel registration and subscription between client and server.

Definitely worth a look if you have time on your hands or like to play with bleeding edge stuff .. :-)