co-browsing and reviews the work that was done by this area, while Section 4 .... co-browsing has been proposed as a CRM tool, and some companies try to sell tools and ... As an alternative, they can interact with a dedicated server through a.
IADIS International Journal on WWW/Internet Vol. 3, No. 1, pp. 1-16 ISSN: 1645 – 7641
SYMMETRIC SYNCHRONOUS COLLABORATIVE NAVIGATION APPLIED TO E-LEARNING Marco Ronchetti Dipartimento di Informatica e Telecomunicazioni, Università di Trento, Via Sommarive 14, 38050 Povo di Trento, Italy
Luca Gerosa Dipartimento di Informatica e Telecomunicazioni, Università di Trento, Via Sommarive 14, 38050 Povo di Trento, Italy
Alessandra Giordani Dipartimento di Informatica e Telecomunicazioni, Università di Trento, Via Sommarive 14, 38050 Povo di Trento, Italy
Amy Soller Institute for Defense Analyses, Science and Technology Division, Washington, USA
Ron Stevens IMMEX Project, UCLA, 5601 W. Slauson Ave, #255, Culver City, CA. 90230
ABSTRACT Synchronous collaborative navigation is a form of social navigation where users virtually share a web browser. We developed a system based on a symmetric, proxy-based architecture with the intent of using synchronous navigation to support collaborative problem-solving-oriented e-learning, and to allow investigating the nature of collaboration. This paper discusses context, architecture and implementation of our system. KEYWORDS Collaborative navigation, social navigation, e-learning, problem-solving
1
IADIS International Journal on WWW/Internet
1. INTRODUCTION Collaborative navigation allows a group of users to share their browser, so that all users can simultaneously navigate web sites. The idea of implementing collaborative navigation (cobrowsing) is not new, and several implementations are available. However, none of the implementation is in our view fully satisfactory: some are limited to a given server, some force the user to employ an ad-hoc browser, and most are asymmetric and use the notion of a master who guides navigation. In this paper we describe how we implemented the idea of co-navigation in not only a synchronous, but also symmetric setting. We describe the system we created, in which users can join a group, and navigate in a collaborative, synchronous and symmetric way, and how these abilities can be applied to an e-learning context. This means that geographically distributed users of a collaborative learning group simultaneously view the same screen on different browsers, and the actions taken by any group member has a direct effect on the browsers of all the other users in the group. A mechanism for controlling the group creation is included, as well as the possibility to switch control among users, a textual chat that facilitates the interaction and a logging engine. In fact we are not interested in co-browsing per-se, but rather in applying a platform independent, enriched version of symmetric co-browsing to the e-learning domain, and more specifically to problem-solving based e-learning. One aim of this research was to enhance individuals’ learning experiences in an online, initially single-user, problem-based learning environment by providing them the opportunity to collaborate synchronously while navigating together. In our environment, the students typically solve problems by exchanging ideas while exploring a simulated mini-world through co-navigation. A second goal of our research was to create a bench to investigate the collaboration process. Being able to compare results and behavior of individuals when working alone and when collaborating with others will shed some light on the nature of collaboration. The system we describe in this paper was specifically built to work with a particular web environment (the IMMEX system described below). However we built it in such a way that it could be applied to other (generic) web sites, with few limitations. The system was already described in Gerosa et al. (2004) of which the present paper is an updated and extended version. In Section 2 we discuss the concepts of social web activities introducing a taxonomy that helps identifying the niche in which this work is situated. Section 3 discusses the concept of co-browsing and reviews the work that was done by this area, while Section 4 describes how co-browsing fits in the collaborative learning area and defines the context in which our work is framed. In Section 5 we present our architecture and implementation. In section 4 and draw our conclusions.
2. A TAXONOMY OF WEB ACTIVITIES Browsing, the most typical web activity is generally considered as an individual experience. Other web-related activities, like Wikis, are more social in nature. Even browsing can have social components, as in the case of collaborative annotation of web pages, or participation to on-line bidding (e.g. ebay.com). Collaborative browsing is another example of social browsing.
2
SYMMETRIC SYNCHRONOUS COLLABORATIVE NAVIGATION APPLIED TO E-LEARNING
In this section we suggest a possible taxonomy of the web-based activities with regard to their degree of social involvement, and we provide some examples for each of the taxonomy classes. We believe this to be a useful exercise to better define the scope of the system that we describe in the following sections. Figure 1 summarizes the taxonomy. Web Activity
Individual
Indirect Social
Social Asynchronous
Synchronous
Asymmetric
Blogs Browsing
Symmetric Presence Awareness Systems
Wikis Reccomendation Systems
As-Co-Browsing
Sy-Co-Browsing
Figure 1. The Taxonomy. Boxes contain classes, ovals contain instances. Solid lines link classes with subclasses. Dashed lines link classes to instances.
In general, a task can be either performed individually or cooperatively. For example, a videogame can be used as a solitary game, or as a social one when playing over the network with friends, cooperating to defeat the (virtual) enemy. Even solitary games though can have a social component, e.g. when trying to outperform other users. Simply keeping track of the high scores introduces a (indirect) social component in an otherwise individual game. We therefore have three possibilities: activities can be classified as individual, indirect social, and social. Moreover, social activities can be asynchronous or synchronous. They can also be symmetric or asymmetric: in the first case all the users play the same role (or at least have equal opportunity to do so), while in the second, a leader controls the system. These possibilities are determined by the natural affordances of the technology – those characteristics of the technology that define the ways in which users can carry out activities and interact with other users in a given context, and the ways in which the software mediates these activities (Jermann, et al., 2004). Navigating a hypertext or the web appears at first glance to be an individual experience, not unlike reading a book. However, even web navigation can be seen as a social activity (Erickson 1996, Dieberger 1997). For instance, indirect social navigation is possible in an online grocery store if people visiting the site are given indications about what other people have bought (Munro et al. 1999). Amazon.com actively uses this concept for suggesting books to buy according to the behavior of other users having similar interests. Along this idea, recommendation systems have been employed and studied by many authors in the last few years. Recommendation can be explicit (like when users are allowed to express their opinion, 3
IADIS International Journal on WWW/Internet
for instance by voting on a page or writing a comment) or implicit (when the recommendation is obtained by analyzing indicators of the visitor’s behavior, such as the choices taken by the users, or the time spent on a page and the followed links). Direct social (and interactive) activity can occur in many ways. One possibility is when the navigators can become active authors, like in the case of Blogs, Wikis or Web Annotation. In this case the navigator can actively modify portions of a Web site. A Wiki (WikiWikiWeb, a concept invented by Cunningham in 1995) enables documents to be authored collectively in a simple markup language using a web browser (Leuf and Cunningham 2001). Similarly, a weblog, also known as a Blog, is a website which contains periodic, reverse chronologically ordered posts on a common webpage (see e.g. Stauffer 2002). Individual posts either share a particular theme, or a single or small group of authors. Because of their ability to support the notion of direct social navigation, Blogs and Wikis are growing in popularity. A somehow more general but less successful concept is Web Annotation, according to which users should be able to add and possibly share personal comments added to a generic spots on arbitrary web pages (see e.g. Ronchetti 2002). In spite of several attempts to implement it, the concept never obtained a success comparable to that of Blogs and Wikis Interactions through Blogs, Wikis and Annotation systems are in general asynchronous. Virtual Presence (VP) on Web pages is an example of synchronous interactions among navigator. VP makes people aware of each other, who are at the same Web location at the same time. The basic purpose of a virtual presence system is to make users aware of the simultaneous presence of other people by showing names, icons, and/or avatars of people who are on a page or a set of pages, so as to break the feeling of “loneliness” when navigating In some cases communication tools are provided. For example, some Learning Management Systems allow users to see a list of who is presently on-line, showing in some cases only those users that are in the same course or lesson, so as to favor virtual meeting of students interested in the same topics. One of the first cases of an implemented VP system is the EDUCO system (Nokelainen et al, 2002). EDUCO appears to the users as a visual collection of web sites; the users can navigate the documents and see when other users are navigating those same documents. Users can contact and chat with each other by clicking their respective dots in the EDUCO view. Furthermore, users are able to set “alarms” which are triggered when someone (e.g. anyone, or a particular person) arrives to the systems or to a certain document. (Hoppe and Ploezner 1999). The interactivity here is given by the ability to observe, in real time, the population of visitors of the environment, and to contact them explicitly. A similar concept has been proposed by Wolff (2003) as an extension of the Jabber protocol (www.jabber.org) and implemented in a software called LLuna2. LLuna2 is designed to enable virtual presence on Web sites with animated avatars, video, bubble chat, private chat, and personal profiles through the Jabber protocol, integrated with Jabber based Instant Messaging and operable without additional server components. A LLuna2 user entering a web page sees other LLuna2 users as icons on the page while they are on the same Web site. Users can move their avatar; they can join others, and engage in group chat with a direct-input bubble chat. Another form of synchronous interaction during navigation is collaborative browsing or co-browsing, also called co-navigation and sometimes Web Touring or Web safari. Cobrowsing allows multiple users to share a navigation experience by synchronizing their browsers. This idea has been explored in the early days of the web. Yeh et al. suggested in 1996 that a web client (in master mode) could take control of other web clients (in consentient 4
SYMMETRIC SYNCHRONOUS COLLABORATIVE NAVIGATION APPLIED TO E-LEARNING
slave mode) to guide them through an internet tour (synchronous navigation). In this way cobrowsing is an asymmetric activity, in that one takes the lead and other assist, like in a presentation. The case we present in this paper instead a symmetric implementation of the cobrowsing concept, where all the participating actors are on the same plane and there is no need to have the concept of a leader.
3. CO-BROWSING In their pioneering work, Yeh et al 1996 argued that co-browsing could be valuable in an elearning environment, where a tutor might show domain material or learning artifacts to pupils. However, it looks like the idea was never followed by practical applications. Recently co-browsing has been proposed as a CRM tool, and some companies try to sell tools and services in such area: “Co-Browsing technology enables customer service and sales representatives to link browsers with the customer and Collaboratively navigate the web together to help Complete a Complex transaction or to find a specific piece of information”, “Co-browsing offers customers an alternative to telephone support”, “Once slides, charts, graphs and other presentation components are posted online, sales reps and clients, for example, can use the computers and Internet connections they already have to co-browse the presentation from virtually any location in the world.” Since the publication of the first paper on co-browsing, various such systems were proposed. They fall into two classes, according to the main architectural choice. The first class is based on an ad-hoc developed browser, while the second comprises the systems that can use a bare and standard browser. The idea of a special browser stems from the choice of embedding special ad-hoc functionalities into the browser itself. For instance, the browser can be enhanced with peer-topeer functionality that allows one browser to directly interconnect with another remote browser. Connected browsers can exchange information about user’s actions and synchronize the view they offer. As an alternative, they can interact with a dedicated server through a proprietary protocol. Among systems based on these ideas are Albatross (Yeh et al. 1996), GroupWeb (Greenberg and Roseman, 1996), Nestor (Zeiliger 1998) and Co-Vitesse (Laurillau 1999). Building a special purpose browser, however, has strong drawbacks. For example, users may desire to use their own preferred browser, and using different browsers for different tasks may be rather unnatural. Also, implementing a browser that can replace a commercial browser, providing support for Java, JavaScript, and plug-ins of various kinds, can be a daunting task. Moreover, solutions based on proprietary protocols might be doomed by the presence of the user’s firewall. Recently the special browser approach has been revived by providing a mini-browser as an add-on tool for some web communication tools, as in the case of the Jyve plug-in for the Skype Voice Over IP software (Jyve 2005). Although such a solution can provide an useful integration, it cannot fully replace a standard browser. Such limitations can be overcome with a slightly different approach: the needed functionalities can be embedded in a plug in for a standard browser. Such an approach has been taken by the Jybe Company, that recently started distributing their co-browsing tool as a plug in for the MS Internet Explorer and Mozilla Firefox browsers (see Jybe 2005). Their plug-in however only works on the MS Windows platforms.
5
IADIS International Journal on WWW/Internet
Support for synchronous navigation purely based on a standard browser and without the need of plug-ins can be achieved using a proxy-based architecture. A such implementation was proposed by Cabri et al. (1997), in a paper mostly focused on cache optimization for workgroups. Their application enables members of the workgroup to be aware of each other’s activities, hence avoiding duplicate searches. It also facilitates communication directly through the browser, and benefits from the typical proxy advantages such as saving time when getting pages already retrieved by others. In their paper Cabri and colleagues only briefly mention their asymmetric synchronous navigation, which employs a master-slave model. Esenther (2002 ) describes a symmetric implementation of co-browsing. Although the system architecture is not described in great detail, it seems as if the implementation is based on pure JavaScript, uses a dedicated server, requires a Microsoft browser, and is mostly suited for an intranet. Another symmetric implementation, JASBER, is reported by de Oliveira et al. (2003). In this case, only Netscape browsers are supported. The work by Aneros et al (2003) contains an interesting discussion of various co-browsing models, although their work is concerned with providing a persistent shared unified history object that allows cooperative browsing in a broader sense (not as co-navigation). As the above review shows, a symmetric, browser and server independent implementation of a co-browsing tool was still missing. Moreover, for the e-learning related needs that we had in mind, some additional ingredients are missing: the control of the group composition and the tracking of individual’s and group’s behavior. While for generic co-browsing these requirement are not necessary, in an e-learning context the ability to associate individuals into groups according to some criteria can be important. Also, being able to track the group activities and the actions of individuals within the group can be very important, as we shall discuss in the next sections.
4. CO-BROWSING FOR E-LEARNING Co-browsing in an e-learning or distance learning environment can be a valuable tool. The first application that comes to the mind is remote guidance or remote support of students by teachers and tutors (see e.g. Stahl and Guillot 2004 for an application of co-browsing as a library service for distant learners). However we believe that such technique can be much more effective when thought of as a means to support and investigate collaboration among students. Collaboration can be an important ingredient for successful learning. In some case, the synergy produced by the group can outperform the ability of the best individuals in the group and lead to the generation of new ideas (Ellis et al 1994). Some research is aiming at boosting efficiency and accuracy, and student’s problem solving ability (see e.g. Thagard 1997, Topping and Ehly 1998, Okada, T., & Simon, H. 1997). Collaboration is a complex phenomenon, in which social aspects of communication play an important role. Personalities and behaviors determine how the collaboration proceeds, and whether or not the group members will effectively learn from and with each other (Brown and Palincsar 1989, Dillenbourg 1989, Webb 1992) The mere presence of group communication does not guarantee learning gains. Not all groups make progress in similar settings: it would therefore be important to understand making it important to help decide which groups are productive and should remain together, and which groups are not making progress as a team (Howe et al 1992, Tedesco and Rosatelli 2004). In order to be able to predictably assemble effective groups it is necessary to include both a performance
6
SYMMETRIC SYNCHRONOUS COLLABORATIVE NAVIGATION APPLIED TO E-LEARNING
model that documents the cognitive events influencing the completion of the task, as well as a model of the knowledge sharing contributions of the students in the group. The first step to achieve such goal would be to begin with a system where detailed models of individual performance exist, gather the group performance data and compared them with individual performances. Group performance can be collected by performing experiments in which students collaborate to solve problems through co-browsing. In such case co-browsing must be enhanced by providing communication tools, group formation control and logging of the user actions (both of co-browsing actions and of exchanged messages). A system for which a detailed model of individual performance exists (see Stevens et al 2004, Stevens et al 2005) is IMMEX™ (Interactive Multi-Media EXercises: www.immex.ucla.edu). The IMMEX™ software, which was developed at the University of California, Los Angeles, has been used in science classes across middle and high schools, universities, and medical schools in the U.S. over the past 13 years, and has logged over 450,000 student problem solving performances (Stevens and Palacio-Cayetano, 2003). Through the IMMEX web-based interface, students learn how to elaborate hypotheses and analyze laboratory tests while solving real-world problems. The system presents problem sets as scientific case-studies and realistic multimedia domain-specific simulations. For instance, in one problem set, students perform physical and chemical chemistry tests to determine, as quickly as possible, whether or not some chemicals that spilled during an earthquake are dangerous. An associated cost system does not encourage students to perform an exhaustive exploration of the problem space; they need to be selective and use scientific inquiry to solve the problem. A rich portfolio of over 100 problem sets in various disciplines has been developed, and is now available online. Statistics generated by the system have been used to identify the common types of strategies high school chemistry students use to solve qualitative chemistry problems (Vendlinski and Stevens, 2002), and we have now begun to study how collaboration influences students’ problem solving strategies. It was therefore necessary to enhance the IMMEX system with collaboration facilities to allow students to cooperatively solve problems. Because IMMEX is a web-based environment in which we wanted to support collaborative learners who might not be co-located, it was necessary to develop tools to support their synchronous, symmetric cooperation through the web. Important tools included a chat that allows them to discuss the problem, and their proposed actions, and facilities that enable students to cooperatively use the IMMEX system as if they were seated in front of the same computer. The advantage of mediating the students’ interaction through the computer was twofold: this enables remote students to work together over the network, adding a layer of cooperation to distance learning, and it also allows the system to keep track of the actions and discussions. Such logs can be analyzed, for example, to investigate how the collaboration influences the student’s learning styles. The concept of synchronous, symmetric co-browsing satisfies these goals. We designed and implemented an architecture based on an HTTP proxy, Java and JavaScript, to allow the co-navigation on a peer basis. We do not use the concept of a (static) master and slaves. In our implementation, any user can take control of the navigation, and the effect of each action is visible to all other associated users. Our architecture is scalable, and can be used both in the context of the IMMEX system, and, with minor adaptations, to support other environments where co-navigation may be useful.
7
IADIS International Journal on WWW/Internet
5. ARCHITECTURE AND IMPLEMENTATION Our goal was to not to implement co-browsing per-se, but rather to provide a collaborative environment on top of a web site. We needed to preserve the original web site so that it could continue working in a standard way, while at the same time allowing the new collaborative paradigm. In order to add extra functions on top of a web environment there are three possibilities: to enhance the server, to modify the browser, or to interpose an additional actor (typically a proxy). Enhancing the server is, in general, the simplest solution. Several technologies are available to achieve the goal: CGI programs, scripting languages (like ASP, PHP etc.) and Java Servlets (or their dual: Java Server Pages). Such solution can be applied whenever the desired functionality fully depends on a single Web server, and when one has full control of the web application that has to be modified. Some degree of customization of the behavior of a client (i.e. of the web browser) is possible by using client-side scripting languages (JavaScript being the main player in this field) or by using applets. Such approaches, however, require modification of the original pages coming from the server, so that ultimately, one does have to act on the server side. Modifying the server functionality or the content it delivers may not be an acceptable solution in many cases. For instance, one might not have access to the server and its content, or one might rather not touch it. More radical browser behavior modifications can be obtained by building an ad-hoc browser that incorporates the desired functionalities. The modified client can then talk to the standard “content providers” (i.e. normal web servers) via HTTP, and to a special purpose server providing the needed functionality using an arbitrary protocol. Such an approach is viable, e.g. in Java some APIs provide the basic building blocks (like the class JEditorPane) to build a rudimentary basic browser with only a few lines of code. The main drawbacks are, however, that building a full fledged browser is a gigantic task, and moreover having to utilize a special browser in some context, and a standard browser in others, can be very inconvenient for the user. The last possibility is to encapsulate the desired business logic in an active element interposed between client and server. The browser must address its requests to the middle layer that in turn, pushes them to the server, gets the response, and before delivering it to the browser, performs whatever modifications are needed to add the desired functionalities. The simplest example of such an architecture are the widely employed proxy servers, where the middle layer stores a local copy of any page that is requested so that the successive requests (of the same or of other users) can be fulfilled quickly without downloading the content again from the server. From now on we call “proxies” such middle layers, although they can do much more than just caching pages. For instance, a proxy can actively modify the served pages. Such modifications may include, for instance, URL rewriting, content filtering, triggering of events, and addition of JavaScript code to allow a limited control of the browser behavior. Such schemas can be added to implement a number of new functionalities (e.g. to allow adding personal annotations on a HTML page, see Ronchetti 2002). Moreover, it is possible to employ a cascade of proxies, each of them providing a specialized service. In some cases a proxy adds a (typically small) delay to the delivery of an HTTP request and response, while in others (like in the case of caching) they can actually improve overall performance.
8
SYMMETRIC SYNCHRONOUS COLLABORATIVE NAVIGATION APPLIED TO E-LEARNING
We desired to achieve our goal without intervening on the server side, because we needed the IMMEX server and its content to be unaffected by the collaborative features, and to continue to operate for individual users in the standard way. Having different versions of the server (one for standard users and one for the collaborative environment) would imply the need to maintain two versions of the system and possibly two versions of the data, doubling the maintenance effort and introducing the risk of misalignment between the two versions. The option of using a custom browser was never taken into consideration for the reasons already mentioned. The obvious choice was therefore a proxy-based solution, augmented by browser control, embedded in applets and JavaScript that are dynamically added from the proxy to the pages obtained from the web server. In addition, we wanted our general architecture to scale beyond the IMMEX environment so that its components could be used also in other cases. To reach the goal of allowing students to collaborate while solving problems on the IMMEX system, and at the same time gather data abut their interactions we needed to provide through the web a set on new, integrated functionalities. The set of functionalities that we needed were: 1) Management of the group formation process; 2) Ability to symmetrically co-browse the IMMEX system; 3) Ability to communicate while co-browsing; 4) Generation of a log of all activities (mouse control, exchanged chat messages, actions internal to the IMMEX system; 5) Possibility to implement and experiment different policies for managing the browser control, and resolution of possible conflicts due to concurrent actions performed by two or more group components. In order to see how we satisfied these requirements and to describe our architecture, it is useful to follow a use-case scenario. Therefore we shall now describe step-by-step what the user perceives, and the architectural details that make each action possible. The first part of the scenario is group formation. Because collaborative work means dealing with more than one actor, we define a group as two or more actors that intend to co-navigate. A user begins forming a group by requesting a login web page from the proxy (that in this case acts as a web server). Other users may join this group using the same page. Different policies can be implemented at this point. We experimented with various solutions that can mainly be summarized into two options: either the composition of a group is predefined, or groups can be dynamically formed “on the fly”. In the first case the process is complete when all predefined users have logged in. In the second case the process of group formation can be considered complete when the group size has reached a given dimension, or when the user who started the group decides that the process is over. During this process the proxy needs to validate the user identities. This can be done in two ways. The simplest one is that the proxy maintains a database where user identities are kept, which however means duplicating the process of entering user data into the system: they have to be recorded as “regular” users into IMMEX, for the sake of using the system in a individual way, and into the proxy to be able to use the collaborative features. At the beginning we were using the above strategy. Later we implemented a better solution, which consists of delegating the process to IMMEX itself. A Web service was implemented into the IMMEX server that given username and password returns either a positive or a negative response. The proxy presents a login page to the user, gathers username and password and uses the web service to obtain a validation from IMMEX. In such way there is no need to maintain a list of the user by the proxy. This is the one of the two cases where we decided to implement an additional feature on the server side (the other 9
IADIS International Journal on WWW/Internet
case being a service that collects and merges the logs from both the proxy and the server). Such additions however do not affect in any way the behavior of the IMMEX server in its regular job, ant therefore they are not conflicting with our principle that the server should not be modified. Once the group formation process is complete, the proxy logs into the IMMEX server as if it was a normal user. The proxy therefore needs therefore to maintain a set of IMMEX user-ids that can be used for that mean. Such user-ids do not correspond to any physical person, but rather identify groups. In such way the server does not need to be aware of the concept of “group”. As far as the user interface is concerned, the main cognitive focus had to remain on the environment provided by IMMEX, but the additional functionality had to be easily reachable by the students at any time. This requirement brought us to the design of the user interface as depicted in Figure 2. As can be seen in the figure, the browser window has been divided into four regions. The largest one, region 1, is devoted to showing the original IMMEX page (which can in turn be divided into frames, as decided by the IMMEX server). This page is exactly what users would see when connected to the original, individual (not collaborative) environment. Region 2 and 3 are used for the communication among the co-browsing participants. Region 2 contains a log of the chat, while region 3 is used for the input to the chat. We will discuss later the details of the content of region 3. Region 4 is used to manage the control of the interaction with IMMEX, and the engine behind it can implement different policies. Also this point will be discussed later. By logging into the server, the proxy obtains the first web page from it. At this point it contains the data stemming from the server (the page) with its own data that provide the added value, which is delivered into Java applets: the first applet implements a textual chat client. At the same time a chat server is forked on the proxy. From this point on, and for the entire time of the co-navigation, users can interact among them by using the chat (areas 2 and 3 in Figure 2). A second applet, that we will call the control applet and that is not visible to the user, has the important duty of controlling the browser. It opens a socket connection to the proxy, on which a second daemon is forked. This daemon is the core of the co-browsing process – we call it the control engine. Note that this socket connection is open on port 80, so that the system can also work through firewalls.
10
SYMMETRIC SYNCHRONOUS COLLABORATIVE NAVIGATION APPLIED TO E-LEARNING
2
1
3
4 Figure 2. The IMMEX Collaborative user interface. Area 1 contains the original IMMEX page. Area 2 shows the log of the chat. Area 3 conatins the sentence-openers to be used for inserting messages in the chat. Area 4 allows the passing of the mouse control to other users.
The second part of scenario takes off from where the first ends. After completing the group formation and log in procedures, the proxy impersonates the browser of a virtual, individual user, and continues the IMMEX session that was just started. As we mentioned, from the server’s point of view, the proxy is just a generic client. At this point one of the users will perform an action. If the action is relative to the chat, the proxy deals with it and the server is fully unaware of what is going on. If instead the action requires the server intervention (e.g. a button in the IMMEX area is pushed, or a link is followed), the proxy intercepts the action and forwards it to the server, which in turn responds by delivering a page to the proxy as the HTTP response (there is a caveat regarding absolute links, which we discuss later). When the proxy receives the page, it forwards it to the browser that originated the request, completing (for that browser) the request-response lifecycle. At this point however, not all the group members’ browsers are in the same state. One of them (the one which originated the request) asked and obtained an HTTP response, while the others were idle and show the previous state. This problem is solved by the multithreaded proxy: as soon as it receives the response from the server, besides forwarding it to the requesting client, it also contacts all the control applets in the browsers of the other users belonging to the same group, triggering an update request in those browsers. In fact, each control applet talks to its browser using the AppletContext class (a standard Java class) and passing the information about the request that has to be issued, and requesting the browser (through a JavaScript command) to load the response page in its main 11
IADIS International Journal on WWW/Internet
frame. As a result the browser contacts the proxy and requests the page, which the proxy delivers. At this point all browsers in the group will show the same page. In such way we implement a sort of push technology: browsers are updated also for passive users (i.e. those who did not request anything). The whole process takes a very short time, so that the state of all browsers (the one requesting the server action and all the others) changes almost simultaneously. We experienced a potential problem stemming from absolute links, in that when the browser saw an absolute link, it bypassed the proxy, and directly accessed the specified server. Such problems can be avoided in two ways. The first is to ask the user to modify the browser preferences; every browser allows the address of the Internet proxy to be defined. If that address points to the proxy, then all requests (including the absolute links) can be intercepted. The other possibility is to let the proxy parse all HTML pages that it serves, and have it rewrite all the URLs. Although this is possible, it introduces a small additional delay in serving the pages. In the case of IMMEX we have the guarantee that all the needed links are relative, so we can avoid dealing explicitly with the problem. For the more general case, we apply URL-rewriting because it is a safer approach, since it does not rely on user’s preferences. Also, there is an issue regarding JavaScript commands that have only a local effect (i.e. that trigger a process that is fully handled by the browsers). Since in these cases all the action is local, neither the applets nor the proxy have a chance of intercepting the event. The same is true for other client-side technology, like Flash animations. Until now, we have deliberately ignored a typical problem of parallel code execution: concurrency control. What happens if a second user clicks on a link right after the first user, but before the serving of the new page is complete? Clearly, such events must be avoided. Other approaches to co-navigation (see the discussion in section 3) use a master-slave model, meaning that they assign different roles to different users. In particular, there is one (and only one) privileged user who holds the bar, while the others just “look”. Because we wanted to provide students with a synchronous, symmetric environment, approaches like this were unsatisfactory. We solved the problem by using a dedicated applet that manages the “mouse control”, and by introducing the concept of token. Only when a user has the token, his/her clicks on area 1 in Figure 2 are effective. To prevent the user from clicking on links when s/he does not the mouse owner, we use the JavaScript onClick function, which in our implementation checks the ownership of the token. If the token is not available, all click actions in area 1 do not have any effect. The presence of the token is shown in Area 4 which is managed by the mouse control applet. The applet controls the JavaScript variable that is used in the onClick function, and implicitly communicates with its homologous applets in the other browsers through the proxy. The mouse control applet can implement different policies. One policy is to produce a chat message requesting the mouse: it’s up to the to the mouse holder to pass the control by using the “Give” button in area 4. Another possible policy is to allow users to “steel” the mouse: in such case the button “Give” is replaced by a button “Take the mouse”. A third policy would be to force users to take turns in performing actions, and other policies can easily be implement as needed. The implementation of a chat in the system might seem like overkill. An obvious option would have been to have co-browsing and chat as two separate applications. Many excellent chat implementations are available as standalone clients, and even vocal messages can be exchanged with Voice Over IP technology (like e.g. in the case of the already mentioned Skype service). However the goal of our research is not only to build a collaboration system: the main interest is to study collaboration along the lines discussed in section 4. We are 12
SYMMETRIC SYNCHRONOUS COLLABORATIVE NAVIGATION APPLIED TO E-LEARNING
interested in comparing the performance of individuals in different contexts: when working alone and when working in groups. For this reason, we need to keep track of all actions performed by the users, and therefore not only we need a log of the chat exchanges, but also they need to be aligned with the logs of the actions taken on the IMMEX system, so that we are able to reconstruct the temporal sequence of all events that took place during the interaction Also, we would like to be able to classify the verbal exchange into different phases (propose, discuss, review). For that reason we need to incorporate in the chat some sentence openers that help us in the classification. The set of sentence openers is reported in Table 1 and are visible in area 3 in Figure 2. It was developed based on our manual analysis, and taking into account earlier work on effective peer dialogue (Soller and Lesgold 2003). In addition, three “quick” buttons (“OK”, “Yes”, and “No”) are provided to indicate agreement. Table 1. The fifteen sentence openers are distributed across three problem solving phases: propose, discuss, and review. Each represents a different cognitive process related to the problem solving phase.
Propose 1. Let's try… 2. Why …? 3. We should … 4. What do you think …? 5. Because …
Discuss
Review
6. The test showed … 7. What does that mean … ? 8. Can you explain … ? 9. It means … 10. Do you think …?
11. So far we know … 12. We can eliminate … 13. If … 14. Then … 15. Do you know …?
The sentence openers are simple enough for users to find and select those that are most appropriate. Users start their conversation using sentence openers (that also save them some typing) and then complete the phrase. The text produced by the sentence opener can also be cancelled in the case the student needs to start a phrase that cannot be mapped to any sentence opener. The system then manages the conversation through the use of topic threads (based on the context). These topic threads attempt to structure the student discussions to reflect the structure of their decision processes in selecting and explaining the results of the various tests. In this way, our system supports learners through the various phases of problem solving, facilitating an extended, in-depth, on-topic discussion, and providing a coherent view of the argument (McAlister et al 2003). More details about the use of sentence openers are given elsewhere (Giordani and Soller 2004).
6. CONCLUSION In this paper, we presented a symmetric implementation of co-navigation, in which collaborative learners can join groups and collectively visit web sites, while their views are synchronized. A simple concurrency control system allows any learner to take the lead of the group navigation at any time. Users can also interact through a chat. No special tools are needed on the user side – only a standard web browser. All of the controlling logic is kept on a proxy server, so that the navigation is not restricted to specially enabled web servers. The idea of co-navigation is not new. Our approach however is novel in that the users play a symmetric role, using a standard browser, with integrated functions for group formation, for communication among users, and for keeping an integrated log of all activities. Although the system we implemented is devoted to the use with a particular system, its architecture and implementation are not bound to a specific web site. The idea of co-navigation has also been
13
IADIS International Journal on WWW/Internet
previously proposed as a technological enhancement of the web paradigm, without a strongly motivated application or precise user need. In our case, the IMMEX collaborative problem solving environment provides a context in which our synchronous, symmetric co-navigation solution can be used to naturally support and enhance students’ problem solving activities. First results of our collaboration experiments are reported in Giordani et al. 2005 and Stevens et al. 2005.
ACKNOWLEDGEMENT This work is supported by NSF under grant NSF ROLE 0231995.
REFERENCES Aneiros, M., Estivill-Castro, V., Sun C., 2003, Group Unified Histories an Instrument for Productive Unconstrained Co-Browsing in GROUP’03, November 9–12, 2003, Sanibel Island, Florida, USA. Brown, A. & Palincsar, A. 1989. Guided, Cooperative Learning and Individual Knowledge Acquisition. In L. Resnick (Ed.), Knowing, learning, and instruction: Essays in honor of Robert Glasser. Hillsdale, NJ: Lawrence Earlbaum Associates. Cabri G., Leonardi L., Zambonelli F,. 1999, Supporting Cooperative WWW Browsing: a Proxy-based approach. 7thEuromicro Workshop on Parallel and Distributed Processing, Madeira, Portugal, pp 138-145 de Oliveira, J.C., Hosseini, M., Shirmohammadi, S., El Saddik, A., Malric, F., Nourian, S., Georganas, N. D., 2003, Java Multimedia Telecollaboration, IEEE Multimedia, Volume 10, Number 3, pp. 18-29 Dieberger, Andreas, 1997, Supporting Social Navigation on the World-Wide Web, in International Journal of Human Computer Studies, Vol. 46, pp 805 – 825 Dillenbourg, P. 1999. What do you mean by “Collaborative Learning”. In P. Dillenbourg (Ed.) Collaborative Learning: Cognitive and Computational Approaches (pp.1-19). Amsterdam: Elsevier Science. Erickson, T.,1996. “The World Wide Web as Social Hypertext.” Communications of the ACM 39(1): 1517. . Esenther, A. W., 2002, Instant co-browsing: Lightweight real-time collaborative Web browsing. In Proc. Of the 11th Int. WWW Conference, May 2002, pages 107–114, Honolulu, Hawaii, USA Gerosa L., Giordani A., Ronchetti M., Soller A., & Stevens R., (2004). Symmetric Synchronous Collaborative Navigation. In: IADIS International Conference WWW/Internet 2004. Edited by Isaias P., Karmakar N., IADIS Press, Lisboa, Portugal: 2004. Vol. 1, p. 748-754. Giordani, A. and Soller, A. (2004). Strategic Collaboration Support in a Web-based Scientific Inquiry Environment. European Conference on Artificial Intelligence. Workshop on Artificial Intelligence in Computer Supported Collaborative Learning, Valencia, Spain Giordani, A., Gerosa, L., Soller, A., and Stevens, R. Extending an Online Individual Scientific Problemsolving Environment to Support and Mediate Collaborative Learning. 12th International Conference on Artificial Intelligence in Education. July 2005, Amsterdam, The Netherlands Greenberg, S. and Roseman, M. 1996. Groupweb: A WWW browser as real time groupware. In Human Factors in Computing Systems, CHI Companion Proc., ACM Press, pp. 271–272..
14
SYMMETRIC SYNCHRONOUS COLLABORATIVE NAVIGATION APPLIED TO E-LEARNING
Hoppe, U. & Ploezner, R. 1999. Can Analytic Models Support Learning in Groups? in P. Dillenbourg (Ed.), Collaborative-learning: Cognitive and Computational Approaches, pp.147-168. Elsevier, Oxford, UK. Howe, C., Tolmie, A., Anderson, A., MacKenzie, M. 1992. Conceptual knowledge in physics: The role of group interaction in computer-supported teaching. Learning and Instruction, 2, 161-183 Jermann, P., Soller, A., & Lesgold, A. (2004). Computer software support for CSCL. In P. Dillenbourg (Series Ed.) & J. W. Strijbos, P. A. Kirschner & R. L. Martens (Vol. Eds.), Computer-supported collaborative learning: Vol 3. What we know about CSCL ... and implementing it in higher education, pp. 141-166. Boston, MA: Kluwer Academic Publishers Jybe 2005, see http://www.jybe.com/site/index.aspx Jyve 2005. See http://www.masternewmedia.org/skype/co-browsing/co-browsing_and_callforwarding_with_Jyve_20050720.htm Laurillau. Y., 1999, Synchronous collaborative navigation on the WWW. In Proc. of CHI Conference 1999, 15–20 May 1999, Pittsburgh, PA, USA, pp. 107–114 Leuf B., Cunningham W., 2001, The Wiki Way: Quick collaboration on the Web, Addison-Wesley Longmann McAlister, S., Ravenscroft, A., & Scanlon, E., 2003. Combining Interaction and Context Design to Support Collaborative Argumentation in Education. Institute of Educational Technology (IET), Open University, UK, Learning Technology Research Institute, London Metropolitan University, UK. CALRG Report No. 204 (http://iet.open.ac.uk/research/calrg/) Munro, A., Höök, K. & Benyon, D. 1999. Footprints in the Snow. in A. Munro, K. Höök & D. Benyon (Eds.), Social Navigation of Information Space, pp.1-14. Springer Verlag, London, UK Nokelainen, P., Miettinen, M., Tirri, H. 2002, EDUCO - A Tool for Real Time On-Line Collaboration in Web-Based Learning, in Proceedings of the ED-MEDIA 2002 Conference, Denver, USA, pp. 14481453 Okada, T., & Simon, H., 1997. Collaborative Discovery in a Scientific Domain. Cognitive Science, 21(2), 109-146. Ronchetti M., 2002, Why Web pages annotation tools are not killer applications? A new approach to an old problem. Proceedings of the "IADIS International Conference WWW/Internet 2002", Lisboa, Portugal, pp. 735-738 Soller, A., & Lesgold, A., 2003. A Computational Approach to Analyzing Online Knowledge Sharing Interaction. Proceedings of Artificial Intelligence in Education, 2003. Australia, 253-260 Stahr, B. and Guillot, L. 2004, Actively Engaging Distance and Non Traditional Learners through Live Dedicated Library Virtual Reference Services: The Pitfalls and Successes, Proceedings of the 11th Annual International Distance Education Conference, College Station, TX, USA, available on line at http://www.cdlr.tamu.edu/dec_2004_proceedings/Stahr.pdf Stauffer, T., 2002, Blog On: Building Online Communities with Web Logs, McGraw-Hill Osborne Media Stevens, R., & Palacio-Cayetano, J. 2003. Design and Performance Frameworks for Constructing Problem-Solving Simulations. Cell Biology Education, Vol. 2, pp. 162–179. Stevens, R., Soller, A., Cooper, M., and Sprang, M., 2004 Modeling the Development of Problem Solving Skills in Chemistry with a Web-Based Tutor. Intelligent Tutoring Systems. Lester, Vicari, & Paraguaca (Eds). Springer-Verlag Berlin Heidelberg, Germany. 7th International Conference Proceedings (pp. 580-591). Stevens, R., Johnson, D. F., & Soller, A. 2005, in press. Probabilities and Predictions: Modeling the Development of Scientific Competence. Cell Biology Education. The American Society for Cell Biology. Stevens, R., Soller, A., Gerosa, L., Giordani, A., Cooper, M. and Cox, C. 2005, Developing a Framework for Integrating Prior Problem Solving and Knowledge Sharing Histories of a Group to Predict Future
15
IADIS International Journal on WWW/Internet
Group Performance, accepted at the CollaborateCom 2005 Conference, December 2005, San Jose, CA, USA Tedesco, P.A., & Rosatelli, M.C., 2004. Helping Groups Become Teams: Techniques for Acquiring and Maintaining Group Models. J. Mostow, & Tedesco, P. (Eds.). Designing Computational Models of Collaborative Learning Interaction. ITS 2004 Workshop on Computational Models of Collaborative Learning. Maceio-Alagoas, Brazil. Thagard, P. 1997 Collaborative knowledge. Nous, 31, 242-261. Topping, K.J., & Ehly, S. (Eds.), 1998. Peer-assisted learning. Mahawah, NJ: Erlbaum. Vendlinski, T. and Stevens, R. 2002, Assessing Student Problem-Solving Skills With Complex Computer-Based Task. In The Journal of Technology, Learning, and Assessment, Vol.1, No 3, pp. 121 Available from http://www.jtla.org. Webb, N. 1992. Testing a Theoretical Model of Student Interaction and Learning in Small Groups. In R. Hertz-Lazarowitz and N. Miller (Eds.), Interaction in Cooperative Groups: The Theoretical Anatomy of Group Learning. (pp 102-119). New York: Cambridge University Press. Wolff, K.H., 2005, JEP-01xx: Virtual Presence Protocol, Available from http://www.lluna.de/docs/jeps/vp/jep-vpprotocol.html Yeh, P., Chen, B., Lai, M. and Yuan., S., 1996, Synchronous Navigation Control for Distance Learning on the Web, Computer Networks and ISDN Systems, Volume 28, issues 7–11, p. 1207-1218 Zeiliger, R. 1998. Supporting constructive navigation of Web space. In Workshop on Personalized and Social Navigation in Information Space, K. Hook, D. Benyon, and A. Munro, editors, 16th-17th March, Stockholm, Sweden.
16