next up previous
Next: Dynamic Links and Up: InternetExecutable Content, Previous: Internetthe Web,

The Third-Generation Internet System: Executable Content

How are we to handle the protocol explosion that seems to be going on now? How can we regain control of the rapidly growing ways of representing and displaying information that now give us so much capability? We surely do not want to limit ourselves to a certain format because that condemns us to a research life trapped in the past. We can see what is needed if we stand back a second and look at what is holding us back: Web technology has helped us greatly by giving us the ability to reference information from all over the world in a well-defined way, but through the present implementation, we have been forced into a precise definition of the format of that data itself. The problem is that the communication between the server holding the information we want, and ourselves using the browser, is static:

This problem has an easily-understood cause: The format of the link between the browser is fixed and the data format is fixed, as the browser itself cannot be altered to suit the situation. To handle new types of data we constantly need to expand the Web. It is this expansion of the Web that at present we handle in the most inefficient ways possible: we force users to install new software on their machines, or to restrict themselves to a subset of the knowledge ``out there'' on the Internet. It is thus the need for a standard in computer communication that seems to be limiting our ability to communicate.

The information age is thus dominated by an ever-growing number of information languages, in the form of data protocols. The problem is that a document on the web provides only very minimal information about how it should be displayed. Presently, web browsers run a program to display the document by looking up the document type in a table. If they do not have that document type in their table, they cannot display the document. If they do not have the program to handle the document, they cannot display the document.

The important step to take is to replace the present idea of documents with the concept of web objects. In computer science, an object is a single package comprised of data, and ways of interpreting that data. If we package data on the web along with descriptions of how to manipulate and display that data, we avoid the need for the browser to be preloaded with information on all the protocols on the network. Can we not get our computers to use such a mechanism to learn the new information languages as they arise, without our intervention? The answer is yes, and it is an answer that many computer companies are working on.

We obviously need to be able to expand and modify the interaction between information servers and information browsers. How do we allow a web-browser to learn how to process new forms of data as it encounters them? That is easy--we simply let the browser fetch, and run, new computer programs from the network. Those programs then handle the news form of data, and are bundled with the data itself. The fetching can done whenever the browser needs it, and not until it needs it.

The automated fetching of programs is easier said than done--we cannot simply let our computers automatically load any program they want to, or we would leave ourselves open to attacks by computer viruses! We are also stymied by the problem that every different type of computer needs a different program to do the same thing--there is no standard language that allows all programs to run on all machines. The great advance is that now companies are developing new languages that are safe to retrieve via the network and can run on many different types of machine. The idea is quite easy: you simply simulate a `virtual machine' on a computer, that restricts what a program loaded from the network can do. The virtual machine then runs a standard `virtual computer language'. Once you do that, it is safe, and possible, to download new functions, via the Web itself, to expand what a computer can do, without human intervention. Software becomes a self-installing, self-running entity, that can be tailored as desired for scientific collaboration, without needing to reinstall it on new machines, or constantly add new information standards. The plethora of data protocols is replaced by a standard for exchanging programs that can communicate and understand the data in the way that the scientist has chosen to represent it. Suddenly, computers can go out on their own, and learn to speak a new language. In some ways, one new standard can fit all, if done properly. We now enter a situation in which our methods of fetching data become a lot more flexible:

The connection between the user of the information, and the information provider, now becomes something that can be tailored to suit the situation. The servers no longer have to be just web servers, the communication is no longer restricted to web standards, and server software has arbitrary control of the browser. The new software can add any extra ability needed to make communication better and more natural. This is all done without losing the basic compatibility present in the Web, simply because the dynamic information the computer downloads is transferred via fixed web protocols.

There are two primary contenders for the new standard. The first one is Microsoft's Blackbird language, and the second is Sun Microsystem's Java language. Recently, however, Java has come out as the probable leader, simply because the biggest supplier of web browsers, NetScape, has decided to build Java into the latest version of its browser. This means that, starting now, and proceeding through the next few months, we will find that more and more computers will be able to use Java, almost certainly making it the standard for advanced web-based communication. There is also a third variant, also produced by NetScape, called LiveScript, which makes it easy for non-computer specialists to produce simple programs on their web pages. These systems form the basis for what is called executable content. This is simply the idea that a document can contain programs, in addition to static information, and that, through this novel form of content, we can exchange data in previously unheard of ways. This will produce the quantum leap in web flexibility that we need to give internet the ability to handle the sophisticated scientific communication that we desire for the 21st Century world, without sacrificing any compatibility. In what follows, I will describe my own attempts to use Java in scientific communication. The statements I make, however, can just as easily be applied to Blackbird, or any other executable content system. My comment should not be considered to be general solutions. Java will be probably turn out useful in some of the mentioned places, not so useful in some of the others, and possibly useful in places that we have not thought of yet. The idea here is to show new capabilities and possibilities, and not to sell a particular piece of software, whether it be Java, or my own code.



next up previous
Next: Dynamic Links and Up: InternetExecutable Content, Previous: Internetthe Web,



Stephen Braham
Mon Nov 27 16:48:20 AST 1995