Shared Documents in WebWisdomNT

Pragmatic Object Web

WebWisdomNT’s design is built around an emerging architecture for distributed systems that we call the "Pragmatic Object Web". The underlying phenomen is the ongoing convergence of web and distributed object technologies to form what is usually called the "object web". This is currently approached from four major points of view: CORBA from the Object Management Group (an Industry Consortium), Java from Sun Microsystems, COM from Microsoft and a set of technologies from the Web Consortium W3C including XML and a Document Object Model (DOM). These approaches are somewhat complementary but often competitive and, in constructing real systems, we pragmatically use the best of each approach – this assumes that some complex unpredictable worldwide process will blend these four giants into a composite distributed system architecture and technology base. Our pragmatic approach appears more likely than any other to lead to systems that are both powerful today and likely to be quite consistent with future changes. The rapid change in base commodity technologies implies that one must expect that any deployed system is not likely to use the "best available" technology but a spectrum of interlocking approaches as best in practice at implementation dates stretching back over the last two or so years.

The object web revolution has been driven as much by the adoption of open standards such as HTML, JDBC and IIOP as by the more obvious remarkable software artifacts and technologies such as browsers and the Java language. These object web standards and technologies appear to offer significant potential for improvements in universal access. In particular, the object web standards allow the development of a more structured uniform information space wherein reusable universal access interfaces can be developed and used in a wide variety of circumstances. Although this is potentially possible, it is by no means guaranteed as an unguided haphazard development of object web applications could lead to a situation actually worse than now, with increased information served by more and not less data structures.

As a relevant example, XML technology could allow the definition of the structure of glossary items used to support more or less all education and training applications. We could then optimize universal access for this structure. On the other hand, it is also possible for each web site to develop and use a different XML syntax for their glossary and force the costly and inefficient scenario with a separate universal access mechanism in each case. WebWisdomNT has developed various custom (proprietary) interfaces where a good standard does not currently exist, but we link where possible to standards such as the metadata proposals of Educause’s IMS (Instructional Management System) project. As we store the object components in a database, it is not difficult for WebWisdomNT to restructure its delivered educational objects to accommodate new standards either in display of information or in metadata definitions. In this way one can, for instance, choose between framed or dynamic HTML display pages and ensure that ones curriculum is optimally indexed by different Web search engines

Distributed Educational Objects

Many organizations agree that "distributed educational objects" (DEO) are the natural building blocks of re-usable modula curricula. However as discussed above, there are a plethora of different definitions of an educational object and so we make a set of pragmatic choices choosing a hybrid model of DEO’s which has been designed to allow needed authoring, delivery and management capabilities.

We adopt a conventional hybrid information object model and define a DEO with a tuple (Page_URL, Component_DOM). This approach views information as a collection of components (labeled by Component_DOM) arranged in pages labeled by Page_URL. In the WebWisdomNT approach, this conventional label is mapped into a reference to a database cell and distributed objects can be constructed at any level of granularity as a collection of the contents of multiple cells. Pages are accessed through web address, file location, CORBA or Java naming service or whatever hierarchical naming scheme evolves on the object web. A "Page" is, for traditional education, the basic curriculum unit. It is a "screenfull" or "foil" which is discussed by the lecturer or studied by the student as a single unit with cross referencing between concepts not requiring tiresome browsing and reloading of the browser page.

We use the term WebWisdom Page to describe pages accessed from WebWisdomNT and exploiting the features such as pointer and index overlays available in WebWisdomNT. The conventional hierarchical labeling of Page_URL seems quite natural for future web education and training with, as we elaborate later, some name like university/ college/ department/ program/ course/ lecture. However the information within a given page is much less structured and consists of some often-haphazard arrangement of multimedia information nuggets. Further entities within the page can be repositioned dynamically using DHTML. WebWisdomNT uses the TangoInteractive collaboration technology, which has the unique feature of supporting the sharing of all aspects of an object including both coarse grain and fine grain components. The latter, which is described by the Component_DOM label, is managed through TangoInteractive’s JavaScript interface. The former is implemented as TangoInteractive shared browser whose location field holds the label Page_URL. This is general enough to include reference to either existing web documents or dynamic pages, constructed on the fly from database back-ends.

Four Level Navigation Model of WebWisdomNT

Let us consider the hierarchical structure labeled by the tuple (Page_URL, Component_DOM) in more detail. We need to define four essential units of information – in order of decreasing size: the Internet or World Wide Web, the SessionWeb, the WebWisdom Page and the Page focus of attention. The first three levels are labeled by Page_URL and the Page focus is identified by the Component_DOM. We now describe the levels in order.

As emphasized earlier, we follow the market place in the area of resource discovery and coupling to the hierarchical URL namespace which allows one to navigate the World Wide Web. WebWisdomNT automatically generates metadata such as those proposed by Educause's IMS project to integrate educational objects to the topology of the resource-discovery world. Actually, one is only interested in the subset of the World Wide Web, which we sometimes called foilworlds, which are, at the lowest level, a presentation or SessionWeb described below. These are grouped into courses; courses into academic programs; programs into departments; departments into schools and schools into universities. WebWisdomDB supports this organization both on the web and internally to the database using its hierarchical management interface. The same arrangement is also exposed in the browser using dynamic HTML to provide a familiar directory like browsing interface. Every level of the hierarchy has a visual representation, which is the index to a presentation at this level and the course home page at the course level. All of these representations are as usual treated as WebWisdom Pages discussed below.

The SessionWeb is the collection of material used as information resources within a given teaching or learning activity. For instance, for a lecturer, the SessionWeb consists of all pages relevant to a particular lecture as well as all their sub-components. This local SessionWeb is of course likely to be dynamically updated with outside links as topics come up during the lecture. We include in this concept all local navigation both internally to the pages and between the pages that comprise the document space of a given learning session. In particular, this definition allows the lecturer to pick and choose between presentation material contained in the SessionWeb with an order that is determined in real-time. This contrasts with the clumsy frameset technology and the static sequential order available in most systems (e.g. Microsoft PowerPoint) today.

In a more general browsing activity, a student learner's SessionWeb would be less structured and would roughly consist of all pages and components stored in cache. Technically the SessionWeb is quite small and so it is able to support richer linkage and access models using very fast client side technologies such as Java and JavaScript with the data structures stored in memory. WebWisdom DynamicViewer builds automatically a powerful dynamic HTML navigation tool for the lecturer by downloading the indexing material for the lecture. WebWisdomNT also provides the WebWisdomDB Manager, supporting the preparation of general play lists that allows the lecturer to generate an initial choice both for the contents and initial order of the SessionWeb. This selection can consist of any pages either served from a conventional Web Site or generated from the WebWisdomDB database. Note that original PowerPoint data structures can be stored in the WebWisdomDB database and this allows the construction of a rich navigation index to any set of PowerPoint slides and any mix of PowerPoint and HTML. This gives a fully customizable presentation layer including both the browser and also the native authoring package displays.

As defined above, the WebWisdom Page represents the unit of information, where, in conventional practice, one does not need to scroll, reload web browser or otherwise break the attention of teacher or student. This implies a natural and limited size and in typical teaching practice, a WebWisdom Page corresponds to a few minutes study and a SessionWeb is perhaps some 60 to 180 minutes. Now you could argue that many web pages are quite large and scrolling is necessary and desirable. Our experience is that is less satisfactory than a set of separate pages, each viewable in its entirety at one time. As an example, it is not usually good practice to have WebWisdom Pages with titles like "Concepts Part I", "Concepts Part II" … but rather a hierarchical organization with Pages titled "High level Organization of Concepts", "First Concept in detail" etc…. Although scrolling is not always advisable, WebWisdomNT does support shared scrolling of pages but this capability can be switched off. WebWisdom Pages can be switched between either by conventional loading of URL’s or more elegantly for related information by using dynamic HTML to choose between different layers of related information. This is the mechanism used to move between curricula page, index, quiz, survey, glossary and notes (background material). Notes these ancillary documents can be linked to documents at any level of the Page_URL hierarchy.

There is a growing trend to use of XML rather than HTML to record content. XML is of course designed to record content and HTML to the display layout of the pages. WebWisdomDB is built around this modern concept and the database contents can be thought as the XML attributes, which are then turned into HTML using the WebWisdom XML Template Server, which acts as a portal to the WebWisdomDB database. One implements the linkage of curricula material with audio-video class recordings of classes by including the relevant XML tags in the template to specify all these components. WebWisdom.com’s LecCorder technology packages the production of audio-video material automatically linked to curricula.

Finally WebWisdomNT supports the sharing of components of a WebWisdom Page or the Page focus. These page components include a variety of useful capabilities including shared cursors, form text fields and buttons. The latter allows one to easily share access to the many server resources, whose access is specified by HTML forms.

Issues in Universal Access and Customized Display

TangoInteractive manages the sharing of educational objects and allows each client to optimize its view of the DEO based on user preferences and capabilities of the client machine and network connection. This allows WebWisdomNT to support universal access so that students can access educational material in spite of physical disabilities such as blindness, deafness and impaired muscular capabilities as with quadriplegics. As a simple example, a client with a low bandwidth network connection would request the low resolution version of an image and one serving a user with impaired vision, the audio augmentation of this image. WebWisdomNT supports this choice as each client can map the URL to the form supporting the required rendering of the information. This is possible whether the data is fetched from static web pages or generated dynamically from WebWisdomDB: the backend database.

WebWisdomNT can be used to share DEO’s between different users or between different display devices for a given user. This replication of object between different display modalities can be implemented within a single machine or between multiple machines serving a single user. Note that although it may seem extravagant, using multiple machines for a given user is quite practical given the rapidly decreasing hardware prices. In fact, we regularly use this strategy when teaching, so that one puts the key functionalities of audio/video conferencing, chosen curriculum page and chat/white boards on different machines assigned to the teacher. Students in this example typically view the curriculum on their own lab machine while a single machine handles audio and video for collocated students.

Integration of Asynchronous and Synchronous Learning Models

We note that WebWisdomNT’s model for instruction includes both asynchronous and synchronous modes supported with the same curriculum in a common fashion consistent with universal access. We assume that in each case, students and teachers access curriculum material stored as DEO’s on web servers, object brokers or equivalent services. Asynchronous (or self-paced) learning occurs when each participant accesses this material in his or her own time. Synchronous learning occurs when this same material is replicated among a class and discussed interactively. This model allows a single approach to universal access and customized display, which is independent of learning model.

Range of Authoring Strategies Supported by WebWisdomNT

  1. HTML Pages where below we expand on the special capabilities that one gets from shared dynamic HTML supported by modern Netscape and Microsoft browsers.
  2. PowerPoint exported to the web using Microsoft’s Internet Assistant and modest restructuring (with the WebWisdom DynamicFilter described below) to better define object components (labeled by Component_DOM).
  3. PowerPoint accessed via COM components, which allows one to properly define a base object model. WebWisdomNT’s web-linked database technology allows one to export this to the web using XML templates. One can also integrate material from PowerPoint with other web components such as audio-video renditions of the teacher and class discussions. This approach also gives one a clean object structure defined in XML rather than the heuristic choices that need to be made in interpreting the HTML tags in the cases 1) and 2) above. The XML version allows support of the multi-resolution images and universal access discussed above.
  4. Optionally, WebWisdomNT allows one to elaborate the curricula structure seen in page of the types 1) through 3) in various ways, such as through the addition of glossaries, notes and quizzes in fashions popularized by tools like WebCT. This is supported by WebWisdomNT using modern XML, dynamic HTML, and Java technology. We allow both database repositories and dynamic web pages to link in such material where one can choose between either independent views or shared display between teacher and students. As always this material supports either synchronous or asynchronous views of curricula.
  5. WebWisdomNT fully supports shared Java applets used in some of the best interactive educational curricula. Special capabilities include the capability called WebWisdom Active Objects, which can embed such shared applets directly in curriculum web pages rather than as identified shared applications within TangoInteractive’s session manager. Authoring of such shared applets is simplified if they are constructed according to the Javabean design frameworks. Then Tango Bean technology automates the sharing of events represented by the standard Javabean rules.
  6. There are other important authoring systems such as Macromedia Authorware, which is quite popular and can be very successful if substantial courseware effort is invested. We are currently investigating support of native synchronous sharing of such material in TangoInteractive but we can directly support the interface to Macromedia web players through their API.

TangoInteractive is uniquely suited for sharing web material as it has a native JavaScript/Microsoft JScript interface, which can access the full W3C DOM structure of the material exported to the web. For instance, we can identify the images contained in a document and so manage the rendering of these in the modality required by the user for universal access. TangoInteractive also captures all events in a page and so precisely shares all form’s input and output. This allows one to share complex web pages, where the form data controls the action of the server to which form data is submitted. This allows the sharing of databases as well as simulations controlled by the forms.

A simple powerful capability of TangoInteractive’s JavaScript interface allows it trap events controlling dynamic HTML. As described above under Page focus the standard WebWisdomNT release uses this to add shared cursors (pointers) to most HTML pages and any page gotten by exporting PowerPoint to the web. This is naturally very useful when teaching as it allows a sharp definition of the material being discussed.

Note that WebWisdomNT assumes that one needs to combine both database backended and conventional web page curricula. The former is most appropriate for long term storage and access to large-scale curriculum archives. The simple web page is best for the harried faculty preparing material at the last moment! This mode can be enhanced dynamically by accessing web pages through the WebWisdom DynamicFilter Server that WebWisdomNT supplies to automatically add features to general web pages such as IMS metadata and the shared pointer discussed above. Alternatively, this filter can be used in batch mode to permanently enhance material on a Web site. This can be particularly valuable in cases where material is to be used standalone from CDROMs in circumstances where the backend database is not appropriate or too costly.