The increasing success of the Comet paradigm has exhumed a buzzword that was very popular in the second half of the 90s: Push Technology. To make the story short, what happened was that a technology considered useless and inefficient ten years ago was rediscovered with the help of modern Web development techniques. So, what is Push Technology? The term was coined in 1996 and soon became very successful from a marketing point of view as a way of referring to a new frontier of the Internet. It may be derived from the phrase “push polling,” which was used by the media during the 1996 US presidential election to refer to a devious electioneering technique in which canvassers, pretending to be conducting a telephone opinion poll, used the call to push their candidate’s virtues . Fundamentally, Push Technology refers to any technical solution (for example Comet) whose goal is to reverse the classic Web paradigm of pulling data to the user. The following terms are used as synonyms or are part of the same logical categories:
- pull, synchronous mode, request/response
- push, asynchronous mode, publish/subscribe
Figure 1 shows the typical differences between the two categories. In the classic Web paradigm based on pull, each message produced by the server must be solicited by a client request. Furthermore, after the client issues a request, their thread of execution is usually blocked while they wait for a response. With Push Technology, the client just shows interest in some kind of information (by subscribing to so called topics, subjects, channels, or items) and then, at any time, will receive asynchronous messages from the server. This means that the client is never blocked while waiting for responses to its requests and, above all, the server is able to deliver messages at its own discretion (that is, when actual fresh data is available), rather than waiting for the client to request updates.
Figure 1. Synchronous and Asynchronous Modes
One of the oldest examples of Push Technology (intended with a broader meaning, rather than limited to the Web) is email. The traditional meaning of Push Technology (from 1996 to 2000) mainly referred to techniques also known as webcasting, narrowcasting, or channeling. A channel was related to some category of information, and once the user registered with one or more channels they would automatically receive the information, which was displayed by dedicated client software (thick applications, browser extensions, or special screen savers). In 1996 PointCast, the first push system based on channels, was created. Soon after, over thirty players entered this market, including Microsoft and Netscape. Push Technology was expected to become a killer application, but this forecast did not come about, and in 2000 that kind of Push Technology was finally dead. There were several reasons. First, users did not like to install special software on their PCs. Second, the push systems not only saturated the bandwidth of users’ Internet connections but also caused bottlenecks in Internet provider backbones. Third, and most importantly, there was never a real need for users to find piles of information downloaded to their computer every morning, most of which they would never read. Someone compared the first generation of Push Technology to having giant heaps of newspapers dumped on your doorstep every morning.
In the year 2000 a new kind of Push Technology was created. It was radically different from the first generation with respect to its uses and its technological implementations. The success of online security-trading systems created a new need for real-time data being pushed to the user’s browser. The delivery of low-latency market price data proved fundamental to creating high-quality trading portals. One of the differences with first-generation Push Technology regards the granularity of data updates vs. the grade of real time. The pushed content is no longer a bunch of information to be read off-line, but a series of fine-grained real-time updates to a Web page. That means that a user downloads a static page with the request/response paradigm and then the page starts to receive real-time updates through the pub/sub paradigm, with the ability to individually update each single cell in the page. Figure 2 shows a typical example of market data displayed and updated within an HTML table (the server-pushed data are often highlighted for a short time to catch the user’s attention).
Figure 2. Example of Comet-style Push Technology
In 2005 the term AJAX was coined by Jesse James Garrett, and in 2006 the term Comet was coined by Alex Russell. The rapid adoption of these umbrella terms has proven useful to help developers clearly differentiate new Push Technology from traditional Push Technology (it is important to stress again that the term Comet arrived in 2006—exactly 10 years after the creation of the term Push Technology—but actual Comet technology had existed since 2000). In 2006 a new Comet initiative, named Cometd,  was created.
In the next installment we will delve into more specific Comet details, such as the different Comet models and advanced push features such as data filterability, conflation, and bandwidth and frequency control.
 This company offers spread betting services on financial markets. They migrated their applet-based system to Lightstreamer and went live in early 2006.