Title: Support for Distributed Pair Programming in the Transparent Video Facetop
1Support for Distributed Pair Programming in
the Transparent Video Facetop
- David Stotts
- Jason Smith, Karl Gyllstrom, Dorian Miller
- Dept. of Computer Science
- Univ. of North Carolina at Chapel Hill
- October 2004
2Interesting Collaborative Systems
- Bush Memex (45)
- Great grandfater of the Web
- Video Window (BellCore, 90)
- Collaborative coffee lounge
- Clearboard (Ishi, 94)
- Expensive custom hardware
- HyperMirror
3Extreme Programming (XP)
- Kent Beck, late 90s
- One Agile software development processes
- change happens deal with it
- Small teams (2 to 10 people)
- Modest sized projects
If we know something is a good idea, lets take
it to the extreme
4XP Practices
- Test-first development
- Simple design (add no function before its time)
- Re-factoring
- User/client on-site
- Planning game
- 100 regression tests
- run end of each day
- No overtime
best known for Pair programming
5Pair Programing has known benefits
6Pair Programming Benefits
- Increased productivity
- 15 increase in person-hours
- 45 reduction in clock hours
- Fewer errors
- Better program structure
- Increased engineer satisfaction
- Increased client satisfaction (for full XP)
7Teleworking Boom
- Half of American information workers work
offsite at least part of the time
Companies are looking at hot bunking as a way
of controlling real estate costs and increasing
productivity of the plant they are paying
for National area of technical emphasis
8Current Studies
- COTS software how far can we get?
- Screen sharing ( pcAnywhere, VNC )
- Audio/text exchange ( Yahoo messenger )
- No video ( bandwidth concerns )
- Broadband speed or better
- Joint work with Laurie Williams, Ed Geringer at
NCSU
9Distributed Pair Programming
- Assume you must develop across the wire
- If we use synchronous collaboration
- If we organize as pairs
- Can we effectively develop good software?
- Will collocated PP benefits still hold?
- Can we apply all XP practices ?
- Should we?
10Anecdotal Observation
- A student told me he had participated in 2 PP
experiments one co-located, one distributed - He said he was more efficient in dPP that he and
his partner did more chit-chatting in
co-located - Not sure if this is social, or technical
- Or not real
- An industry engineer confirmed a similar
phenomenon
11Video-Enhanced Environment
- In all studies, dPP programmers say
- we need a whiteboard
- we miss facial expressions
- we cant point at what we are sharing
- We wanted to construct a video-enhanced dPP
environment to address these issues
122002 Chicago Workshop
- We ran dPP/dXP workshop in Chicago
- 40 attended many had tried some form of dPP
- Video was
- Not used
- but not disproved
- Video was perceived to have benefits
- When made LARGE
- Like Bellcore VideoWindow
13(No Transcript)
14The Basic Facetop
- Transparency combined with user self-view
- Uniquely integrates video conferencing with
desktop information and applications - Works as a single-use PC interface
- Works as dual-user collaboration support
- Most effective in projected context
15(No Transcript)
16(No Transcript)
17(No Transcript)
18(No Transcript)
19Some Good Press
- Technology Research News
- ACM tech Notes
- Gizmodo
- Gadgetopia
- Slash Dot
- Wired
Blogs UNC Endeavors UR Alumni Review
20Geek Magazine!!
- Look for it in early September
21(No Transcript)
22(No Transcript)
23(No Transcript)
24(No Transcript)
25(No Transcript)
26Related work
- Englebart 60s collaboration on text
- Clearboard 90s expensive custom hardware
- Video Mirrors combined video spaces
- Hand Tracking, gestures lots
- Augmented reality lots
- Columbia Feiner blueprints
- Office of the Future Fuchs
27Dual-head Collaborative FaceTop
28(No Transcript)
29(No Transcript)
30(No Transcript)
31(No Transcript)
32(No Transcript)
33No Registration Issues
- No registration worries
- Object tracking (fingertip) allows camera motion
- User self-registers 30 fps
- For natural pointing camera must be generally in
front of user and oriented face-on
34 Directions
- User studies
- Controlled dPP studies in fall
- Medical imaging group
- Architects, blueprints
- Emergency room use
- Enabling technology
- Hearing-impaired can participate in dPP, other
sync. remote collaborations
35 Directions
- Windows version (Mac only for now)
- Faster tracking
- 3person versions
- Better video compositing foggy
- Voice activations
- 3D version for dome display
36All windows can be resized / re-opaqued /
overlayed
37 Development
- Funding for 1 student so we did not do pair
programming for most of the development - Did pair for first 3 sessions for overall system
design and for initial exploration of some
candidate legacy codes and an initial system. - Mac OS X is the platform ( openGL )
- Longhorn will enable Windows version, if not
earlier
38System Architecture
39 Early evaluations
- Had pairs that had done non-video dPP try Facetop
for dPP - Results very encouraging no team found the
system objectionable - All found it preferable to non-video
- All found the pointing to be natural and effective
40 Other evaluations
- Had two people with hearing-impairments try it
- Asked them to attempt signing and lip reading via
Facetop to discuss document on the screen - No problems signing (18 fps on 100mb switched
dept ethernet) - Lip reading not possible yet (more fps)
- Tic-Tac-Toe collaborative chess coming
41(No Transcript)
42(No Transcript)
43But serendipity
- Discussing PhD work with Jason
- Projected on the board in my office
- Happened to have just installed a Firewire cam
- Happened to have reversed the image horizontally
-
44Environment Schematic
Right-hand user, can reach from seat, write on
projected digital whiteboard
Shared PC projection
projector
keyboard, etc.
Partner / whiteboard
projection
programmer
camera
projector
45Alternatives
Partner projection
Shared PC projection
Less useful for whiteboard , Perhaps more
effective with multi-screen unified wide display
keyboard, etc.
camera
programmer
projector
projector
4690º Projector Setup
Daily use 2 PCs switched between 2 projectors and
a monitor
dPP use Both projectors at once, one for
communication, one for shared PC desktop
47(No Transcript)
48(No Transcript)
49(No Transcript)
50(No Transcript)
51Starts as normal app window
52Resized by control-dragging up and down over the
window
53Move window with the mouse
54Opaqueness adjusted by alt-dragging up and down
55(No Transcript)
56Network settings pane used to start 2-head
57Second window opens after connection
Remote local
58Command-drag window rotates
59Double clicking a window makes it full screen
This is both full screen
60Resolution and frames per second can be adjusted
61(No Transcript)
62(No Transcript)
63(No Transcript)
64(No Transcript)
65(No Transcript)
66(No Transcript)
67dPP teams do as well as collocated
68dPP teams do as well as collocated
69dPP teams do as well as collocated
70dPP teams do as well as collocated
71PP teams better communication
How was the communication with your team?
72PP teams better cooperation
How was the cooperation among team members
73End of Presentation
74(No Transcript)
75(No Transcript)
76(No Transcript)
77(No Transcript)
78Findings
- dPP software development over the wire is
- feasible,
- effective,
- affordable (COTS),
- pleasant for the participants
- Small-scale distributed development is better
done as pairs (synchronous) than as individuals
who integrate - Synchronous pairing engenders better teamwork and
communications for remote work
79Distance Matters
- Distance matters is a truism among
collaborative systems researchers ( Olson
Olson ) - Studies of graduate programmers (136, 16, 12, 2)
- Paired, non-paired, co-located, distributed
We are finding that distance doesnt always
matter doesnt matter as much as thought
80Findings
- Joint studies with Laurie Williams, Ed Gehringer
at NC State - dPP programs were equal in quality to those of
co-located pairs ( also distributed non-paired
teams ) - Distributed pairs maintain many of the advantages
of collocated pairs ( fewer errors, etc. ) - Distributed pairs maintain many of the pair
effects ( pair pressure, pair learning, two
brains ) oserved in co-located PP
81Environment Schematic
Right-hand user, can reach from seat, write on
projected digital whiteboard
Shared PC projection
projector
keyboard, etc.
Partner / whiteboard
projection
programmer
camera
projector
82Alternatives
Partner projection
Shared PC projection
Less useful for whiteboard , Perhaps more
effective with multi-screen unified wide display
keyboard, etc.
camera
programmer
projector
projector
83Solving the Pointing Problem
The Transparent Video FaceTop
Single-user track finger, drive mouse, self-image
provides cues not found in other UIs
Collaborative put two people on one shared
screen, Each sees the other pointing