Our implementation of the Web++ applet revealed also several
limitations of the java.applet API:
- Applets cannot stream data directly into the browser.
- Applets cannot subscribe to events detected by the browser that
are triggered outside of the applet area. For example, applets cannot
detect that a user followed a bookmark. Similarly, applets cannot
detect that a user typed in a URL that should be followed.
Our implementation of Web++ client applet circumvents the first
limitation by writing the received resource into a local file and
passing its URL to the browser. Such a mechanism allows us to
implement a local browser cache that matches resources based on their
logical URL as opposed to physical URL matching used in most
browsers. The second limitation could be addressed (although
inefficiently) by re-implementing the necessary graphical controls
(i.e. bookmark button) directly within the browser area.
Both of the limitations are eliminated in the ActiveX ``Pluggable
Protocol'' interface that is supported by Microsoft Internet Explorer
4.x browser. We plan to explore a Web++ client implementation
based on this technology as well as to investigate implementation of a
similar interface within the publicly available Netscape Navigator
source code.