Aware of Push

by Kris ZypJanuary 4th, 2008

The concept of sending information to a user, triggered by a source other than the user, is often referred to as push technology. Push is generally characterized by the user at some point expressing an interest in a topic, and the user later receiving information on the topic when it becomes available. Comet generally represents one end of the spectrum of push technologies, which is sending information while the user is currently visiting a web page. In this situation, the user expresses interest by visiting a page, and for the (possibly short) duration of the page visit, may receive very rapid delivery of new information and updates.

At the other end of the spectrum could be email. We express interest by more manual approaches, e.g. giving friends our email address or subscribing to lists. Notifications of new information can be quick, but it is adapted for more long term and long duration information push. The push spectrum is a bit rough in between these two. In the earlier days of the Internet, attempts were put forth to provide other forms of push technologies, but the effort required to subscribe and the clumsiness of the technology did not really provide significant benefit over email. Can the process of pushing information to users be more of a continuum? Can my web browsing signal my interests like in Comet, but with durability of email? Can the capabilities of Comet to deliver information to me extend beyond the time I spend on a particular page?

Recently I submitted my entry, Aware, into the Extend Firefox 2 Contest. Aware watches the pages that a user views, and when a page with an available RSS/Atom feed is visited more than once, it will internally subscribe to the feed, and notify the user of new updates. User interest is expressed by the low effort mechanism of visiting pages (rather than manually subscribing), but the durability of notification extends beyond the page view. Aware also gauges interest in the page by user response, so as to be a mediator of what and how much information can be pushed. While the skimpy QA, few features, and lack of an elegant interface will most likely eliminate it from a being a serious contender in the contest, I am hoping that it can be an interesting experiment in the pursuit of a smoother continuum of push technology.

Another Comet related aspect of Aware is the integration of RSS/Atom feed long-polling capability. In my last article, I proposed the use of the simple HTTP header “When-Modified-After” as a mechanism for Comet communication based on HTTP and MIME standards. This header simply indicates that the resource should not be returned until it is modified after the provided date. Aware will add this header, with the date of the last update of the feed, to each polling of a feed. Of course, all current servers are ignorant of this header, and will simply immediately return a response, and Aware will end up with a normal polling mechanism. If servers were to implement this header, they would delay their response until there was more updated information to send to the client, Aware. Thereby Aware would no longer be doing traditional polling, but long-polling, and when a feed update occurs, it would not have to wait for the next poll to receive the update, but could receive notification instantly.

Aware attempts to combine automation of user interest gathering and subscribing with potentially instant notification of open HTTP connections (long-polling), and notification durability beyond the time spent visiting a page. Hopefully it may be useful for some and an interesting experiment in bridging push technologies. Shall we pursue a future of pushing past the page view?

Comments are closed.


Copyright 2015 Comet Daily, LLC. All Rights Reserved