One of the major objectives of our research in the last two years has been to port all our interactive systems, currently on personal computers and local area networks, to operate effectively in the open, wide area networking of the Internet, and, wherever possible, to integrate seamlessly with the World-Wide Web (WWW, Berners-Lee, Cailliau, Luotonen, Nielsen and Secret, 1994). However, the graphic primitives necessary for interactive concept maps are not provided as part of the HTML widget set, and hence it is a challenge to support concept maps on the web.
The scripting capabilities make it possible to operate KMap as a WWW client helper, capable of accepting concept maps brought across the web by a browser such as Netscape, and of requesting arbitrary files, including concept maps, to be fetched through messages sent from KMap scripts to the WWW browser. Figure 25 shows an HTML document in Netscape which has links to KMap documents. When the user clicks on the hypertext link "access the KSI material" at the top of the screen, Netscape fetches a KMap file "KSI" which it passes to KMap which opens and displays it as shown in the KMap window at the middle right.
Figure 25 KMap acts a client helper application to the Netscape browser
Clicking on the node "Geometry of Psychological Space" at the right of this concept map causes KMap to send a message to Netscape requesting that the file with uniform resource locator (URL) "http://ksi.cpsc.ucalgary.ca/WebMap/Geometry.KSS" be fetched. This is a concept map of the structure of an article provided by its author that opens in another KMap window shown at bottom right. Clicking on the node "Introduction" at the top of this concept map causes KMap to send a message to Netscape requesting that the file with URL "http://ksi.cpsc.ucalgary.ca/PCP/PCPIntro.html#3" be fetched. This is a section of an HTML document that Netscape then displays in its own window as shown in Figure 26. Clicking on other nodes in the concept map causes Netscape to navigate to different sections of this document.
Figure 26 KMap fetching a file in Netscape
Note the "Netscape Agent" concept map window appearing just behind the "KSI" concept map in Figures 25 and 26. It is this map that has the scripts that control the behavior of the other concept maps. The maps fetched from remote sites are passive data structures that in themselves can only display on the local machine. They are given active functionality through KMap passing messages from them to the "Netscape Agent" which has registered itself with KMap as an active agent. Thus, no programs that could have adverse effects on the operation of the local machine are loaded from remote sites. Clearly, at some stage the agent itself has to be acquired, but this need only be done once, and it can be assessed for adverse behaviors by examining its script.
This application of KMap as a helper to a World-Wide web browser allows much of the multimedia file sharing of Mediator illustrated in the previous section to be achieved by the integration of different applications, with KMap no longer having to manage TCP/IP communications. It is desirable in system development to achieve the functionality required by using as many standard and widely available components as possible, and minimizing any additional code that has to be written. Eventually it should become possible to achieve the functionality of KMap using web scripting languages such as Java (Sun, 1995) which are designed to download extensions to browsers while enforcing strong protection against adverse behavior.
gaines@cpsc.ucalgary.ca 22-Nov-95