NetChat: Communication and Collaboration via WWW
Reinhard Kreutz, Sven Kiesow and Klaus Spitzer
In the scenario of computer based training (CBT) for a student it is often not enough to just consume the presented multimedial material. Sooner or later questions and problems occur that the student wishes to solve by asking the professor or a colleague. To make oneself clear it is not necessarily sufficient to formulate a question. Often a diagram communicates the problem much better than a hundred words. Assuming that all students sit at the same time in the same room all this is not a problem, because they can simply turn to their colleagues or the professor and interact with them, using a piece of paper or a blackboard if needed. But when it comes to web based training (WBT), the students are often geographically separated. There is neither a way to reach other students nor the professor directly. What the student needs in such a situation is a piece of software to contact other students or the professor and to interact with them. Fortunately there is plenty of chat software available these days (e.g. Dietinger, 1998; Haynes, 1998; Subramanian et al., 1999; Chat, 1999).
But not only in a problematic setting a communication tool is needed. When students want to work together or in discussions they require a tool that allows them to share documents and that enables them to modify these documents. Fortunately again there are some network-based collaboration tools available, too (e.g. Dommel, 1998; Haake, 1999; NetMeeting,1999).
The opportunity to decide for oneself when and where to learn is one of the great benefits of CBT / WBT against traditional education. A class is taken at home, at work or on travel whenever it suites the student best. But time- and place-asynchronicity leads to some problems, too. It is not guaranteed anymore that the students will meet the professor or the colleagues. And if the student tries to contact somebody via a chat component it is not sure that he will reach anybody while he is online. Another effect is that students who join an ongoing discussion have difficulties to follow, because they missed the beginning. Other student that missed the discussion completely, are not even aware that there was a discussion at all. A useful workaround for this situation is to use a newsgroup software for time-asynchronous communication.
Unfortunately all these tools are either platform dependent, browser dependent or both and they provide either chat, collaboration or discussion functionality. Another important problem is that many of the existing tools run standalone and therefore can not be integrated into a WBT document. These restrictions lead to a situation where communication and collaboration tools are used only in a very limited number of CBT applications.
The Eden Hypertextsystem (Kreutz 2000) - formerly known as NetAuthor Environment (Kreutz, in press) - is an environment to provide extra functionality to both the author and the reader of webbased educational hypertexts. All components can be used separately or combined. Eden is written in 100% pure Java which enables the components to run on every platform and in all Java enabled webbrowsers. The NetChat component, which is introduced here, extends the functionalities provided by Eden to cooperative collaboration and communication in a WBT scenario, but it does also run independently from Eden. It combines the functionalities of newsgroups and chats so that students can catch up with an ongoing discussion by downloading the conversation of the last ten, twenty or thirty minutes. If a student enters a room where a discussion took place after the discussion has stopped, he can also load the entire discussion / class and follow it offline hours later after it ended.
The concept: “Simple is beautiful”
To allow students to catch up with an ongoing discussion by downloading e.g. the last ten minutes, each sent message needs to hold a timestamp. To guarantee a consistent timing, this timestamp is added by the server to each arriving message (see figure 1). To keep the network load low, the messages are then sent to those student-clients only, who have entered the chat room the message is meant for.
To reduce network load, changes in the whiteboard are treated the same way as textual messages. Instead of sending the entire graphic to all connected people, NetChat only sends the incremental changes (e.g. the drawing of a line) as short messages (see figure 2). These messages are received at the clients and the changes are imitated on the local whiteboard. This way scaleability is not expected to be a big problem even on rather ‘small’ servers (Currently we use a Pentium I, 133 MHz with 64 MB Ram.).
Another benefit from this approach is, that not only textual messages are marked with timestamp, but also every graphical input. This is highly appreciated by the students who can now follow a class that is completely synchronized in time.
NetChat offers a combination of features known from existing chat and newsgroup programs which are integrated into one single user interface. Some of the known features were left out because they were not found necessary in a learning oriented context. Therefore we relinquish e.g. on a password protected login procedure. Any student is free to join a session by typing in a nickname - a name which the student likes to be addressed with during the session. In other chat programs this nickname can be protected and an extra password is required. In NetChat the login name is only rejected if someone else logged in is using the same name.
One of the reasons why a password was not implemented is that in an educational context a student often has an interest to be known by his real name. Another reason to design the system without access control was, that it is runable without almost any administration. Below we will show, that it is impossible to meet this goal at 100 percent and that for some very limited features an authority check is necessary.
In NetChat there is also no whisper functionality (as known from other chat tools), because in an educational scenario we think, the students should not discuss private things during class. If a question arises, the student should instead refer to the professor (or to the public), so that whole community can benefit from the given answer.
Table 1. Feature comparison of the named tools
Three user levels
All men are equal ...
A student can join any channel he wants to and take part in the ongoing discussion or class. If the chat room provides some accessible technical equipment the student is free to use it to express his ideas or to formulate a question.
Each system user is also free to create his own chat room and become a channel owner, who specifies the settings for this channel. (Such a private channel can be used to discuss a topic mentioned in the class, for cooperative homework or simply for some private talks.) A channel owner has the right to define the technical equipment of the chat room. The access permissions to the equipment is granted by the channel owner to the other students. This way the channel owner can decide if the class / discussion is rather interactive or more a presentation. If all students have joined the class room and the channel owner (e.g. professor) does not want to be disturbed by other students who frequently drop in by accident, he can lock the chat room. After this no further person will be allowed to enter the room. If one student should continue to disturb the discussion the channel owner has the right to kick this person out. This person will be rejected to reenter the chat room for half an hour. For such a person it is not sufficient to log in with another name because his identity is checked by the IP address of his computer.
The communication within each open channel is logged by the server, so that students, who enter this channel at a later point of time, are enabled to first check what the ongoing discussion is about and what already had been discussed, before actively joining the talk. The NetChat component allows such students to download e.g. the past ten or twenty minutes of the discussion. The channel ownership is passed to one of the remaining persons in the chat room when the channel owner leaves the room. The chat room itself is closed and removed completely with its session log from the server when the last person leaves the room.
... but some are more equal than others
To establish something like a „virtual campus“, some chat rooms have to remain permanent in the communication system, so that students can enter a class room every time they want to and become familiar with the „campus geography“. On the other hand the number of permanent channels should be limited to guarantee that the students do not get lost in an ever growing forrest of permanent channels. Therefore a little password mechanism is required to check the authorization to define a channel as permanent. This right is reserved to professors only. To claim the status as the legal channel owner after having left the channel for a while, the professor has to type in the password he used when he defined the room as permanent.
Professors also have the opportunity to permanently store session logs in their chat room. This functionality was adopted from the norwegian chat environment MooChat (Moo, 1999). Changes being made on the whiteboard during a session are logged and synchronized with the textual information by timestamps.
The following diagram (see figure 3) summarizes the functionality that is offered by NetChat at the different user levels:
Current and coming interaction features
NetChat’s feature list currently is very limited. The presented version covers a graphical and textual whiteboard only. With this chat partitioners (students or professors) are enabled to draw sketches, annotate and publish them in both - a time synchronous and a time asynchronous learning scenario. A toolbar provides easy access to diverse shapes (lines, rectangles, ovals and polygons) and in multiple colors (see figure 4).
A video and an audio player will be added to NetChat’s feature list very soon, although both media are not planned to be annotationable. An integral part of NetChat will be a control panel which allows e.g. a professor to define, prepare and present a class within a chat session. The control panel holds a list of webbased media objects, which are activated remote by the professor on the students computer. This way a slide show can be easily achieved. On the professors command the remote mechanism loads the media objects into the whiteboard, where they can be annotated and discussed by the session members. The same mechanism will gain control over the students webbrowsers, which allows the professor to demonstrate even more complex and layouted data within the browser itself. For audio and video streams an extra window will be opened on the students computer, providing a set of control elements if the professor intends so.
Although the control panel is not implemented yet, NetChat does provide the basic functionalities needed for cooperation and interaction within a webbased learning scenario. The coming control panel will improve the beforehand preparation and the presentation of complex classes in the web. A presentation will be gathered by simply queuing URLs directly from the browser. The professor can than either follow the predefined order of the presentation or he can jump to any URL in the list by simply clicking it. URLs not included in the presentation can be added spontaneously during the session. Figure 5 demonstrates how the control panel will look like.
Integrating the NetChat Applet
The integration of NetChat into a webbased hypertext document is very easy. If the author uses the Eden Hypertextsystem, he simply clicks on a checkbox and the chat component will automatically be added to all document pages. Making use of the MakroExpander (Kreutz,1999) without Eden makes the integration very simple to the author, too. All he has to do is to add the following temporal HTML-tag to the hypertext pages:
The parameter ‘Server’ determines the webserver where the NetChat-server is running on and ‘Port’ identifies the port the NetChat-server is listening to. The MakroExpander expands this temporal HTML-tag to the following applet code, that the author would otherwise have to type in on each document page. The NetChat-server is - like the MakroExpander - also realized as a 100% pure Java program.
How NetChat looks like
Figure 4 shows a page of a webbased hypertext document. The NetChat-Applet was integrated automatically by the MakroExpander. It is visible in the browser window as little darkened icon below the titlebar. The top chat window displays the conversation while the whiteboard is used for sketches. Chat window and white board appear when the reader clicks on the NetChat icon. If the reader opens the chat window the first time a login window pops up to ask for the login name. After the student logged in, the chat window and all opened Whiteboards can be hidden and reshown by toggling the state of the NetChat icon. Whenever the chat window is hidden by the student the other persons in the chat room are informed that this student is currently not listening. Another message is sent to the people in the room, when the student opens the window again. A time bar is placed on the chat window. It can be used by the student to jump back in time and than reconstruct the following session step by step.
Conclusion and future work
In this article we presented a chat component that allows students in a webbased educational scenario to communicate and cooperate with their professors and colleagues while they are online. The students can further catch up with an ongoing discussion by downloading the past ten or twenty minutes or the whole session so far from a session protocol. Professors are enabled to store complete classes being taken during the semester, which can be of help to the students who could not follow a class or who want to reread a session offline at a later time.
We described the three-level user concept of NetChat and the functionality that is provided by the system to the users on the different user levels. The top-level user is allowed to create permanent chat rooms that can help to build a skeleton for a „virtual university“, where classes are held in their own rooms. In this environment students can also communicate and work together in small groups by creating their own temporal chat rooms.
NetChat is a web-component designed for educational purpose but it is not limited to this context. It can be used on any web page in the internet for any purpose the author of the page thinks it is useful for.
The integration of more virtual equipment for the chat rooms (e.g. control panel, audio player, etc.) will be added to NetChat in the near future. An evaluation will give insight into the question, how students and professors accept this component and what further needs both parties have.