internet.com
Library
Magazines

webreference.com

Java Boutique

Search Engine Watch

PC Webopedia

The Web Developer's Virtual Library

Library

When Push Comes to Pull
Real World Web

by Jay Lorenzo

Unless you have been stranded on a remote island for the past year, you have no doubt heard of PUSH.

Unless you have been stranded on a remote island for the past year, you have no doubt heard one or more arguments on the benefits of using 'push' based server technology on your site. With the many different approaches taken, most push products can be described in a way that is somewhat analogous to the terms that are used to describe television and magazines. People 'subscribe' to 'channels' of content that 'publishers' make available. Unlike traditional media though, most push products exist to provide an update or notification mechanism to let subscribers get access to the most current content.

Most of the present use of push technology is very 'broadcast' based, meaning that a small number of channels feed a large number of subscribers. With the use of personalization techniques push technology holds promise to evolve into a medium that contains more 'narrowcast' or 'pointcast' services that can deliver customized information to a groups or to an individuals.

Although the term 'push' is used to describe these products, the common concept behind these technologies truly rely more on a 'pull' than a 'push' - a subscriber uses a client-side piece of software, which may or may not be integrated with the subscriber's web browser, to query a component that resides on the publisher's server, and based on pre-established criteria, 'pull' additional or revised content back to the subscriber, sometimes transparently in the background without direct user intervention. In many cases, the client side software is usually offered at little to no cost to the end user (hopefully encouraging its use), while the server-side publishing costs are borne by the publisher (who hopes to build long-lasting relationships with users though the use of the service).

As this year unfolds, expect to see even more product offerings in this area, particularly from Microsoft and Netscape. Both companies are expected to make a major, er, push into this area. Microsoft will lead with a Windows specific implementation called Active Desktop, which will be released in conjunction with Internet Explorer 4.0 for Windows 95/Windows NT. Netscape will follow suit with their own take on this technology, which will be centered around both Netscape's Constellation and Communicator. It is important to note that both of these products seek to make the browser the centerpiece of the user's workspace, which will lead to a fundamental shift in the way that people interact with the Web.

Just a Little Push...

In this column, we'll take a look at some of the current offerings, starting with two of the more popular products that use a web-centric focus - Intermind's Communicator and BackWeb Technologies' BackWeb.

The Intermind Communicator provides the easiest method to deploy push-based content. The intent of this software is to provide a notification service, advising subscribers when new content has been delivered, based upon Topics that the wishes to be notified of. The Communicator integrates into your browser, and provides a simple way to create server resident objects called hyperconnectors. The actual creation of these hyperconnectors is done through the browser itself, via the publish mode of the Communicator software. After these objects are uploaded to your web server, users of your site subscribe by selecting links that download the hyperconnectors to their desktops. As the content referenced by a particular hyperconnector changes on your server, the subscribers are provided with notification of that change.

The Intermind approach is noteworthy due to the fact that there are no server programs required at the publishing site to deliver the content. The only real server side implementation is at the Intermind site, where they collect and summarize all of the clickstream data generated during the user's interaction with hyperconnectors. Publishers can access the Intermind site for usage reports for their hyperconnectors. It is important to note that the Intermind software is designed to shield the real identity of the subscriber. This means that the publisher can obtain a variety of statistics of site usage, but will be unable to gain the identity of the individual, unless a user of the service provides their identity through an interactive form, etc.

BackWeb takes a more traditional client/server approach, and allows more graphic based content to be delivered to the subscriber. Naturally, this requires a bit more effort - you will need to install a BackWeb server to deliver content modules called InfoPaks. The content may be interlaced with animated dialogues and presentations created in popular imaging and development tools, with the hope that it will the user's attention to it. These presentation materials can be assembled through the use of BALI, a BackWeb specific scripting language. Note that BackWeb and Intermind Communicator ultimately use the web as the main delivery mechanism for information.

Admittedly, the BackWeb approach consumes quite a bit more bandwidth than the Intermind approach, but since the delivery mechanism is optimized to use bandwidth during periods of user inactivity, it is not usually noticed by the user. Web developers that believe that they would like to attract and engage subscribers with graphic content should take a look at downloading a demo version of the BackWeb server and client.

Some vendors are taking a Java based approach to channel based information delivery. If your focus is centered on the corporate intranet, you will probably want to review DataChannel. DataChannel is in the process deploying channel management and content tools that they indicate will deliver customized information to the corporate desktop. At the time of this writing, their demo is available (providing you are using a Java-enabled browser) on their Web site. Their ChannelManager allows user customization as to the appearance and organization of the desktop, and allows administrators to decide what information is displayed to individual end users.

Marching to a Different Drummer

From my perspective, the most ambitious push-pull delivery system to date is the Castanet system from Marimba Inc., which was founded by four members of the original Java team at Sun. Marimba's main focus is to provide tools that allow the deployment of Java based interactive applications over the Net. Additionally, this technology also allows the delivery of Java applets and other HTML and web-based content using this same technology. Not surprisingly, most of the Marimba implementation itself is done in Java.

Castanet provides a two-way method of communication between the server and client. They describe their implementation in terms of a Transmitter, which is deployed as a server, and a Tuner, which resides on the subscriber's computer. The Tuner is the user interface to the Castanet system, and is responsible for subscribing to the various Transmitters available on the Internet. Once subscribed, the Tuner will 'talk' to the Transmitter as connectivity permits, to make sure the subscriber has the most current content. The current Transmitter implementation is a stand alone server, although Marimba has indicated that NSAPI and ISAPI plug-in versions should be available in the near future. To allow Transmitters to reach into firewalled intranets a Proxy server is available that allows the delivery and caching of channels. Additional components include Bongo, an exceptionally well done interface builder and interface widget collection written in Java, and a Repeater, which allows the replication of channels to provide wide area deployment.

A unique feature of this system is that it is designed with the idea that users will not always be connected to the Internet, which means that there needs to be a method of persistence, but they once they, they will need to interact and update their current information and programs. Castanet is responsible for identifying the incremental differences between the content hosted on the Transmitter and the content currently residing on the client.

This is accomplished by creating MD5 checksums of all of the files that currently comprise a channel. Once the Tuner is run, the Transmitter can compare the checksum signatures very quickly, and deliver the most current content, without any intervention by the user. A great example of potential use would be a the Castanet equivalent of what Nicholas Negraponte (sp) referred to as 'The Daily Me' in the book 'Being Digital'. Each night, an agent based program filters through and finds stories of interest to a particular subscriber. When that subscriber attaches to the Internet, the Transmitter pushes down the results of those searches, giving the subscriber the specific content tailored to the user's criteria and preferences.

Conversely, the Tuner can return information back to the Transmitter as well. An example of this would be a sales engineer, who downloads a copy of a trip itinerary, map and expense report prior to calling upon several customers. Upon returning to the office, the employee can connect to the Transmitter, uploading the expense report to accounting, and upload trip reports for the account managers of the customers visited.

Of course, some of these systems that we are describing do require a great deal of Java knowledge. For those looking to get their feet wet and have little or no Java experience, the Bongo interface builder gives you the ability to create 'Presentations', which is Marimba-speak for Java based dialogs and interactive panels that respond to user input. Although it is possible to create applications and even applets in this fashion, keep in mind though that you will not get the maximum benefit of this tool without some Java programming experience. Experienced Java developers will find the widget collection alone to be worth the price of Bongo.

As previously mentioned, you are not limited to the deployment of Java applications. Java applets, Shockwave, HTML and other web content can be delivered in the same fashion as applications, which can be a very convenient feature for off line browsing of HTML-based content. The delivery of tutorials or other reference materials are good examples of HTML content that is well suited to this approach. And just as with applications, it is possible to keep the content updated incrementally as changes occur. As with the other software we have mentioned in this column, Castanet can also use a web browser as an integral component of a channel, which allows developers to use their existing web content without further modification

All in all, it's too early to predict what impact Marimba will have, but it is plain to see that web developers have spent an inordinate amount of time trying to make Net based applications out of HTML and CGI programming. There is a real need to find a better alternative to the current design of Internet based applications, and Castanet may well be the next step.

In closing, try to analyze and understand which of these services can add value to your site. Many of the push-pull products available today can be very effective tools in building relationships between you and the users of your site. They will not, however, make your existing content any better. The content you offer must be compelling enough to make users want to see new additions. And with that sermon out of the way, feel free to send comments, questions or flames to jayl@digitalrain.net. See you next time.


Web Developer® Site Feedback
Web Developer®
Copyright © 2000 internet.com Corporation. All rights reserved.

Web Developer® Home Over a dozen topics in detail Live Chat Downloads Book and Product Reviews Threaded Discussions How-To/Articles/Links Developer Daily News Subscribe Search Corporate Information Advertise Events Publications internet.com Home