Title: Synchronous Collaboration and Awareness Systems
1Synchronous Collaboration and Awareness Systems
- Bo Begole
- Ubiquitous Computing Area Manager
- Computer Science Lab
UC Berkeley, Sep 25, 2006
2Synchronous Collaboration and Awareness Systems
- Degrees of Interdependence
- Replicated Application Sharing Flexible JAMM
- Multi-user UNIX terminal SharedShell
- Awareness
- ConNexus
- Awarenex
- Presence and Availability Forecasting
- Rhythm Awareness
- Lilsys
3Why CSCW Research is Important
- Inter-Personal Computing
- Most of what we do with computers is communicated
to others - Documents
- Information Analysis
- Even calculating Ballistic Missile trajectories
are a form of communication (I hate you) - CSCW combines systems and social research
4Grudins Time/Space Model
CoLocated Remote
Synchronous Meeting Rooms Video conferencing
Asynchronous Argumentation Tools Email
5Degrees of Interdependence
Moderately Interdependent work
Highly interactive Interdependent work
Weakly Interdependent work
Two Examples
Proposal Module-level programming
Reviews System design prgrmng
Negotiation System integration debugging
Research Funding Technology Development
Paper Memos
Communication Tools
Full-duplex audio
IM
SMS
Usenet
Text chat
email
Push-to-talk audio
Face-to-face meeting
Web pages
Blogs
Asynch
Semi,Peri,Psuedo-synch
Synchronous
Wikis
Shared File Systems
Editors
Multiplayer Games
Distributed Presentation
Productivity Tools
Shared Apps
Meeting Support Systems
Decision Support Systems
Browsers other Viewers
6Collaboration Transparency
- Sharing single-user legacy applications
- Application source code is not modified
- Runtime environment is modified
- sharing mechanism is transparent to
application. - Synchronous Application sharing for
- Pair programming
- Debugging/integration
- Collaborative document editing
- Examples
- NetMeeting, WebEx, GoToMyPC, SharedX, SharedApp,
XTV, SunForum, Timbuktu, etc.
7What You See Is What I See
- Collaboration is grounded in shared view, but
- prevents independent work
- Collaboration is grounded in shared view
- Are there downsides to WYSIWIS?
8Maintaining Awareness What You See Is What I
Think You See
9Conventional Collaboration Transparency
Architecture
Does this model human collaboration?
- Centralized architecture
- One copy of application
- Remote inputs merged
- Graphics output sent to each remote participant
- Used by all collaboration-transparent systems
10Centralized Sends Graphics Information
- Centralized - send description of graphics
- shift label, setColor, drawRect, setLineStyle,
drawRect - Replicated - send state change message
- minimally button Id, new state (up, down)
- typically Event type, time, target, x, y, click
count - 251 ratio of graphics to event messages typical
in X-based applications
11Concurrency Control
- Input events can interleave and conflict
- Solution take turns using floor control
- How well does turn-taking model human
collaboration?
(a) intended result of two users drawing curves
simultaneously
(b) unintended result due to conflicting mouse
movement events
12Limitations of Collaboration-Transparency Systems
- Strict What You See Is What I See
- Slower application responsiveness
- No concurrent work
- Limited group awareness information
- Higher network bandwidth requirement than
collaboration-aware applications
13Collaboration-Aware Applications
- Applications designed for collaborative use
- Examples
- Editors SASSE, Calliope, SubEthaEdit, Writely
- Whiteboards innumerable
- Chat ICQ, AIM
- Visualization CAPI, Shastra, Sieve
- Work flow TeamRooms, Groove
- Learning LiNC, CoVis
- Games Diablo, Doom, WorldOfWarcraft, There
- Toolkits Habanero, Tango, GroupKit
14Collaboration-Aware Applications
Shared whiteboards
SubEthaEdit
15Workspace Awareness
- Information about participants
- identity
- location
- activity
- access
16Replicated Architecture
- Copy on each host
- Remote inputs merged
- Inputs distributed
- Enables
- Lower network bandwidth
- Independent views
- Concurrent work
17Can We Achieve Spontaneous Collaboration?
- Co-workers encounter each other
- Accessing shared content, docs, code, etc.
- Within shared events, web sites, meetings, etc.
- Applications morph into collaborative versions
on-the-fly - Research prototypes
- Flexible JAMM Begole et al. 99
- Zipper IBM
- Co-Word/Co-PowerPoint Griffith U.
18Flexible JAMM Replication Object Replacement
19Single- to Multi-user Object Replacement
20Replacement Process
New-comer Host
Initiating Host
Replacement Filter
- Java Object Serialization
- Table of replaceable classes and equivalents
- JScrollPane gt JRadarPane
- PlainDocument gt SharedDocument
- also Image, FontMetrics, etc.
- Multi-user replacement class must
- be subclass of single-user original
- have constructor that takes single-user object
and initializes to same state
21Concurrent Editing using Operational
Transformation
Thanks your, ...
Thanks to ou, ...
Thanks to you, ...
0
delete(10, 1)
delete(13, 1)
Goal Thanks to you, ...
insert(7, to )
1
Thanks your, ...
Thanks to you, ...
22Concurrent Editing using Operational
Transformation
(1,0)
(0,0)
(2,1)
Thanks your, ...
Thanks to your, ...
Thanks to you, ...
0
delete(10, 1)
delete(13, 1)
(1,0)
insert(7, to )
insert(7, to )
(0,1)
delete(10, 1)
1
Thanks your, ...
Thanks you, ...
Thanks to you, ...
(0,0)
(0,1)
(1,2)
23What About System Resources?
- E.g., File, system time, network sockets?
- Externalities cannot be replicated completely
- Some services are unique per host e.g., time,
hostname, etc. - Different file systems, paths, etc.
- Replicating files is partial solution, but
- Paid network services may limit to one connection
- Redundant output
- Dont want to send multiple email
24Flexible JAMMs Proxied System Resources
Original Applet
DIS
FIS
FIS Server
FIS Proxy
FIS
DIS
RMI
Does this still qualify as a replicated
architecture?
25Does it Work? Could it Introduce Problems?
- 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 correct errors in
existing text - 8 pairs, with 35 wpm typing proficiency
26Performance Time
- Text Entry less time using JAMM than NetMeeting
- 223.75 sec vs. 353.50 (plt.001)
- Copy Edit no difference
- (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
29Evaluation - other results
- No difference in accuracy
- JAMM preferred for Text Entry
- Neither preferred for Copy Edit
- JAMM preferred overall
- NetMeeting floor control mechanism is difficult
for people to use
30Sun SharedShell
- Designed for Sun Customer Care Center
- Support Engineers cant see through the
telephone - SE and Customer have knowledge to jointly solve
the problem - SE teaches customer how to solve the problem,
reducing future support calls
31SharedShell Video
- Yankelovich, N., Bo Begole, J., and Tang, J. C.
2000. Sun SharedShell tool. In Proceedings of the
2000 ACM Conference on Computer Supported
Cooperative Work (Philadelphia, Pennsylvania,
United States). CSCW '00. ACM Press, New York,
NY, 351. DOI http//doi.acm.org/10.1145/358916.36
1981
32Awareness through the ages
More to come?
33Awarenex
- Awareness
- Finding a good time to make contact
- Non-disruptive approach and leave-taking
mechanisms - Integrated communication
- Making contact easy
- Ubiquity
- Multiple clients
- Shows location
Awareness nexus
34Presence can be reached
- No info when recipient is not present
- Presence ? Availability
35Buddy list is nearly useless when someone is not
Present
- Inactive duration
- Longer implies more likely not present, but
- Could be reading, talking, etc.
- Dont really care how long inactive, what I want
to know is when/where/how can I reach them in the
future?
36Rhythms in Group Coordination
- Temporal patterns of behavior Rhythms
- Start/end of day, commutes, lunch, regular
breaks, recurring events, typical durations, - Zerubavel 1981 found that workers in a medical
operations can infer the time of day from
surrounding activities - Rhythms used to plan communications
- How long will Jane be away?
- Where might she be next?
- When will she be in her office for 15 minutes?
- What time does she leave for the day?
- When will she read my email?
- When should I worry if theres no response?
- Difficult for distributed groups to form
E. Zerubavel, Hidden Rhythms Schedules and
Calendars in Social Life, Chicago The University
of ChicagoPress, 1981.
37Date
Computer Activity
Computer Activity over 6 weeks
38 39Key Factors Affecting Rhythms
Location
Home
Office
Home
Office
40Predictability varies between individuals
Mean and std dev of minutes active in 15 min
window
programmer
manager
41Human-observable patterns in Presence History
Probability of computer activity in office during
Mondays
Mondays Office
Start of day
End of day
Lower presence probability
Lower presence probability
Lunch
42Modeling Approaches
Decision Tree
Bayesian Network
Horvitz, et al. 2002
Difficult for end-users (and developers!) to
interpret Temporal periodicity and patterns are
not apparent to users
43Goal Descriptive model of temporal patterns to
augment users mental model of rhythms
- Identify and describe Transitions
- Significant changes in probability of presence
- Start, end of day, commute, recurring inactive
periods - When, how long, how frequent
- Types of transition
- Recurring transitions between locations
- Start- and end-of-day transitions
- Recurring mid-day transitions
- EM approach to find mid-day transitions
- 1. Estimate possible transitions
- 2. Expectation Maximization
- 2.a Cluster instances using transition estimates
- 2.b Refine estimates and iterate until converge
44Step 1 Estimate Transition Periods
- Determine threshold levels
- Upper and lower thresholds to filter noise
- Threshold crossing potential transition
- Initial estimate of transition properties
Initial upper and lower thresholds determined
heuristically
Mondays Office
Transition
Transition
Transition
45Step 2 Cluster observed inactivity periods by
distance from estimated periods
- Euclidean distance
- An observed inactive period is a member of
cluster when distance lt 3 - An inactive period may differ by 2 stddev in two
properties, but not all three
Estimated Transition
time
start
end
Observed Inactive Periods
Not in the transitions cluster
46Example Rhythm Model
Transition frequency and probability
distributions of start, duration and end times
47Example with Location Transition
Starts work from home very early Monday mornings,
then commutes to office
Mondays All Locations
Commute time 45 80 mins
48End-user Visualizations Which are Easier to
Interpret?
49Integrating Rhythms and IM
50Probability that Inactivity is a Transition
Suppose
51Probability that Inactivity is a Transition
Suppose
52Outline
- Presence and Non-Presence
- Rhythm Awareness
- Modeling
- Applications
- Availability and Unavailability
- Lilsys
- Technical details
- User reactions
- Future Directions
53Presence ? Availability
- Interruptions are necessary
- and welcome when related to current task
Sproull 84, J. Hudson, et al. 02 - But carry costs
- 15-20 of time spent on interrupts Solingen 98,
Czerwinski 04, Gonzalez Mark 04 - 139bn annual loss in UK (14.6 GDP) Brother
Industries Ltd. 2005 - roughly 1.75tn US
- Willingness to be interrupted depends on
- Situation, activity, task, relation, topic, time,
etc. - Inferencing based on situation can approach human
accuracy Fogarty 2004
54Two philosophies on infering availability
Awarenex
Saddler Hill, 97
55Salient Factors in Detecting Unavailability in an
Office
- Predicting human interruptibility with sensors
a Wizard of Oz feasibility study - Social engagement was the most salient factor
- Top 3 factors
- Speaking
- Telephone on/off-hook
- Keyboard/mouse activity
- Minor factors sitting/standing, eye gaze on
monitor, drinking water, etc. - Door was not a factor
Hudson, Fogarty et al. 2003
56Lilsys
Online/Offline Toggle
Motion Detector
Override Timer
Indicator Lights
Sound Detector
57Client Interface
Probably Unavailable
Sensor- enabled
Possibly Unavailable
58Usage Observations
- Online/offline switch not used
- but its presence was reassuring to some
- Override Not Available not used
- Individuals weigh indicators differently
- Users desire more control over inference
- Observers reverse-infer unavailability
- Users guess reasons why remote party is
considered unavailable - Diminishes value of hiding sensor data
59Did it work?
- Can there ever be a good time to interrupt?
- Users perceive same amount of interruption
- Also found in MyVine by Fogarty, Lai, Christensen
2004 - But the interrupter approached more politely
- Interruptions in face-to-face
- Approach is shaped by availability assessment
- Both parties aware of degree of intrusion
- Recipient gives feedback on appropriateness by
being gracious or annoyed - You cant hold a caller accountable if they cant
be expected to know your interruptibility - Availability inference helps contact negotiation
60Whats next?
- The genie is out of the bottle
- Scott McNealy 'You already have zero privacy
anyway, get over it.'
IMWatching.net, 2005
61Impression Management
- Awareness complicates Impression Management
Goffman - Harder to give intended impressions
- Harder to know what is given off (i.e., others
see) - Harder to repair undesired impressions
- Support impression management
- Show what others can and have seen
- Give user control of inference rules
- Modify personal data
- Give users reverse Digital Rights Mgmt
- E.g., if rhythm model shows Janet takes long
lunches - Show that
- Janet attends meetings during lunch
- Janet reads email from home in evenings
- Janet had the most sales last quarter, etc.
How?
62 When is Dagwood Available?
63Rhythm and Unavailability Inferencing
Unavailability Inferencing
Dagwood office
Dagwood office
Dagwood office ETA 910 am
64Synchronous Collaboration and Awareness Systems
- Bo Begole
- Ubiquitous Computing Area Manager
- Computer Science Lab
65References
- "Incorporating Human and Machine Interpretation
of Unavailability and Rhythm Awareness into the
Design of Collaborative Applications", James "Bo"
Begole and John C. Tang, to appear in HCI
Journal. - If Not Now, When?The Effects of Interruption at
Different Moments in Task Execution, P.
Adamczyk B. Bailey, CHI 2004 - "Beyond Instant Messaging", J. Tang J. Begole,
ACM Queue, (1)8, Nov 2003, pp. 28-37 - Lilsys Sensing Unavialability, J. Begole, N.
Matsakis and J. Tang, Technical Note in CSCW
2004, to appear - Rhythm Modeling, Visualizations and
Applications, J. Begole, J. Tang, and R. Hill,
UIST 2003 - Work Rhythms Analyzing Visualizations of
Awareness Histories, Begole, Tang, Smith
Yankelovich, CSCW 2002 - Coordinate Probabilistic Forecasting of
Presence and Availability, E. Horvitz, P. Koch,
C. Kadie, A. Jacobs, UAI 2002 - 'Id Be Overwhelmed, But Its Just One More
Thing to Do' Availability and Interruption in
Research Management, J. Hudson, J. Christensen,
W. Kellogg, and T. Erickson, CHI 2002 - Predicting Human Interruptibility with Sensors,
S. Hudson, J. Fogarty, C.Atkeson, J.Forlizzi,
S.Kiesler, J.Lee, J.Yang, CHI 2003 - The time famine Toward a sociology of work
time, L. Perlow, Administrative Science
Quarterly, 44, (1999), 57-81. - When Can I Expect an Email Response? A Study of
Rhythms in Email Usage, J. Tyler and J. Tang,
ECSCW 2003 - Hidden Rhythms Schedules and Calendars in Social
Life, E. Zerubavel, 1981