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 http://www.cs.vu.nl/~martijn/ercim.html
M. van Welie and A. Eliëns - Vrije Universiteit Amsterdam
return to the contents page