Collaborative Applications Prasun Dewan Department of Computer Science University of North Carolina CB 3175 Sitterson Hall Chapel Hill, NC 27599-3175
[email protected] http:/www.cs.unc.edu/~dewan
Dewan
290-F99
1
5.1. DEFINITION OF A COLLABORATIVE APPLICATION (GROUPWARE) ♦ Oxford: Work jointly esp at literary or artistic production ♦ Malone: helps people work together more effectively ♦ Lynch et al: makes users aware they are part of a group ♦ Wells: software and hardware for shared interactive environment ♦ Ellis: supports groups engaged in a common task and provides an interface to shared environment ♦ Peter & Johnson-Lenz: computer-mediated culture, intentional group processes plus supporting software ♦ Johansen: specialized computer aids for collaborative work groups ♦ Winograd: state of mind Dewan
290-F99
2
Definition Collaborative Application
I/O
I/O Coupling User 2
User 1 Potentially Real-Time Dewan
290-F99
3
Traditional Collaborative Applications File
Mail
send
save load
User 1
Dewan
User 2
User 1
Talk
hi
hi
receive
hello
hello
User 2
User 1
290-F99
User 2
4
Views of Collaboration Systems ♦ Problems ♦ Issues ♦ Disciplines
♦ Systems: Applications and Infrastructures
Dewan
290-F99
5
Problems: Application Areas • Business Management
• Education
• National Collaboratory
• Medicine
• Engineering/Design
• Air Traffic Control
• Software Engineering
• Command and Control
• Writing
• Games/Casual Interaction • Any complex task!
Dewan
290-F99
6
Problems: Generic Tasks • Design • Implementation • Inspection/Review
• Consulting Dewan
290-F99
7
Views of Collaboration Systems • Problems • Issues • Disciplines • Systems: Applications and Infrastructures
Dewan
290-F99
8
Issues: Semantics • Session Management: How do distributed users create, destroy, join, and leave collaborative sessions? • Single-User Interface: What are the application semantics if there is a single user in the session? • Coupling: what feedback does a user receive in response to the input of another user? • Access Control: How do we ensure that users do not execute unauthorized commands? • Concurrency Control: How do we ensure that concurrent users do not enter inconsistent commands?
Dewan
290-F99
9
Issues: Semantics (Contd.) • Process Control: How do we ensure that users follow prescribed group processes? • Merging: How do we merge concurrent commands entered by different users? • Undo/Redo: What are the semantics of undo/redo in a collaborative session? • Awareness: How are users made aware of ‘‘out of band’’ activities of their collaborator?
Dewan
290-F99
10
Issues: Implementation • Objects: What kind of objects are used to program a collaborative application? • Collaboration Awareness: Which of these objects are collaboration aware and how are these objects integrated with existing, collaboration-unaware objects? • Layers: How are these objects arranged in layers? • Concurrency: How is the application decomposed into concurrent threads? • Distribution: How are the application objects placed in different address spaces and hosts?
Dewan
290-F99
11
Issues: Implementation (Contd.) • Replication/Migration: Which of these objects are centralized and which are replicated? Which of the centralized objects can migrate? • Real-Time Support: What kind of services are provided to ensure real-time interaction with tolerable jitter and latency?
Dewan
290-F99
12
Views of Collaboration Systems • Problems • Issues • Disciplines • Systems: Applications and Infrastructures
Dewan
290-F99
13
Computer Science Disciplines • Operating Systems • Database Management Systems • Programming Languages • User Interface Systems • Software Engineering
Dewan
290-F99
14
Views of Collaboration Systems • Problems • Issues • Disciplines • Systems: Applications and Infrastructures
Dewan
290-F99
15
Systems: Applications • MUDs (Multiuser Dungeons)
• Information Lens
• DIVE (Distributed Interactive Virtual Environment)
• Coordinator
• Video Walls
• Action Workflow • Computational Mail
• Media Space
• Quilt
• Hydra
• PREP
• MAJIC (Multi-Attendant Joint Inteface for Collaboration)
• IBIS
• GestureCam
• CLARE
• Shasthtra
• RTCAL (Real-Time Calendar)
Dewan
290-F99
16
Applications (Contd) • GROVE (Group Outline Viewing Editor) • CES (Collaborative Editing System) • GroupDraw • ClearBoard • TeamWorkstation • GroupLens • IRI Dewan
290-F99
17
Systems: Infrastructures • File Systems
• XTV, NetMeeting
• DBMS
• Suite
• Lotus Notes
• Web
• Coda
• Rendevous
• IPC
• GroupKit
• ISIS
• TeamWorkstation
• Xerox’s Colab
• Weasel, Clock
Dewan
290-F99
18
Traditional Collaborative Applications File
Mail
save
send load
User 1
User 2
Implicit Comm. Artifact-based Polling Dewan Asynchronous
User 1
Talk
hi
hi
receive
hello
hello
User 2
User 1
Explicit Comm. Private Messages Auto Notification 290-F99 Asynchronous
User 2
Implicit Comm. Session-based Auto Notification 19 Synchronous
Novel Collaborative Applications File++
Mail++
Talk + File
File + Mail
Implicit Comm. Artifact-based Session-based Synchronous
Artifact-based Private Messages
Talk++ Talk + Mail Session-based Explicit Messages
File + Mail + Talk Implicit & Explicit Comm. Artifact-based Session-based Synchronous & Asynchronous Dewan
290-F99
20
Talk++ • Talk++ • Mail++ • File++ • Talk + Mail • Talk + File • Mail + File • Talk + Mail + File
Dewan
290-F99
21
MUDs: Textual Virtual Reality John
Mary
(Wizard)
Say Hi everyone You say, “Hi everyone” Emote smiles You smile
John has entered the room (hear footsteps) John says, “Hi everyone”
Whisper “Boring” to Joe You whisper, “Boring” to Joe
Look John
@who
Move John to public place
Name
Connect Time
Idle Time
John smiles
John’s textual description
Change John’s description Disallow John whisper Disallow John from this room
Dewan
290-F99
22
Screen & Speaker
Camera & Microphone
Screen & Speaker
Video Walls: Video-based Virtual Reality
Room 1
Dewan
Camera & Microphone
Room 2
290-F99
23
Media Space Map
Room 2
Dewan
Room 4
290-F99
24
Hydra: Gaze Awareness
Figure originally appears in [5]. Dewan
290-F99
25
6.1.7. MAJIC: Real-Life with Seamless User Boundaries
Figure originally appears in [36] Dewan
290-F99
26
DIVE: Navigation- based VR Supports Unintended Collaboration Aura
Session Non intrusive
User 2 User 3 Application
User 4
Dewan
User 1
290-F99
27
Hallway Model
Dewan
290-F99
28
Gesture Cam: Remote Surrogate
Figure originally appears in [30] Dewan
290-F99
29
Gesture Cam: Architecture
Figure Originally appears in [30] Dewan
290-F99
30
Colab. PsyBench
Dewan
290-F99
31
PSyBench
Psybench.gif
Dewan
290-F99
32
Psy Bench Architecture
Dewan
290-F99
33
In Touch
Dewan
290-F99
34
In Touch Architecture
Dewan
290-F99
35
6.1.9.
Mail++
• Talk++ • Mail++ • File++ • Talk + Mail • Talk + File • Mail + File • Talk + Mail + File
Dewan
290-F99
36
Information Lens: Typed Messages Type: Exam Change Notice
Messages
Subject: …. Semi-structured typed messages Notices Joe Absence 14 Exam Change
Notices
Room Change Notice
Requests
Exam Change Notice
Exam Change Request
Class Absence Request
Type Hierarchy
Type-based filtering Dewan
290-F99
37
Notes Mail
By Category Category 1 2/24/99 Main message 1 (John Smith, responses) 2/25/99 Response 1 (Mary Lowe, 1 response) 2/26/96 Response 2 (Joe Doe) Category 2 2/24/96 Main message 2 (Mary Lowe, 1 response) By Author Doe, Joe 1. 2/26/99 Response 2 (re. Main message 1) Lowe, Mary 1. 2/24/99 Main message 2 2. 2/26/96 Response 2 (Joe Doe) Dewan
290-F99
38
Coordinator: Structured Conversation
Customer
Request (response, completion, alert dates) Acknowledge Agree Interim-Report/Cancel/New-Promise
Producer
Report-Completion Satisfaction Automation of form fields alerts, reminders status information
Request Customer Satisfaction
Dewan
290-F99
Agree Producer Complete 39
Action Workflow Schedule Interview Status By Candidate Workflow Step
2 1
Director 10
4 Manage Review
5
7 6 8
Manager
Manager
Declare Assessment Dewan
3 Manager
9 Director
Manager
Director
Technical Directors
Submit Evaluation Form 290-F99
40
ATOMICMAIL: Computational Mail Data
Program
display/animate graphics gather data and mail
Lisp-based PL Single Directory Accessed File Creation Limited Mail Messages Limited
Mail Receiver
Dewan
290-F99
41
6.1.15.
File++
• Talk++ • Mail++ • File++ • Talk + Mail • Talk + File • Mail + File • Talk + Mail + File Dewan
290-F99
42
Quilt: Writeable Typed Hypermedia Artifact = Document + Colab. Info.
Document
Revisions Suggestions Public comments Private messages Other
Logging Machine Level (Insert-Char) User-Level (Reorganized Section 2) Roles Reader < Commenter < Co-Author Dewan
290-F99
Creation time
Creator
Triggers Alert significant changes Colab Styles Author modifies owned section Co-author modifies all Designated editor modifies all 43
PREP: Zero-Cost Hyperlinks Main text
Alice’s comments
Benu’s comments
Chou’s comments
Para 1
Para 2
Dewan
290-F99
44
IBIS: Structured Issue Resolution *I: Which processor should be used ?P: Processor A AS: Fast *P: Processor B AS: Cheap, already in use -P: Processor C AS: Cheap & fast AO: Will not be available in time
Resolved issue Unresolved position Argument Supporting Current position Rejected position Argument objecting
Artifact = Colab. Info. Dewan
290-F99
45
6.1.19. CLARE: Structured Discussion + Process Model
RESRA (Representation Schema of Research Artifacts) Figure originally appears in [39] Dewan
290-F99
46
CLARE: Structured Discussion + Process Model
SECAI (Summarization, Evaluation, Comparison, Argumentation) Figure originally appears in [39] Dewan
290-F99
47
6.1.20.
Talk + File
• Talk++ • Mail++ • File++ • Talk + File • Talk + Mail • Mail + File • Talk + Mail + File Dewan
290-F99
48
RTCAL: Real-Time Artifact Sharing Topic, Participants Chair, Controller
Topic, Participants Chair, Controller
Proposal: 10am Vote: Yes
Proposal: 10am Vote: No
Public Appts
Awareness
Public Appts
Private Appts Public Appts Application Commands
Public Appts Application Commands
Regular User Dewan
Conference Control Commands Chair
290-F99
join, leave get floor, release floor, terminate 49
GROVE: Access-Controlled Views Fine-grained Access Control
User and State Awareness No Concurrency Control Incremental Sharing Independent Scrolling
public, shared, private read, write rights
Outline Title 1. Readable and writeable item 1.1 Also readable and writeable *.Shared readable and writeable * .* Shared readable
User 2
Dewan
User 3
User 1
User 4
Outline Title 1.Readable and writeable item 1.1 Also readable and writeable 1.2 Another public item *.* Different shared item User 1
290-F99
User 3
User 2
User 4
50
CES: Delayed Commitment & Tickle Locks Sharing of Committed Results Implicit Commit Del/CR
Text Node Owner User 1
Version Stack
Text Node Owner User 2 Host 2
Host 1
Dewan
Tickle Locks
Central Host Document Root
290-F99
51
GroupDraw: Virtual Gestures & Optimistic Locks Coupled Graphical Objects Uncoupled Scrollbars & Palettes Multiuser Scrollbar & Gestalt Viewer
Optimistic Locking Implicit Locking/Unlocking Fine-grained CC & AC
User 1
User 2
Dewan
290-F99
52
Pebbles: Single-Display Groupware
* +
Dewan
290-F99
53
6.1.25. Clearboard: Face to face Awareness
Figure available from http://ishii.www.media.mit.edu/people/ishii/CB.html.
Dewan
290-F99
54
Clearboard: Architecture
Figure first appeared in [26] Dewan
290-F99
55
TeamWorkstation: Integrated Desktop & Computer Awareness
Figure available at http://ishii.www.media.mit.edu/people/ishii/TWS.html Dewan
290-F99
56
TELE-SCREEN
Editing paper xxxx yyyyy
Dewan
290-F99
57
TELE-DESK
Editing paper xxxx yyyyy
Dewan
290-F99
58
SCREEN-OVERLAY
Editing paper xxxx yyyyy
Dewan
290-F99
59
DESK-OVERLAY
Editing paper xxxx yyyyy
Dewan
290-F99
60
SCREEN & DESK-OVERLAY
Editing paper xxxx yyyyy
Dewan
290-F99
61
COMPUTER-SHARING
Editing paper xxxx yyyyy
Dewan
290-F99
62
6.1.27.
Talk + Mail
• Talk++ • Mail++ • File++ • Talk + File • Talk + Mail • Mail + File • Talk + Mail + File Dewan
290-F99
63
6.1.28.
Mail + File
• Talk++ • Mail++ • File++ • Talk + Mail • Talk + File • Mail + File • Talk + Mail + File Dewan
290-F99
64
News: Shared Mailboxes User 1
Message 1
User 2
Message 2 Send
User 1 User 2 Receive User N
User N Message M
Dewan
290-F99
65
News: Scaleable Architecture News Server News Client
read news post news News Client
News Server
eventual delivery of immutable messages
Dewan
News Server
News Server
290-F99
exchange news
News Client
66
Message/News Filtering • Agent-based – – – – – – – – Dewan
• Rating-based
Newsgroup Discussion Thread Urgent Message Sender Cost Strings in Messages Message Length Spell Checking Included Messages 290-F99
– Moderator – Known Reviewers – Anonymous Reviewers
67
6.1.31. Group Lens: Aggregate-based Filtering • Multiple (arbitrary) people rate message • Rating combined into one aggregate number specific to reader • Correlation coefficient - CAB: Sum (i = 1 to n) ((Ai - Amean)* (Bi - Bmean)) --------------------------------------------Sqrt ( (Sum (i = 1 to n) (Ai - Amean)**2) * Sum (i = 1 to n) (Bi - Bmean)**2))
• Given set S of rating users, aggregate: Sum (i = 1 to n) (Bi - Bmean)*CABi) -------------------------------------Sum (I = 1 to n) CABi
Dewan
+ Amean
290-F99
68
Group Lens News Server
read news
post news read news
Filterbot (Rating Agent)
post rating read rating send rating
Modified News News Client Client
Dewan
send rating get rating
290-F99
Better Bit Bureau
69
Evaluating Aggregation-based Filtering • Coverage – Measures % of time predications are available
• Statistical Accuracy – Measures how computed rating deviates from actual rating – Disproportionately higher weight to large deviation
• Decision Support Accuracy – Probability random “good” item rejected by system – Probablility random “bad” item accepted by system
Dewan
290-F99
70
Experiments Coverage, Decision Making Accuracy No Filterbot
Spell
general
40, 69
43, 67 46, 70
44, 67
perl.misc
7, 65
42, 74 13, 64
13, 68
linux.announce
14, 66
46, 68 20, 61
48, 70
food.recipes
22, 61
71, 66 27, 66
42, 56
rec.humor
15, 46
50, 80 50, 72
16, 71
Dewan
290-F99
Include
Length
71
Mercury: Automatic Asynchronous Error Notification module A
Module B
export T
import T
type T = char String
v: T = ‘a’
Edit T
Buffered Notifications
User 1
Dewan
290-F99
Asynchronous Error notification User 2
72
GroupDesk: Automatic Customizable Awareness Notification Relation Classes Similar-to Version-of
Object Classes
Object can can raise establish Document
Relations: Owner Events: Modification Interested Users: Alice, Benu Dewan
290-F99
Event Classes Modification Comment Added
Interest Context
73
6.1.34.
Talk + Mail + File
• Talk++ • Mail++ • File++ • Talk + Mail • Talk + File • Mail + File • Talk + Mail + File
Dewan
290-F99
74
6.1.35. IRI: Distance Learning Environment
Figure available at http://www.cs.odu.edu/~tele/iri. Dewan
290-F99
75