• No results found

Funda mental to the con ce pt of the learning compute r is the integ ration of all the fu nctionality an extramural student needs into a simplified graph ical interface . This interface seam lessly com bi nes resources located on the user's computer with those accessed over a network, o r delivered via different communication med ia. Most fu nctionality resides on the learning computer, with the network acting as a delivery med i u m . The system shoul d be usable with or without a network connection .

For a student to link the i r h o me computer to a university server they must con nect via the telephone system - either through a direct dialup connection or using the I nternet via a dialup connection to their I S P . From the remote student's perspective, there is no perfo rmance benefit a nd considerably more expense (toll cha rges) to the direct dialup a lternative . From the un iversity's perspective, there is little to choose between the two methods, especially where the un iversity network uses the Internet commun ication protocols (TCP/IP). Therefore , for the pu rposes of the I M M E D IATE prototype, network req u i re ments can be addre ssed in the framework of the I nternet.

In this section , alternative network user interface (NUl) styles are considered in light of these req uirements, and an a pproach for providing an i ntegrated interface is outlined.

5 . 1 . 1 Alternative netwo rk user i nterfaces

To determine the best method for implementing an Integrated Interface, a comprehensive review of alternative internet-oriented N U l styles has been carried o ut (Appendix C). While most s uch N U i s are referred to u nder the generic term , "web b rowser", their functionality and relationship to the underlying operating system have u nd e rgone an evolutio n , which have taken most of them a long way from the "write o nce , run anywhere" concept which browsers were orig inally desig ned to support. The m a i n variations that can be identified are classified here a s the standard web browser, the multi-platform enhanced web browser, the single-platform enhanced web browser, the specialised client interface, and the telecommuting i nterface . Each of these will be d iscussed in tu rn .

General-purpose browsers

The standard web browser a ccepts as in put, text documents conta in ing embedded

instructio n s (tags) which describe the format in which the document is to be displayed . These text documents a re stored on a web server a nd served over the network to the b rowser client. In this way, the same document can be correctly displayed on any

Chapter 5: Towards a specification 85

computer, regardless of its underlying h a rdware and operating system platfo rm , provided a web browser application i s available for that platform (Ta ne nbaum, 1 996 , p . 695).

These browser applications are known as th in-clients to disting uish them from client/server applications in which the client machine runs software that is stored loca l ly (Dewire, 1 998 , p. 1 1 8).

To provide some interactivity, static web documents may be replaced by dynamic or active documents , which can respond to u ser inputs (Corner, 1 999, p. 434). A dynamic document is created at the server end whenever a browser req uest is received, enabling the contents to vary from one request to the next. An active document is a prog ram which is down loaded to the user's browser where it conti n uously recompi les and re-d isplays the document in response to user in put. To ru n active web pages a browser must be "enhanced" by add ing the capacity to compile pages from programs before displaying them to the user. The th ree basic types of web document a re compared in Figure 5.1.

Presentation Presentation Presentation

Page

HTML HTML Compiler

Internet Java + ActiveX +

HTML HTML

Page Server CGI Page Database

Active Page

Page Server Compiler Program

Server

Static Presentation Presentation Active Presentation

Figure 5.1 : Three basic types of web documents.

Dewire notes : "In striving to be portable, HTML sacrificed some of the interactive capability that is proprietary to e ach o perating system" (Dewire , 1 998, p. 3 1 ). Most

Chapter 5: Towards a specification 86

browsers h ave been enhanced in o rder to utilise more of the fu nctionality offered by the computer than is availa ble through HTML 1 (Figure 5.2).

A wide ra nge of tech nolog ies has been applied to extending the functionality of web browsers. One u sefu l way these can be categorised is whether they work across mu ltiple hardware/softwa re platforms or whethe r they are specific to a single-platform .

Text & graphics Plug -ins Containers for components

Shock wave

Acrobat VB Script Java Script

HTML Real Audio Cool Fusion

Active X Java Apple! Live 30

Figure 5.2: E n ha nced web browser components (from Dewire, 1 998, p 1 24).

The multi-platform, enhanced browser provides additional functionality by usi ng its own J ava Virtual Mach ine to run Java programs (applets) downloaded with web pages. These programs ru n with in the confines of the web browser and only interact indirectly with the operating syste m . They should work on any platform for which the web browser itself has been written . The applets a re not persistent a nd must be d own loaded each time they are requ i red (Dewire , 1 998, p. 21 0-1 3).

H owever, to u se computer functions not available inside the browser e nvironment - e . g . to print files or to write them to disk - Java prog rams will often be written to make d i rect calls on the o pe rating system, tying them directly to the u nderlying

1 Many browsers also have some capabil ity to handle documents stored i n some XM L formats

( Harald et al . , 2002, p. 1 02). While this may i ncrease the range of documents a browser can display, it has no effect on the architectural issues under discussion here.

Chapter 5: Towards a specification 87

hardware/software platform (Goldman et a l . , 1 999, pp. 338-39) . They a re then essentially a sing le-platform enhanced browser.

The single-platform enhanced browser installs special programs called helper applications or plug-ins, on the user's machine, which interact d i rectly with the operating system to provide extra capabilities. The browser passes a fi le to a h elper appl ication which runs d irectly on the Desktop in a separate window, whereas the plug­ in displays the file within the browser environ ment. Such programs must be written for each computer platform .

For the Windows platform , plug-ins and helpers h ave been generalised as reu sable software components called ActiveX controls. These are down loaded as requ i red and stored locally for use by any application instal led on the computer. For Java , JavaBeans play a n ana logous role within a browser (Dewire, 1 998, p . 2 1 0-1 3).

The vast majority of browsers in use today are single-platform enhanced browsers, mostly in the form of the Windows-specific Internet Explorer.

Myth of the platform-independent thin-client,

In the cou rse of reviewing various lnternet-oriented NUl styles it has become clea r that two attri butes of the web browser favouring anytime, anywhere functionality - its th in client architectu re and multi-platform capability - have become more myth than rea l ity.

Gold man et a l . (1 999, pp. 287 -88) noted that the scope of web browser softwa re has expanded horizontally to include accessing resources on the client machine and loca l network, a s well as lnternet-attached resou rces. And this scope has a lso expanded vertically to include all lnternet-attached resources and services, and not only the World Wide Web.

"Web browsers' transition to managing local attached hardware resou rces means that they must now be more closely integ rated with client operating systems. Whereas in the past, web browsers were just another application program executing over a particular operating system via AP is and o perating systems calls they are now more like a single integrated piece of software with a particular client operatin g system embedded within the web browser software . . . " (ibid . , pp. 288) .

The Microsoft!Netscape browser war of the 1 990s transformed browsers into h uge and complex software systems, as Netscape attempted to embed operating systems with in their web browsers and Microsoft attempted to embed web browsers within thei r operating systems (ibid. p. 288) . With Windows 9 5 , before Microsoft merged its web

Chapter 5: Towards a specification 88

browser with its o perating system , Internet Explorer required more d isk space to install than the operating system (Dewire , 1 998, p. 1 23).

The implications for web application developers is that rather than writing one program that will run anywhere , they find themselves increasingly having to p rovide d ifferent versions for each b rowser/operating system platform . For instance, the main impetus to Jade developing a special-pu rpose inte rnet th in client for its database applications "was that the d ifferent suppliers' browsers were not always synch ronised to each other with their functionality a nd we ended up with a multiplicity of special code to generate for each version/make of browser." 2

The same problems face courseware developers who use the genera l-purpose web browser for presenting cou rse materials to the learner. Web-based courseware's m u ltimedia content req u i res sta ndard plug-in and helper mod ules like a media player a nd P D F document reader. Any specialised functiona lity, such as TILE's Aud iograph (Jesshope et a l ., 1 998), requires appl ication-specific software mod ules which must be written for each platform .

The implications for the student user of a web-based learning system are that they face the complexity of insta lling add itional software on their computer, as wel l as opening them up to g reater secu rity risks (Gold man et a l . , 1 999, pp. 337 -38).

Specialised interfaces

Specialised client interfaces provide e n hanced functionality more si m ply by bu ilding an interface exclusively for the specific application . Jade, for example, uses a three-tier arch itecture in wh ich the interface accesses the application over the Internet, which in turn accesses the d ata base over a local network (Jade, 2000). JAD E provides an example where the fu nctionality and usability of a n lnternet-based client-server database a pplication has been improved by dispensing with the general-pu rpose browser in favo u r of a p u rpose-built thin client. A three-tier structure also a llows for the application to be moved to the client, so that only data has to cross the I nternet, while presenting the same interface to the user.

With the telecommuting interface the remote user logs onto their company LAN via a direct dia l-up connection (Goldma n et a l . , 1 999, pp. 462-66), or via the Internet using

Chapter 5 : Towards a specification 89

tu nnelling protocols as discussed later in this chapter (5 . 2 .3). The N U l provides the same view and functionality to the remote user, as if they were directly connected to the LAN . Application logic is located on the remote machine or it is distributed between the client and the server. Remote resources are presented to the user as if they were stored locally. In the mobile computing variation, the user must be able to work off-l ine, requiring only period ic updating a nd synchron ising of files across the network.

5 . 1 . 2 I nteg rated Interface

None of the NUl styles reviewed above exactly match the req u i rements for a learning computer interface. Rather, its integ rated interface (Figure 5.3) combines aspects of severa l of these styles.

Of the general-purpose browsers , the integrated interface shares most tech nically with the single-platform enhanced browser deliveri ng active web docu ments. With this style, the functional ity resides on the client with the Internet acting as a delivery mechanism. And it combines the display of web pages with other interface objects that d i rectly access add itional operating system functionality as needed . However, the sing le­ platform browser remains con nection-dependent a nd presents its docu ments with in the clutter and complexity of the general-pu rpose environment.

I ntegrated Interface � --- ---··---, Presentation Application ._ ! Network Data Management IMMEDIATE ,---·- ' r .... _________ r---·: ! I I I I f---J ., 1 Java 1 1 Apple! 1 1 ActiveX \ � : - ---1 � I Web 1 c, I 1 t ! browser I�: JVM 1�!

!

I : I Operating System

Chapter 5: Towards a specification 90

The integrated interface implements the specialised client interface style in that the needed fu nctions and features a re simplified for the user by being presented within a specific interface for learning . U n like the specialised thin client, however, the learning computer is not con nection-dependent a nd makes richer user of local computer functionality.

The integrated interface combines the simplified interface of the specialised client with the integration of network and local features of the teleco mmuter interface. And, like the mobile computing client, the learning computer has a l l the required functionality ava ilable locally. Only periodic synchronisation with the university back-end is req uired .

lt is n ow necessary to define a network arch itectu re for I M M E D IATE that can support this combination of aspects of several different NUl styles reviewed above.