by William Blundon

When “push” comes to shove

how-to
Apr 1, 19976 mins

Push technology is all the rage -- What does this mean for Java?

You remember the syndicated television program “Lost in Space.” If you are of a certain age, you saw it over the broadcast networks. If you are a little younger, you probably know it from cable television. If you live outside of North America, then you probably know it by another name. But you know it.

Access your mental archives and retrieve an image of Will Robinson (the young co-star of the series) walking buoyantly through some bucolic, oddly vegetated, alien landscape. Suddenly from off-camera come the flailing mechanical arms of the family robot, wheels turning, lights flashing, and declaiming: “Danger, Will Robinson. Danger, Will Robinson (or whatever the equivalent may be in your local language).”

Now think about push technology

Push products are all the rage. It is impossible to read the popular press and not see an article proclaiming it as the Next Big Thing. It is, or at least it probably is the next big thing, and there are three major reasons why.

First, the Internet is a major story, but it is rapidly becoming old news. The media needs a fresh angle and push is it (not a great reason for all the hoopla, but an important one). Second, already there is an awful lot of content on the ‘Net, and it continues to grow exponentially. There are a number of excellent search engines in the market, but finding what you want, when you want it is becoming increasingly time consuming. Finally, making money on the Web has been harder than many people thought it would be. Everyone is in search of an improved business model. The first law of venture capital is that there is always money to be made where need and technology meet.

So what does this mean to you? Well, if you are not using a push product today, you probably will be in the future. The most important reason for this is nicely encapsulated in the name of the leading push company: Pointcast. The broadcasting model of the television age achieved maximum profitability by identifying the largest viewing audience and selling advertising to vendors of mass-market products. Despite a large investment in research, developing a demographic profile of this audience has always been rudimentary. In the broadcast media, this has led to programming for the least common denominator. Cable television has increased the ability of advertisers to reach a select audience, but good demographics are still hard to come by.

Pointcast, and the other push vendors — such as BackWeb, Data Channel, Individual’s Freeloader, Intermind, Lanacom, Marimba, and Wayfarer (see Resources) — have learned an important lesson from television. In a world of unlimited information, rather than broadcast to the masses, it can be more lucrative to “narrowcast” information to a select audience. Most people do not want 1,000 television channels — they want one channel that shows what they want to see when they want to see it. Letting people configure to their specific needs the presentation of information from a multitude of channels is good for the consumer and great for business.

Push this

Most push companies provide a proprietary client environment that users can download without charge. The companies generate revenue by providing many channels of information, gathering demographic information from their end users, and selling carefully targeted advertising. Those of you who use one or more push products know that this can be a very user-friendly arrangement.

Pointcast, for example, allows users to subscribe to channels that focus on news, sports, weather, finance, and industry sectors. The user completes a profile that describes the information desired, and Pointcast’s servers automatically download the information from the ‘Net and update it periodically. The information is presented in a multi-window environment with areas for documents, maps, ticker tapes, and a dynamic display area for advertising. Pointcast software also has the ability to automatically update itself as new functionality or channels become available. The user simply clicks a button and the new software downloads automatically.

This is a typical scenario for most push products, although supported content types, available channels, and systems administration facilities differentiate the products. Some products execute in browsers; some are native Windows applications. Some products present only text and images; some serve applets and other executables.

Danger, Will Robinson

Therein, lies the rub. As long as the runtime environments for these products are proprietary and execute on the client’s native machine, they are subject to all the standard concerns surrounding downloading executables over the network. Push documents or images onto the machines in your company, and you are a hero. Push self-replicating software onto those machines, and you open yourself up to countless problems. Without an integral set of security mechanisms on the client, push technology could be to network computing what Typhoid Mary was to public health.

For push companies with a software distribution focus, Marimba for example, the solution to the problem lies in Java. Executables downloaded to the client execute within the boundaries of the Java virtual machine and are constrained by the integral security mechanisms of that environment. Where software can auto-update or self-replicate, it does so under Java’s security constraints. In early 1997, almost no one claims that the Java VM is a completely secure environment, but it is significantly more trustworthy than a proprietary runtime environment from your friendly push vendor.

The evolution of push technology

The natural evolution of push products is to integrate their functionality with standard Web browsers. As browsers evolve to include document viewing, applet execution, electronic mail, and groupware facilities, it is natural to conclude that they also will include the ability to narrowcast information to individual users and multicast information to multiple users. Microsoft already offers a limited version of this scenario on its Microsoft Network site (see Resources). This site provides a range of content similar to the Pointcast Network, although MSN’s ability to dynamically update information is much more limited. It also uses ActiveX components to do much of what can (and should) be done in Java.

Integrating push technology with browsers, however, does not eliminate the need to worry about security. Downloading, or auto-updating, large quantities of ActiveX components from a number of providers to all the users behind your firewall also should cause a few arms to flail in warning. Downloading these same components as Java applets should calm a few fears.

Conclusion

When push comes to shove, security is an issue. If you plan to use push technology to download executables, the best advice is to serve only Java applets. If you plan on using your intranet as a mechanism to distribute and maintain client software, think seriously about using one of the Java-based push products. You will have a lot less to worry about.

William Blundon is president and COO of SourceCraft Inc., a leading developer of intranet development tools using Java and other Internet technologies. His focus in the last seven years has been on distributed object environments and the Internet. He is a former director of the Object Management Group.