CrystalBoard: A Transparent Shared Whiteboard

Andrew Begel
Soda Hall
UC Berkeley
Berkeley, CA 94720


This paper describes CrystalBoard, a transparent shared whiteboard. An extension of the MASH MediaBoard, CrystalBoard allows authors to present original source material to large audiences using IP multicast. In addition, the author and all participants may annotate and markup the presentation in real-time. This application is effective for presentation formats that include a moderate amount of whitespace, but further work will be necessary to show its effectiveness on densely packed formats.


CSCW tools allow people to use computers as an aid to present information to a large distributed set of receivers. These tools are often intended for specialized uses, however, and do not suit all needs for all people. This paper concentrates on the whiteboard tool and its deficiencies in the area of pre-made content presentation.

A whiteboard is used to present and annotate state information presented in a CSCW session. Participants may draw on a computer representation of the board using the mouse as a pen. They may draw in freehand or other modes like those found in popular paint programs. In addition, most whiteboards accept textual input.

These tools allow people to write and draw onto a publicly-accessible shared workspace. However, they are limited to annotation and creation of content in real-time. When someone wants to present precreated information, they must copy and paste it into the whiteboard, losing some content in the process. The whiteboard can not display the complexity of content that the specialized authoring application could. Formatting information may be lost, such as multiple fonts, line wrapping and text positioning. In addition, copying mixed media content can be vexing if the whiteboard does not support all of the media types used.

CrystalBoard aims to fix the problem by keeping the content in the application in which it was created. Presenters may show material by simply dragging this transparent whiteboard over their authoring application. All of the content will be transferred to the receivers who are running an unmodified MASH MediaBoard.

Related Work

CrystalBoard is an extension of the MASH MediaBoard, developed by Teck-Lee Tung and Suchi Raman at UC Berkeley [RT96]. The MediaBoard allows users to share data using the Scalable Reliable Multicast (SRM) protocol [FJLMZ95] over IP Multicast. The MediaBoard itself is based on an earlier whiteboard created at LBNL [M92].

In addition to shared whiteboard, several OS vendors have been making their presentation applications shareable. Sun sells the Showme suite of tools, which includes a whiteboard with the ability to import screen snapshots. They also have a shared application tool which allows users to share any X application. The application's interface is duplicated on each person's machine, though only one person can interact with it at a time. Microsoft sells NetMeeting, a full video conferencing suite which contains a whiteboard and the ability to share applications.

CrystalBoard also inherits characteristics from the Toolglass project [BSPBD93]. Researchers created see-through interface elements that could filter and enhance the background underneath. For instance, a fractal lens would fractalize any image it was passed over. Robert Wilensky of UC Berkeley implemented a similar sort of interface element for the Multi-Valent Document project [PW96]. Users can view documents in multiple views and use transparent lenses to see superimposed information from different layers.


There were several goals for this shared presentation tool:

  1. It should allow the user to present material to any number of people.
  2. Users should be able to present their unmodified original work from any application.
  3. It should let all of the participants in a shared session to annotate and mark up the material.

The first goal is one of scalability. Simplistic sharing tools will often use direct TCP connections between participants leading to a n squared web of links. More sophisticated systems use multicast to broadcast each data once to all listeners.

Another key idea in this project was to allow users to share their original source material with an audience. Shared application tools do a good job of this, allowing presenters to replicate their applications' windows on remote clients. For example, a PowerPoint session may be replicated on the remote participants' monitors for them to follow along.

The last goal is to provide good tools for online markup and annotation of presented material. There are many implementations of shared whiteboards like the MASH MediaBoard. They often provide similar tools to those found in popular drawing packages like Adobe Illustrator or CorelDraw.

These three goals have not yet been met in a single application. Microsoft's and Sun's shared application tools allow presenters to show original source material. MS NetMeeting even comes with real-time annotation tools to allow participants to draw on and mark up presented documents. However, both vendors' tools do not support large numbers of participants in a session because they use the point-to-point TCP/IP protocol.

Whiteboard utilities like the MASH MediaBoard support all of the real-time annotation requirements, but importation of source material via cut-and-paste invariably changes the content and presentation style. These types of utilities are more suited for on-line creation of content.


It is possible to combine the good qualities of annotation with a direct manipulation style of information presentation and meet the three goals described above. CrystalBoard is a "network lens" which rides on top of a display and transmits all information captured visible through it across the network. In addition, it supports annotation tools, such as freehand sketching and text input, to be displayed on a translucent layer above the lens.

The use of CrystalBoard is very simple. Presenters simply place their CrystalBoard on top of any application window, such as Netscape, and begin discussing their material with remote participants. When they feel the need to emphasize a particular point, they can underline words or draw circles around items that are visible through the lens. If an audience member wished to make a point, he could also draw on the lens through his client program, an unmodified MASH MediaBoard. While the presenter needs a CrystalBoard to present her work, the remote participants require only a normal whiteboard. The background visible through the presenter's lens is transmitted as a picture for the receivers' whiteboards to display with all annotations drawn on top.

CrystalBoard is a minimalist application consisting of an opaque frame surrounding a transparent middle. There is only one mode of operation. The user can click-drag to draw in freehand mode. She may also type on the keyboard, sending text to the screen whereever the mouse button was last released. There is one color, one font, and one type of line. These features may be enhanced in the future.

Whenever the user clicks on the frame or drags it around the screen, the new viewable area is sent over the network to all remote participants. Thus, if the presenter wishes to show a new page of work, she may simply drag the frame around until the new page is shown inside.

Client users can use the MASH MediaBoard to view these presentations. The MediaBoard receives background images from the presenter over the network and displays the annotations and text on top. Whenever a new background image comes in, the one that was already displayed is replaced by the new one. Since the client is an unmodified MediaBoard, the remote participants may annotate and draw on the presentation which is multicast to everyone else, including the presenter.


The CrystalBoard is implemented in X Windows under UNIX. It consists of an add-on module to the MASH MediaBoard that replaces the Tk drawing canvas with an InputOnly transparent X Window. This window captures the user's events and translates them into MASH MediaBoard commands which are then sent over the network to be displayed by all participants. The commands are also echoed locally to CrystalBoard, which draws them over the background of the screen.

When the presenter wishes to send the image contained within the lens to remote users, she clicks on the frame. This takes a snapshot of the background visible through the frame and saves it as a GIF. It is then sent over the network using the preexisting MediaBoard image protocols. Likewise, when the user drags the frame to a new location on the screen, the background in the new location is captured and sent over the network. Then the X display in the former location of the CrystalBoard is cleaned up and restored.


Is a shared, transparent whiteboard useable? Is it useful? No user tests were conducted, but I had some feelings about the system while it was being developed.


The whiteboard is useable, but only for simple presentations. The UI is invisible and modeless, which leads to easy everyday use. The mouse only has two functions in the canvas, drawing and cursor placement. The keyboard is used for typing whereever the cursor was placed. Because of this, it is very easy to invoke simple features, but hard to design in more complicated tools like those found in paint programs and more sophisticated whiteboards.

How is the application's usability when applied to the task of presentation? The presenter may use any existing applications and tools to prepare a presentation. Once the CrystalBoard is booted, the mouse is only used for dragging the frame around the screen and sending new backgrounds to the receivers.

For a static presentation, this tool suffices. However, after moving the CrystalBoard to a new location on the screen, the background is updated, but the drawing layer on top is not scrolled and gets out of sync with the background below. As such, it would be nice to reinvent the CrystalBoard to be more than just a transparent whiteboard. The CrystalBoard should be just a window on a full-screen transparent whiteboard. This way, the CrystalBoard only defines the current area of presentation and drawing. If the presentation moves to a different portion of the screen, the window may be moved and leave the drawing behind in the old spot. The background that would now be sent to all recipients could be added to their MediaBoards in the correct relative position as it is displayed on the author's screen.

How does CrystalBoard fare with non-static presentations? If the content shown underneath the CrystalBoard changes asynchronously (due to an animated GIF or movie), it is questionable whether the background should be updated on a more frequent basis. Barring the implementation details of knowing when another window has drawn onto the screen, should transfer of a new background be controlled solely by the user clicking on the frame or should the background be sent whenever any change to the screen underneath the CrystalBoard occurs? Since the CrystalBoard is positioned solely as a static presentation tool, it is not designed for sending high-frequency bitmap updates. Other presentation tools are more suitable (video conferencing applications or Timbuktu-style remote control applications) and could be made more general to support this type of collaborative work.


Is the CrystalBoard useful? It can be surprisingly effective in presentations using graphs, pictures or other formats that contain large amounts of whitespace. It has also been tried in Netscape with varying results. The more cluttered a page is, the more difficult it is to add additional information by drawing or typing.

Font type and color also have a big impact on the visibility and discernability of annotations to documents. Originally, CrystalBoard defaulted to a 9x15 non-proportional font and black color. Not only was information difficult to see, but since the majority of visual information in many programs uses black for text, CrystalBoard text and drawing was difficult to separate from the background. Consequently, the color was switched to hot pink and the font type to 18 point Helvetica. This improved discernability dramatically, but didn't help at all with the clutter.

Authors spend a great deal of time on layout of non-mutable presentations. When the opportunity arises to use CrystalBoard to present the material, it quickly becomes apparent that smaller amounts of whitespace offer less space for annotation. While it is easy to circle and underline items to highlight them, without extra space, it becomes hard to "write in the margins." Graphic presentations often fare better than text presentations because authors leave more whitespace around graphics for better layout.

Future Work

In the future, there might be small improvements to the UI. Additional UI features should include a resizable window, erase/undo, user-selectable color and font, and a click-through mode.

This last addition warrants further discussion. The authors of Toolglass realized the importance of a click-through mode in their magic lenses. They created click-through color-buttons that can change the shade of the object below them. Supporting click-through in CrystalBoard would allow the presenter access to the underlying presentation tool. This way, the presenter could switch to the next slide in PowerPoint, or scroll the window in Netscape without having to move the CrystalBoard out of the way.

Click-through, combined with the reinvention of CrystalBoard as a window onto a larger transparent whiteboard, would make for a more interesting and useful CrystalBoard. It would, however, force an answer to the question of how to represent low-frequency image shifts on the receivers' whiteboards.

While there are quite a few ways to enhance CrystalBoard to work with background animation, I feel that this simple application would benefit most from additional UI elements. Any radical redesign to support large presentations should be made to a new implementation.


In conclusion, the CrystalBoard is an effective tool for presentations of original source material to a large audience. Its ability to allow all participants to annotate and markup presentation content is due to its inheritence of networking features from the MASH Media Board. Thus, CrystalBoard meets all three of our design goals with a very simple, easy-to-use user interface.


[BSPBD93] Bier, E, Stone, M., Pier, K., Buxton, W., DeRose, T., Toolglass and Magic Lenses: The See-Through Interface. Proceedings of Computer Graphics, 1993, pp. 73-79

[FJLMZ95] Floyd, S., Jacobson, V., Liu, C., McCanne, S., and Zhang, L., A Reliable Multicast Framework for Light-weight Sessions and Application Level Framing. ACM SIGCOMM 95, August 95, pp. 342-356.

[M92] McCanne, S. A Distributed Whiteboard for Network Conferencing. CS268 Term Project, U.C. Berkeley. May 1992.

[PW96] Phelps, T. and Wilensky, R. Toward Active, Extensible, Networked Documents: Multivalent Architecture and Applications. Proceedings of the 1st ACM International Conference on Digital Libraries, 1996, pp. 100-108.

[RT96] Raman, S. and Tung, T. MediaBoard Using the Scalable, Reliable Multicast Toolkit., 1996.

Andrew Begel
December 16, 1997