ERCIM News No.25 - April 1996 - CWI

Chatting on the Web

by M. van Welie and A. Eliëns

The Web is becoming more and more alive. The days of static pages are numbered and with the introduction of inline applets, the web is becoming increasingly dynamic. In the Proceedings of the Third International World Wide Web Conference, 10-14 April we described a web extension for Hush that among other things lets you execute script code inside an HTML page. In combination with other Hush extensions eg a video and an audio widget, even more interesting applets could be written. By now it has become clear that the execution of scripts such as Java, Tcl or Python are a powerful means of building more dynamic features into Web pages.

With our current work we are trying to stretch these boundaries even further. In order to reduce the size of the browser without compromising the functionality offered, we developed a browser that interacts with remote applications. A user can interact with such applications simply by requesting a certain page on the web. We developed an example which lets the user join a "chat" session, like the well known IRC chat programs. This illustrates the use of new functionality that the browser itself does not support. The browser only has knowledge of the meaning of certain tags that indicate interaction with a remote application.

The browser receives script code for building the interface of the remote application it is connected to. In order to create a user interaction, the browser sends back the user events to the remote application. The result is that we actually pealed off the interface of an application and distributed it to a browser in such a way that the user will not notice any difference (except for some performance loss).

For the actual communication we developed a new Hush extension called HushTalk. It is based on Sun's ToolTalk which is a message based system for inter-application communication that uses RPCs. The stateless HTTP protocol is not suited for continuous communication, nor does it offer the session management needed for cooperative work between applications. HushTalk is used for both browser/application communication and for communication between chat applications.

A similar chat example could also be implemented as a Java applet. The applet would have to set up a connection between browsers using sockets. However the Java code would be executed locally in the browser instead of on a remote host. In other words mobile interfaces are employed instead of mobile code.

Our approach makes it possible to integrate applications into Web browsers. The browser and the remote application use a new protocol, HushTalk, for communication between them. This protocol offers some basic functionality for applications that want to cooperate. Our protocol introduces no new security holes since safe interpreters are used. This way the Web browser can be used as a starting point or general interface for accessing applications on the net.

For more information and references see

Please contact:
M. van Welie and A. Eliëns - Vrije Universiteit Amsterdam
E-mail: {martijn,eliens}

return to the contents page