Spanner Back Home

Full Paper

Back to List of papers

Enabling re-usability of courseware components with Web-based "Virtual apparatus"

Albert Ip, Ric Canale, Paul Fritze and Gangmeng Ji,,,

Multimedia Education Unit,

The University of Melbourne.


For questions and suggestions, please contact: RicCanale



This paper introduces a detailed framework for building web-based inter-operable courseware components that can be re-used by third parties to author interactive multimedia. The framework is being used in a number of projects and its continued development is guided primarily by the following observations:

  • the growing realisation and acceptance by academics that quality multimedia is a team effort, involving specialisation;
  • academics require customisation of interactive multimedia;
  • continuous improvement is required during course delivery;
  • educational scalability (Clarke, 1996) is a requirement for long term success;
  • computational scalability is also required.

The current Virtual Apparatus (VA) framework is web-based and delivers interactive courseware across platforms. Its design is based on programmable components which may be technically sophisticated in themselves but easy to use, configure and assemble by non-programmers. The VA framework enables the inter-operability of Java applets, Shockwave movies and ActiveX controls on the one web page. We believe in the future, our framework can be applied to non-web-based courses as well.

The VA framework operates as an open standard, providing the programmer/developer with a set of well defined specifications with which to develop components. In this paper, we put forward the design for enabling this technology and our presentation will demonstrate an implementation of the VA framework in which Java applets, Macromedia Shockwave and ActiveX controls, designed to comply with the VA model, interact.


As educational multimedia, networked or otherwise, is adopted at an ever increasing scale there is a growing realisation that new perspectives and strategies are required if we are to achieve any lasting success. The cost, difficulty and project nature of multimedia developments are just some of the indications that we are still all learners. We are interested in moving closer towards achieving high quality, educationally effective and cost effective multimedia, whose production and use is a mainstream activity. In our search for a technological solution to a complex problem we have been very attentive to making our assumptions and 'working paradigm' explicit. Most of our assumptions are non-technological but nonetheless impact on technology choices. The key assumptions and issues guiding the design of the VA framework can be listed under the following headings which are expanded further, below:

The specification of this framework builds on the concept of the 'Virtual Apparatus' previously described and demonstrated by Ip and Canale (1996) and follows from an analysis of the shortcomings of Web technology in the delivery of education(1996). It lays open the foundation for building a large number of web-based inter-operable courseware components, easily used by courseware authors without the need for programming expertise in the languages and technologies used to create the VA components in the first place.

Like any other devised system for delivering interactive educational materials, the VA framework is based in a particular paradigm. For example, most computer based training authoring tools are based on a "training paradigm" which is made up of exposition alternating with some form of multiple choice questioning. The paradigm for the VA framework is a modeling paradigm, hence the name "virtual apparatus". In this paradigm the objective of the design is to assemble individual components that work together dynamically to form a composition of educational value. That does not mean the VA framework can only be used to produce models and simulations. Just as authoring tools with a training paradigm can be used to create simulations, so too the VA framework can be used to create traditional training materials in the expository form. The difference is that educational designs which require modeling will be more easily implemented with tools that are based on the same paradigm. A useful analogy may be to consider a science teacher preparing a "wet Lab" demonstration for a class. The preparation requires her to assemble a distillation apparatus including tubes, glassware. She need not worry about making the components or their inner complexity - only how to make them serve her objectives. The VA framework was designed with the same paradigm in mind, except with VA, assembly of the class demonstration would occur through an authoring interface, such as a forms-based interface on a web browser..


Among the early lessons learnt by academics who have ventured into the design and development of educational multimedia is the realisation and acceptance that they cannot do it alone. Multimedia of a high standard is a team effort except in rare cases. Hence there is a growing acceptance of specialised roles in the production and delivery of courses that involve multimedia. This contrasts with the traditional campus-based academic's role of sole responsibility for all aspects of producing, delivering and assessing a course. The acceptance of specialisation and shared responsibility is one prerequisite for the long term success of multimedia in higher education. Without specialisation, quality cannot be maintained at a large scale (Daniel, 1997).

The VA framework requires specialisation of roles for its successful implementation. The key roles at the client workstation are:

Through specialisation of roles, the VA model at least partially addresses the "not invented here syndrome", the reluctance to use existing courseware. By preserving the authoring and design role of the academics who work with configurable components, local course requirements are catered for and local expertise is acknowledged. Academics retain ownership of the finished composition and are unlikely to be interested in programming the components themselves. For example, chemists designing laboratory sessions, do not worry about the inner complexity of the apparatus("virtual apparatus" in this case), but focus on how to manipulate and use the apparatus to achieve their desired demonstrations or simulations.

Economies of scale and scope

Given the high cost of producing educational multimedia there is a growing imperative to devise systems and methods of production that are scalable without compromising quality or flexibility. Clarke(1996) introduced the notion of 'educational scalability', distinct from computational scalability, to describe courseware having qualities that made it compelling to use for people other than its creators.

Educational scalability is two dimensional, achievable through:

The way in which specialisation of roles contributes to economies of scale by allowing customisation at marginal cost was introduced above. The technical consequence of the requirement for mass customisation is the separation of data from function. The VA framework emphasises separation of data from function and hence enables a partial solution to deliver alternate material to different students based on their individual characteristics.

Adherence to open standards, particularly within the realm of the Web is also necessary to make economies of scale available. Therefore no proprietary technology is required to use the VA framework other than the ubiquitous web browsers from Netscape and Microsoft.

Continuous Improvement

Real courses are not static, but change year by year and deserve to be continually improved. Allowance for this requirement must therefore be designed into all parts of the curriculum including interactive multimedia. The advantages of the Web in meeting this requirement are compelling. As a bi-directional means of communication from a central server, a Web-based course offers enormous potential for gathering statistics and feedback, updating, modifying and correcting on a daily basis.

The VA framework is designed to take advantage of these capabilites of the Web as well as working with database technology for the management of feedback and updates. The key features of the framework and related technologies are its component design, message routing design and dynamic page generation which allow for easy modification of web pages any time.

Component architecture and the Web

Concurrent with the trend towards specialised teams are technological advances enabling multimedia authoring and programming to take advantage of Object Oriented Programming techniques and technical designs based on the idea of assembling small component into programs. Jeremy Roschelle and James Kaput, (1997) recognised the need of component software for education as "a mean to escape the consistent pattern of failure" in educational software development. They argued that today's "standard architecture for educationals oftware as large, monolithic stand-alone applications is instructural conflict with educational institutions... Education institutions are typically minimally funded to develop softwareÖAutonomy is of central value so that project leaders are rarely willing to pool programmers to engage in large collaborative software projects... Finally, there is no or little incentive to distribute the final product. Project leaders are generally satisfied at thestage of 'proof of concept'". They proposed that "educational software development must rise to three fundamental challenges:

  1. Increase re-use, reduce cost.
  2. Integrate diverse capabilities.
  3. Enable broad marketplace participation."

Part of the answer to meeting these challenges is to employ component software techniques. There are several authoring systems that support components sourced outside of their own environments, such as HyperCard, Director and AuthorWare. However these systems are principally designed and mostly used as closed proprietary environments. The VA framework creates an environment for inter-operability of key client-side Web technologies, Shockwave, Java Applet and ActiveX and is open to add to this list in the future.

Our desire to create an inter-operable component framework is driven by

Kurt Rowley (1995) describes Software Interoperability in a broad sense, referring to the communication between educational software systems using standardized data format. For us, interoperability means the passing of messages among software components hosted by a web browser to provide interactivity. The VA framework, among other things, enables components on a page-level to communicate and hence inter-operate. The messages between the components are passed in a format specified by the VA framework.

Because of the need for the VA model to operate effectively as an open standard, the programmer/developer must follow a set of well defined specifications in order to develop components that meet the design objective. In this paper, we present the design for enabling this technology. Our presentation will explain the technical framework to enable VA components to communicate with each other, demonstrate an implementation of VA components in a major project (the "Learning Engines" project ) and compare the strengths and weaknesses of Java, Active X and Shockwave in implementing the VA model.

Brief Technical description of virtual apparatus framework

For a detailed and technical specification of the framework, please refer to our online resource located at Briefly, "virtual apparatus framework" is an open specification describing how components, called virtual apparatus, should be written in order to communicate between other virtual apparatus within a web page and the supporting functions that must exist on a web page to enable the communication.

Software components must implement the following in order to qualify as a "virtual apparatus":


Each "virtual apparatus" should be able to accept a name assigned by the content author, for example through the name attribute in the object tag on a web page. This helps to ensure uniqueness when the same type of "virtual apparatus" have been instantiated more than once.


All "Virtual Apparatus" will store the information about itself internally as VAInfo. This provides a mechanism for content author to discover the ability of the "virtual apparatus" and use it accordingly.


This is a compulsory method that must be supported by all "virtual apparatus". After being called, the "virtual apparatus" should return VAinfo to the scripting environment.

Exposed methods

All "virtual apparatus" must expose the methods as specified in the VAinfo.

Raising Events

All "virtual apparatus" may pass messages to other "virtual apparatus" by calling a function called VAmessenger() in the browser's scripting environment and passes the parameters as specified below. For technologies which cannot raise events, it must implement an alternate mechanism together with corresponding scripts in the browser to pass messages to Vamessenger(). We have sample implementation for Macromedia Shockwave movies on both Netscape and Microsoft browsers.


All "virtual apparatus" may be assigned a channel number through the parameter list in the html page. The default is Channel 0. If private communication between components are required, the message should be sent to the appropriate channel. Only components which are registered with the specific channel will receive the message from VAmessenger(). If no channel is specified, VAmessenger() may broadcast the message to all the "virtual apparatus" hosted on the page.

Browser Environment

At the header of the html page hosting "virtual apparatus", VAmessenger() must be defined. The function VAmessenger() will take four parameters: VAname, SeqNum, Msg, ChannelNum. VAname is the name assigned to a "virtual apparatus" by the author. SeqNum is an unsigned integer incrementing from 0 for each message sent. This is used for enabling synchronous communication between components on a web page. If synchronous communication is unnecessary, the script inside VAmessenge() should ignore this. Msg is a string containing the message the event wishes to communicate. ChannelNum is the Channel number for communication. It is also possible for a content author, with some programming technical support in JavaScripting, to build logic within the VAmessenger() and hence to customise the flow of communication between the components.

Figure 1:All objects on the web page communicate via the central switch VAMessenger(). If required, the object is free to establish communication with a web server using its own methods, e.g. a direct database connection via JDBC.

There are other requirements, not exactly technical but should be observed in order to maximize the benefit of this framework. They are discussed elsewhere (Ip and Canale, 1997). Sample implementations based on the above specification are also available at the online resource,


It is intended that economies of scale and economies of scope will be achieved by using this approach. Its success will depend, among other things, on our ability to keep pace with the key technologies as they continue to develop. What is certain is that our educational institutions cannot afford to fully integrate digital technologies and deliver the highest quality education using design and production methods that are based on crafting "tailor-made" courseware or based on standard templates for all. An approach that is based on open standards, encourages re-use, allows customisation and matches the instituational culture will be essential.


Roschelle J,Kaput J. 1997. "Educational Software Architecture and Systemic Impact: The Promise of Component Software" online downloaded 9th September,1997.

Canale R and Ip A. 1996. "Baseline Requirements for an on-line educational system", in Proceedings of the Asia-Pacific World Wide Web Conference & the Second Hong Kong Web Symposium, Mak, Castro, Bacon-Shone (Eds).pp28-41. University of Hong Kong. Online

Ip and Canale, 1996. "A model for authoring virtual experiments in web-based courses", presented at ASCILITE 96. online

Daniel, John S. 1997, "Mega Universities and the Knowledge Media". Kogan Page.

Rowley, K. 1995."Understanding Software Interoperability in a Technology-supported System of Education", Cause/Effect Fall pp20-26, online

Ip A and Canale R, 1997."Supporting mainstream adoption of digital technology using the 'virtual apparatus' Model for Courseware Development", Online Ed discussion list, 15th August. Online

Ramsden P, Margetson D, Martin E and Clark S. 1995. "Recognising and Rewarding Good Teaching in Australian Higher Education". A project commissioned by the Committee for the Advancement of University Teaching. Online

Fritze P, McTigue P, 1997. "Learning Engines - A Framework For The Creation Of Interactive Learning Components On The Web" to be presented at ASCILITE 97.


(c) Albert Ip, Ric Canale, Paul Fritze and Gangmeng Ji


The author(s) assign to ASCILITE and educational and non-profit institutions a non-exclusive licence to use this document for personal use and in courses of instruction provided that the article is used in full and this copyright statement is reproduced. The author(s) also grant a non-exclusive licence to ASCILITE to publish this document in full on the World Wide Web and on CD-ROM and in printed form with the ASCILITE 97 conference papers, and for the documents to be published on mirrors on the World Wide Web. Any other usage is prohibited without the express permission of the authors.


Back to List of papers

This page maintained by Rod Kevill. (Last updated: Friday, 21 November 1997)
NOTE: The page was created by an automated process from the emailed paper and may vary slightly in formatting and layout from the author's original.