Synchronous Paired Collaboration Support with the Transparent Video Facetop

They missed facial expressions and the sense of presence obtained in side-by-side interaction The Transparent Video Facetop is a novel user interface concept that supports not only single-user interactions with a PC, but also close pair collaborations, such as that found in collaborative Web browsing, remote medicine, and in distributed pair programming. Facetop seamlessly couples PC desktop content with a semitransparent, full-screen, live video user self-image. We recently demonstrated our first Facetop prototype as a single-user GUI for manipulating the elements of a traditional WIMP desktop [12]. In this paper we present a two-headed collaborative version of the Facetop, and discuss its use in solving several problems reported to us by teams doing distributed pair programming. Specifically, the Facetop allows a distributed pair to recapture some the facial expressions and face-to-face communications contact lost in earlier distributed sessions. It also allows members of a distributed pair to conveniently, quickly, and naturally point to their shared work, in the same manner (manually) that they do when seated side-by-side. • They wanted a way to point at the shared work they were discussing via the audio channel. • They wanted a whiteboard for drawing and design work To address these issues, we have been investigating a videoenhanced dPP environment. Video was one issue discussed at a workshop on distributed pair programming at the XP/AU 2002 conference. Over 30 people attended, many of who had tried some form of distributed pair programming and were working on tools to improve its effectiveness. The consensus on video was that “web cam” style, postage stamp video – small image and low frame rate – was of little value in enhancing communications or sense of presence in a distributed pairing. However, it was felt that video, if large enough and real enough, was of potential value and worth further research. We have been doing that research in that context since that time. Distributed Pair Programming Other Related Work Our Facetop system development has been driven by collaboration needs and problems that naturally arose in a collaborative software engineering technique called pair programming. In pair programming, two programmers sit at one PC to develop code. One types (“drives”) while the other reviews and assists (“navigates”); roles swap frequently. Pair programming is a central practice in several agile software development methods, including Extreme Programming (XP) [1,2]. Aside from agile development and pair programming, our Facetop work depends on technology from several research areas: from collaboration theory and systems, from video analysis, and from user interfaces. While space does not permit a full overview of related work here, we do give such a review in a recent technical report on Facetop [2]. Englebart demonstrated analog video for collaboration in 1968 in his NLS/Augment system. Transparency has been used in user interfaces for tools and menus, avatars, and other aspects of the GUI [8,10]. VideoWindow [5] showed that large video can create a sense of presence that will encourage remote user interaction. The benefits of pair programming are well known in co-located situations [3,13]; we have been exploring if the benefits remain in a distributed context. It has been established that distance matters [14]; face-to-face pair programmers will most likely outperform distributed pair programmers in terms of sheer productivity. However, the inevitability of distributed work in industry and education calls for research in determining how to make this type of software development most effective. The work most closely similar to Facetop is Clearboard [4], developed by Ishii et al. and published in CSCW in 1994. Clearboard presented visual images of collaborating users to each other, but it required expensive custom hardware. One of the advancements of Facetop is potentially ubiquity, since it needs only a $100 Firewire camera to be added to a common PC. The novelty of Facetop is using graphics transparency to tightly integrate the user image with the desktop work. Toolkits such as videoSpace [15] are available for producing application like Facetop, though the heavy processing and transparency in Facetop make Apple development most efficient with current platforms. In several previous experiments in distributed pair programming (dPP) [6,7,11], a pair worked synchronously and remotely using COTS sharing software. pcAnywhere (Symantec) provided a shared desktop, so that the two programmers are effectively working on a single host computer, and each sees exactly the same desktop as they would were they sitting side-by-side at the host PC. Yahoo messenger provided voice communication, and text exchange when needed. Others have tried dPP with VNC, NetMeeting, and the shared desktop in Windows XP. The Basic Single-User Facetop Transparency combined with user self-view Our experiments found that programmers working synchronously in this distributed environment were as effective as co-located pair programmers. In post-experimental interviews, teams consistently told us 3 things: The transparent video Facetop is a novel enhancement of the traditional WIMP user interface. Figure 1 shows the physical Facetop setup for a computer with a monitor. Note the video camera sitting on top the LCD panel pointing back at the user; in