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.
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.
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.
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.
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.
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.
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.
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.
[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. http://www.cs.berkeley.edu/~suchi/mboard/paper/paper.html, 1996.