WWW: Helper Applications

David R. Woolley (drwool@skypoint.com)
Tue, 6 Jun 1995 08:27:38 -0600

Peter Murray-Rust has put his finger on how many of the existing problems 
with the Web will be solved, I think.  Many Web browsers have the ability 
to start up "helper" applications that can display various types of files 
that the browser itself can't handle.

A Web document essentially "tells" the browser what kind of document it 
is. If it's a type that the browser can handle itself - an ordinary HTML 
file, for instance - the browser simply displays it. Otherwise, the 
browser checks its configuration to see if it has been told what program 
it should start up when it receives a document of this type.

The Web-based course in protein structures that both Peter and Allan Mills 
have mentioned makes excellent use of this capability.  They use a 
special- purpose molecular visualisation program that allows students to 
manipulate molecules on the screen. I haven't actually seen this work, but 
it sounds wonderful! I'd encourage everyone to check out their Web site:


There's no inherent limit to the complexity of a helper application. A 
helper application could manage fast, intricately controlled interactions 
that would be impossible over the Web itself.

I should mention a few drawbacks to helper applications, though:

1. The helper application has to be distributed to every user, who must 
then go through an installation and configuration step before using your 
Web site.

2. Platform independence - one of the Web's great strengths - is lost or 
compromised. Since a helper app runs on the user's own computer, it has to 
be compatible with the user's hardware and operating system. So depending 
on your audience, you might have to create several versions of the helper 
app:  one for the Macintosh, one for Windows, one for Unix, etc.

3. Writing a helper application is not simple!  It's a breeze to create 
HTML documents - the language is easy to learn, and there are a growing 
number of easy-to-use HTML editors that will do most of it for you. But 
creating a helper application is a full-fledged programming task.

Sun Microsystems has introduced a new language called Java for writing 
helper applications, and an accompanying browser called HotJava. Together,
they will soon address my first two points. It doesn't solve them quite yet, 
because currently Java is only implemented for Solaris, the Sun version of 
Unix. But it's being ported to other platforms as we speak. We can talk more
about Java later, if people are interested.

But even when Java-capable browsers are available for Windows and the 
Macintosh, my third point will still be an obstacle. It will still be a 
complex programming job to write a sophisticated helper application.

I am very impressed with the description of the protein structures course 
at Birkbeck. It sounds like a very creative and innovative use of 
technology. I hope it doesn't seem too cheeky to ask Peter or Allan how 
much it cost to develop and administer this course. 

Now I understand that cost often isn't a primary concern in a research 
project like this - the point is more to see what can be done.  Also, I 
understand the difficulties involved in pushing the edge and doing 
something for the first time. So maybe a more relevant question is this:  
now that you have done this once, how much would it cost to develop and 
administer your next course using similar technology? Let's suppose this 
new course is in a different subject - architecture, say - that requires 
new helper apps to be developed.

What I'm trying to get at with this question is whether, given the current 
state of the Web, the strategy used for the Birkbeck course is a cost- 
effective method of teaching.