• No results found

5 2 Network A rchitecture

5.3 Development platform

G iven the ubiquitous nature of the World-Wide Web, the Personal Computer (PC) and the Windows o pe rating syste m , there a re only three basic options for a development platform on which to build the student end of IMMEDIATE for installation on a home computer. These a re :

Chapter 5: Towards a specification

• a mu lti-platform implementation based a round a n enhanced web browser,

• a mu lti-operati ng system solution specific to the PC, o r

• a Windows-specific im plementation.

Each of these options will n ow be considered in turn .

5.3.1 Mu lti-platform

95

The mu lti-platform approach is the one usually adopted for developing computer-based learning syste ms today. lt centres upon using Java applets to add additional featu res and fu nctions to an HTML- (or more recently, XML-) based browser environ ment. This approach , however, has a number of disadvantages for im plementing the learning computer strategy.

In o rder to work on all operating systems and hardware platforms Java applets must be limited to those features and functions avai lable on all of them (Honeyball, 2002 b). The learning computer req u i res a richer interface than can be easily built using these lowest common denominator capabilities. lt would also be an advantage to have g reater control of the application's look and feel than is possible using Java's algo rith m-based screen organisation and display (Naughton et a l . , 1 999, p745) .

To provide a l l the required lea m ing functional ity, exten sions such a s applets, plug-ins and ActiveX controls, have to be written for each platform on which the learn i ng computer is to ru n, negati ng many of the multi-platform benefits of using Java in first place.

Lastly, and most importantly, the simplified and i nteg rated requirements of the learning computer interface are at odds with the visual clutter and complexity wh ich accompanies a g eneral-pu rpose web browser (Figure 3 . 1 ). Therefore , to effectively u se the multi-platform approach , a special-purpose web interface would have to be built for every major computer platform .

5.3.2 PC-based

There are essentially two types of operating systems that are available for the PC - Microsoft Windows and Linux. A nu mber of business users, and a small layer of experienced home PC u sers have shifted to the Linux operating system , an open source prod uct based on Unix, due to its cheapness, adaptability a nd reliability. lt has become especially popu l a r as a server system for the Internet (Hall et al . , 2000, p 1 2) . H owever, the g reat majority o f home computer users, including almost a l l extram u ral

Chapter 5: Towards a specification 96

students ( E xtramu ral News, 2002), use PCs supplied with one or another version of Windows . To re-config u re a Windows PC to run a Linux-based learning computer is not a trivial task and could n ot be expected of most computer u sers working in isolation . Th is is discussed fu rther on in the chapter (5.4).

More i nterestingly, because Windows a nd Linux are both PC-based and therefore

share the same hardware instruction set, applications written for one operating system

a re often relatively easily parted to the other (Wells, 2000). For example, applications built with the Delphi I ntegrated Development Environ ment (IDE) can be designed so as to be porta ble to the Linux platform via the Kylix development environment (Swart, 200 1 ). Th us, in theory at least, a Windows-based imple mentation of a learn ing computer can be readily customised to work in all PC-based environments.

5 . 3 . 3 Windows-based

The Windows operating system appears to the systems programmer as a set of specia l i sed C libra ries, the W I N32 A P I , which can be directly included in a standard C or C++ program ( H a rt , 1 997, Ch 2; Petzold, 1 996 , Ch. 2). Thus, the components of a learn i ng com puter m ight be built d i rectly from the basic Windows libraries and made ava i lable to a learning system developer as ActiveX controls. "ActiveX controls are precompiled software objects that can be embedded into other applications. ActiveX contro l s can be written in a variety of prog ramming languages including C, C + +, Visu a l BAS IC, and Java" (Goldman et a l . , 1 999).

A simpler and more efficient method for achieving the same end is to use a visual prog ra m ming development environ ment, such as the Java-based JBuilder or the Object Pasca l-based Delphi, wh ich offers more direct support for an object-oriented ,

com ponent-ba sed, software engineering approach.

Java has become a popu lar prog ram ming language beca use of its strong support for object-orientation and its portabil ity across computer platforms. But as an interpreted language that only u ses a subset of the Windows API fu nctionality it is a less effective option for building a Windows-specific application than Delph i , which is fu lly compiled and m o re tightly integrated with the u nderlying operating system.

According to Cantu ( 1 999), Delphi "was and still is the best combination of object­ o riented progra m m i ng a nd visual programming for Windows" (pp. xxix). Del phi maxim ises what a competent programmer can get from Windows, without their having to d i rectly deal with the complexities of the Win32 API. Because Windows libraries can be d yn amically linked to any ca lling prog ram at ru ntime, the full functionality of the

Chapter 5: Towards a specification 97

operating system can be accessed through the Delphi deve l opment environment. lt does not matter that Delphi itself is n ot C-based .

The compo nents of a learning com puter can be built in Delph i a nd then made available to a system developer as a package (i.e. a "tab") within Delph i's "d rag and d rop" visual component library ("palette"), or they can be "re-wrapped" by Delphi as ActiveX controls, thereby becom i ng available to any Windows-based development enviro n ment supporting ActiveX (Cantu , 1 999, pp757-59).

A m o re recent development has been the introd uction of the . N ET Fra mework by Microsoft, which is intended to eventually replace the Win32 API as the basis of all Windows applications . . N ET provides a standard framework for developing standa lone or web-based applications, which may be written in any lang uage, removing the n eed for each language to have their own framework. The prog ram s are then compiled to run on a virtual machine that draws upon the fu ll fu nctionality of the Windows operating syste m . The latest versions of Delphi are . N ET-based and provide a facility for migrating Win32 appl ications to the . NET Framework (Microsoft, 2005; Borland , 2004).

Based on all these consideratio ns it was decided that I M M E D IATE should be prototyped for the Windows platform using the Delphi I DE.