Title: James Bo Begole
1Flexible Collaboration Transparency
- James Bo Begole
- Department of Computer Science
- Virginia Tech
http//simon.cs.vt.edu/jamm
begolej_at_vt.edu
2Collaborative Computing
- Shifting computer needs
- from Personal Computing to Inter-Personal
Computing - Computer support of cooperative work is emerging
- Some asynchronous (different time) support
- email, WWW, discussion groups
- Little synchronous (same time) support
- ICQ, NetMeeting
3Software for Synchronous Collaboration
- Collaboration Transparency
- Application sharing
- Single-user legacy applications shared without
developer awareness. The sharing is unknown, or
transparent, to the application. - Examples NetMeeting, SharedX, SharedApp, XTV
- Collaboration Awareness
- Applications designed for collaborative use
- Examples Editors (SASSE), whiteboards, chat,
multi-player games (Diablo, Doom)
4Collaboration Transparency
5Collaboration-Aware Applications
6Transparency versus Awareness
7Problem of Concurrent Work
- User inputs can interleave and conflict
- Solution of conventional collaboration
transparency take turns - but that prevents concurrent work
(a) intended result of two users drawing curves
simultaneously
(b) unintended result of conflicting mouse
movement inputs
8Sequential versus Concurrent
Sequential
User As site
User Bs site
Concurrent
9What You See Is What I See
- Collaboration transparency
- strict WYSIWIS
- All participants have exact same view at same
time. - Collaboration awareness
- relaxed WYSIWIS
- Participants have independent views of shared
data. - Allows independent simultaneous work
10Collaboration Transparency
11Collaboration-Aware Applications
12Group Awareness
- Information about participants
- identity
- location
- activity
- access
13Centralized Architecture
User A Host
User B Host
User Input
User Input
Display
Display
Network Traffic
- One central copy of shared application
- Graphics output sent to each remote participant
- Remote inputs merged
- Higher network traffic
Conference Agent
Merged Input
Display Broadcaster
Conference Agent Host
Application
14Support for Collaboration
15Problem
- Conventional collaboration transparency has no
extra development cost to share an application,
but provides inflexible support of collaboration - Why?
- Can it be improved?
16Goals
- System Goals
- No extra development cost
- Lower network bandwidth requirement
- Usage Goals
- Concurrent work allowed in application
- Support multiple collaboration styles
- Familiar applications
- Relaxed WYSIWIS
- Detailed group awareness information
17Flexible Collaboration Transparency
18Approach
- Replicated network architecture
- Replace single-user interface objects with
multi-user equivalents - Optimistic distributed algorithm for concurrent
text editing - Automate turn taking where still required
- JAMM - Java Applets Made Multiuser
19Replicated Architecture
User B Host
User A Host
Appli- cation
Appli- cation
User Input
User Input
Display
Display
Network Traffic
- Each person has a copy of the shared application
- Remote inputs are merged
- Lower network traffic
- Enables
- Independent views
- Concurrent work
Conference Agent
Event Broadcaster
Merged Input
Conference Agent Host
20Late Joining
- Synchronize new-comer to current state
- Two approaches
- event replay
- image-copy
- JAMM uses image-copy
- Modified Java Object Serialization
- copies objects in current state
21Proxied Externalities
- An externality depends on external state
- File, system clock, socket
- Cannot be replicated completely
- JAMM uses a semi-replicated approach
- Introduce replicated proxies
- Central server
- Communicate via Javas Remote Method Invocation
22Proxied Externalities
Original Applet
DIS
FIS
23JAMM
A single-user editor application containing a
scrollable panel ...
becomes a shared editor containing a multi-user
scrollable panel
24Object Replacement
object reference
Multi-user equivalent objects are substituted for
single-user originals
25Evaluation
- Flexible JAMM versus NetMeeting
- Two tasks
- Loosely-coupled collaboration
- Text Entry two authors simultaneously enter
text - Tightly-coupled collaboration
- Copy Edit editor leads author to make changes
in a text
26Performance Time
- Results
- Text Entry less time using JAMM (223.75 seconds)
than NetMeeting (353.50) (plt.001) - Copy Edit no difference, as expected (p 0.7905)
27User Perceptions - Text Entry
- Q1 satisfaction with the software
- Q2 ability to work simultaneously
- Q3 ease of controlling the shared application
- Q4 ease of indicating text locations
- Q5 ease of simultaneous editing
- Q6 ability to have independent views
- Q7 ease of knowing partner's view
28User Perceptions - Copy Edit
- Q1 satisfaction with the software
- Q2 ability to work simultaneously
- Q3 ease of controlling the shared application
- Q4 ease of indicating text locations
- Q5 ease of simultaneous editing
- Q6 ability to have independent views
- Q7 ease of knowing partner's view
29Conclusions
- Flexible Collaboration Transparency
- No extra development cost
- Lower network usage
- Concurrent work
- Relaxed WYSIWIS
- Detailed group information
- Allows collaboration to flow between tightly- and
loosely-coupled work - Simple groupware toolkit
30Questions?
- Why isnt JAMM twice as fast for Text Entry?
- Startup cost of coordinating who does what
- The completion time is bound by slowest typist