Push Technology – Finally There?

22. August 2009

Real push technology is here. zOMG. And it only took 12 years.

What am I talking about? Lets go back in time a bit.

Sometime around 1997, Netscape came up with the CDF-Format, and said it would revolutionize the web, because it would “push the web to the users” instead of the users having to fetch it from the web. People were all excited, Microsoft said they would do something much better called the “Active Desktop”, and everyone was on the edge of their seats.

Then, what happened? Appearantly, not much. CDF never became popular, and more or less faded away. So did Netscape, eventually. Active Desktop was a continuously crashing thingy that nowbody could make real use of, which had very little in common with CDF, and shouldn’t have been programmed in the first place. The revolution did not happen. At least not yet.

Funnily enough, there was no “pushing” involved at all. The users would have an application on their systems (conveniently bundled with the Netscape browser), which would periodically fetch a list of things from the web (the CDF data), see if there was anything new. It would then present the new stuff to the user. Notice the “fetch” part. Its the user application checking periodically if something new has arrived, not the server saying “hey, I got something new”. So if you set that application to check every 60 mins, you might get an important information 59 minutes late – just as if you had set your email application to fetch new mails only once an hour. The only thing you could do to prevent this would be to check often, causing lots of unnecessary traffic and load on both your PC and the server. The same information- the “list-of-things”-CDF-file – would be sent over and over again.

From a technology point of view its pretty much like a browser getting a certain webpage over and over again, only to be able to tell you whether it had changed since the last time you saw it. Meh.

The idea behind CDF actually made some sense, and became popular in a different form: RSS feeds. But RSS feeds inherited the same problem: it still is your pc fetching (or: “polling”) the information from the web. The subscriber (you) will check for content again and again, the publisher (the website) will continually answer with “these are the latest 10 news items”, your computer will repeatedly check if there was anything new, and if so, tell you about it. What a waste of resources, all because the server couldn’t shout at your system when something new was there.

Up to now, it seemed that was the end of the story.

So, what happened? Google and a bunch of smart guys who obviously were better at coding stuff than at giving it a good name came up with pubsubhubbub.

It starts out with the same situation: A publisher and a subscriber (hence the pub-sub in the name). Whats new is the hub. With the new protocol (which is an extension to RSS), the publisher can actively inform the hub if there is anything new. It is not necessary that the hub checks for new stuff, and thus, the publisher does not have to wait for the hub to check. The hub, in turn, is able to actively inform the subscriber (you) about new information. Again, it is not necessary for the subscriber to check with either the hub or the publisher for news. The publisher is actually “pushing” the information to the subscriber, via the hub. The round trip time of this procedure should be in the region of seconds.

You turn on your PC. Your RSS feed reader checks for news, because it might have missed whatever happend while it was turned off. Up to this point its the same as it has been since 1997. But now your RSS feed reader tells the hub “I’m here, tell me when there’s anything new”, and goes to sleep. If something new is there, the hub will then wake up your RSS reader …. tadaaa! Thats all there is to it.

Effectively, this means your RSS feed reader will be able to get the news only seconds after the publisher publishes it, without the traffic that would be caused if you set your RSS reader to check every second. Your PC actually uses less computing power and bandwith than before.

It only took a mindboggingly long 12 years until technology did what marketing said. And no, thats not going to be a revolution, but it sure is a neat solution to a very common problem.

Oh, and before anybody asks: there is no “bub” in it. They just thought it was funny calling it that.

Binary

P.S. Wake my hub if you have anything new 😛