Page 2 of 3
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.
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 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.