Dewan 290-F99 1
Collaborative Applications
Prasun Dewan
Department of Computer ScienceUniversity of North CarolinaCB 3175 Sitterson HallChapel Hill, NC 27599-3175
[email protected]:/www.cs.unc.edu/~dewan
Dewan 290-F99 2
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 toshared environment
Peter & Johnson-Lenz: computer-mediated culture, intentional group processesplus supporting software
Johansen: specialized computer aids for collaborative work groups
Winograd: state of mind
Dewan 290-F99 3
Definition
User 1 User 2Coupling
Potentially Real-Time
I/O I/O
Collaborative
Application
Dewan 290-F99 4
Traditional Collaborative Applications
File
save
User 1 User 2
load
Mail Talk
send
User 2
receive
User 1
hi
hello
User 2User 1
hi
hello
Dewan 290-F99 5
Views of Collaboration Systems
Problems
Issues
Disciplines
Systems: Applications and Infrastructures
Dewan 290-F99 6
Business Management
National Collaboratory
Engineering/Design
Software Engineering
Writing
Education
Medicine
Air Traffic Control
Command and Control
Games/Casual Interaction
Any complex task!
Problems: Application Areas
Dewan 290-F99 7
Problems: Generic Tasks
Design
Implementation
Inspection/Review
Consulting
Dewan 290-F99 8
Views of Collaboration Systems
Problems
Issues
Disciplines
Systems: Applications and Infrastructures
Dewan 290-F99 9
Issues: Semantics
Session Management: How do distributed users create, destroy, join, andleave collaborative sessions?
Single-User Interface: What are the application semantics if there is a singleuser in the session?
Coupling: what feedback does a user receive in response to the input ofanother user?
Access Control: How do we ensure that users do not execute unauthorizedcommands?
Concurrency Control: How do we ensure that concurrent users do not enterinconsistent commands?
Dewan 290-F99 10
Process Control: How do we ensure that users follow prescribed groupprocesses?
Merging: How do we merge concurrent commands entered by differentusers?
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 theircollaborator?
Issues: Semantics (Contd.)
Dewan 290-F99 11
Issues: Implementation
Objects: What kind of objects are used to program a collaborativeapplication?
Collaboration Awareness: Which of these objects are collaboration awareand how are these objects integrated with existing, collaboration-unawareobjects?
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 addressspaces and hosts?
Dewan 290-F99 12
Replication/Migration: Which of these objects are centralized and whichare replicated? Which of the centralized objects can migrate?
Real-Time Support: What kind of services are provided to ensure real-timeinteraction with tolerable jitter and latency?
Issues: Implementation (Contd.)
Dewan 290-F99 13
Views of Collaboration Systems
Problems
Issues
Disciplines
Systems: Applications and Infrastructures
Dewan 290-F99 14
Computer Science Disciplines
Operating Systems
Database Management Systems
Programming Languages
User Interface Systems
Software Engineering
Dewan 290-F99 15
Views of Collaboration Systems
Problems
Issues
Disciplines
Systems: Applications and Infrastructures
Dewan 290-F99 16
MUDs (Multiuser Dungeons)
DIVE (Distributed Interactive VirtualEnvironment)
Video Walls
Media Space
Hydra
MAJIC (Multi-Attendant Joint Inteface for Collaboration)
GestureCam
Shasthtra
Information Lens
Coordinator
Action Workflow
Computational Mail
Quilt
PREP
IBIS
CLARE
RTCAL (Real-Time Calendar)
Systems: Applications
Dewan 290-F99 17
Applications (Contd)
GROVE (Group Outline Viewing Editor)
CES (Collaborative Editing System)
GroupDraw
ClearBoard
TeamWorkstation
GroupLens
IRI
Dewan 290-F99 18
File Systems
DBMS
Lotus Notes
Coda
IPC
ISIS
Xerox's Colab
XTV, NetMeeting
Suite
Web
Rendevous
GroupKit
TeamWorkstation
Weasel, Clock
Systems: Infrastructures
Dewan 290-F99 19
Traditional Collaborative Applications File
save
User 1 User 2
load
send
User 2
receive
Talk
hi
hello
User 2User 1 User 1
hi
hello
Implicit Comm.Artifact-based
PollingAsynchronous
Explicit Comm.Private Messages
Auto NotificationAsynchronous
Implicit Comm.Session-based
Auto NotificationSynchronous
Dewan 290-F99 20
Implicit & Explicit Comm.Artifact-basedSession-basedSynchronous & Asynchronous
Session-based Explicit Messages
Artifact-basedPrivate Messages
Implicit Comm.Artifact-basedSession-basedSynchronous
Novel Collaborative Applications File++ Mail++ Talk++
File + Mail Talk + Mail
File + Mail + Talk
Talk + File
Dewan 290-F99 21
Talk++
Talk++
Mail++
File++
Talk + Mail
Talk + File
Mail + File
Talk + Mail + File
Dewan 290-F99 22
MaryJohn
MUDs: Textual Virtual Reality
Say Hi everyone
Emote smiles
Whisper “Boring” to Joe
You whisper, “Boring” to Joe
@who
Name Connect Idle Time Time
John has entered the room (hear footsteps)
You say, “Hi everyone” John says, “Hi everyone”
You smile John smiles
Look John
Move John to public place
Change John’s description
John’s textual description
Disallow John whisper
Disallow John from this room
(Wizard)
Dewan 290-F99 23
Video Walls: Video-based Virtual Reality
Camera & Microphone
Scr
een
& S
peak
er Camera & Microphone
Room 1 Room 2
Scr
een
& S
peak
er
Dewan 290-F99 24
Media Space
Room 2 Room 4
Map
Dewan 290-F99 25
Hydra: Gaze Awareness
Figure originally appears in [5].
Dewan 290-F99 26
6.1.7. MAJIC: Real-Life with Seamless User Boundaries
Figure originally appears in [36]
Dewan 290-F99 27
Session
DIVE: Navigation- based VR
Application
User 2
User 1
User 3
User 4
Aura
Supports Unintended Collaboration
Non intrusive
Dewan 290-F99 28
Hallway Model
Dewan 290-F99 29
Gesture Cam: Remote Surrogate
Figure originally appears in [30]
Dewan 290-F99 30
Gesture Cam: Architecture
Figure Originally appears in [30]
Dewan 290-F99 31
Colab. PsyBench
Dewan 290-F99 32
PSyBench
Psybench.gif
Dewan 290-F99 33
Psy Bench Architecture
Dewan 290-F99 34
In Touch
Dewan 290-F99 35
In Touch Architecture
Dewan 290-F99 36
6.1.9. Mail++
Talk++
Mail++
File++
Talk + Mail
Talk + File
Mail + File
Talk + Mail + File
Dewan 290-F99 37
Information Lens: Typed Messages
Subject: ….
Type: Exam Change Notice
Semi-structured typed messages
Messages
Notices Requests
Room Change Notice
Exam Change Notice
Exam Change Request
Class Absence Request
Type Hierarchy
Joe Absence
14 Exam Change
Type-based filtering
Notices
Dewan 290-F99 38
Notes MailCategory 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 22/24/96 Main message 2 (Mary Lowe, 1 response)
Doe, Joe 1. 2/26/99 Response 2 (re. Main message 1)
Lowe, Mary1. 2/24/99 Main message 2 2. 2/26/96 Response 2 (Joe Doe)
By Category
By Author
Dewan 290-F99 39
Coordinator: Structured Conversation
Customer Producer
Request (response, completion, alert dates)
Acknowledge
Agree
Interim-Report/Cancel/New-Promise
Report-Completion
Satisfaction
Automation ofform fieldsalerts, remindersstatus information
Customer Producer
Request Agree
Satisfaction Complete
Dewan 290-F99 40
Action Workflow
Status By Candidate Workflow Step
Manage Review
Director Manager
Director Manager
2
Schedule Interview
1 43
Director Manager
Declare Assessment
98
10 7
Manager Technical Directors
Submit Evaluation Form
56
Dewan 290-F99 41
ATOMICMAIL: Computational Mail
Data Program
Mail Receiver
display/animate graphics gather data and mail
Lisp-based PL Single Directory Accessed File Creation Limited Mail Messages Limited
Dewan 290-F99 42
6.1.15. File++
Talk++
Mail++
File++
Talk + Mail
Talk + File
Mail + File
Talk + Mail + File
Dewan 290-F99 43
Quilt: Writeable Typed Hypermedia
Revisions Suggestions Public comments Private messages Other
Document
Creation time
Creator
LoggingMachine Level (Insert-Char) User-Level (Reorganized Section 2)
RolesReader < Commenter < Co-Author
TriggersAlert significant changes
Colab StylesAuthor modifies owned section Co-author modifies all Designated editor modifies all
Artifact = Document + Colab. Info.
Dewan 290-F99 44
PREP: Zero-Cost HyperlinksMain text Alice’s
commentsBenu’scomments
Chou’scomments
Para 1
Para 2
Dewan 290-F99 45
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 & fastAO: Will not be available in time
Resolved issue Unresolved position Argument Supporting Current position
Rejected position
Argument objecting
Artifact = Colab. Info.
Dewan 290-F99 46
6.1.19. CLARE: Structured Discussion + Process Model
RESRA (Representation Schema of Research Artifacts)Figure originally appears in [39]
Dewan 290-F99 47
CLARE: Structured Discussion + Process Model
SECAI (Summarization, Evaluation, Comparison, Argumentation)
Figure originally appears in [39]
Dewan 290-F99 48
6.1.20. Talk + File
Talk++
Mail++
File++
Talk + File
Talk + Mail
Mail + File
Talk + Mail + File
Dewan 290-F99 49
RTCAL: Real-Time Artifact Sharing
Application Commands
Regular User Chair
Conference Control Commands
join, leave get floor, release floor, terminate
Application Commands
Proposal: 10amVote: Yes
Proposal: 10amVote: No
Public Appts
Private Appts
Public Appts
Public Appts
Public Appts
Topic, Participants Chair, Controller
Topic, Participants Chair, Controller
Awareness
Dewan 290-F99 50
GROVE: Access-Controlled Views
Outline Title 1. Readable and writeable item 1.1 Also readable and writeable *.Shared readable and writeable * .* Shared readable
User 2 User 3 User 4
Outline Title1.Readable and writeable item 1.1 Also readable and writeable 1.2 Another public item
*.* Different shared item
User 1 User 3 User 4
User 1 User 2
Independent ScrollingIncremental SharingNo Concurrency ControlUser and State Awareness Fine-grained Access Control
public, shared, private
read, write rights
Dewan 290-F99 51
Central Host
Host 1 Host 2
CES: Delayed Commitment & Tickle Locks
Document Root
Text Node Owner User 1
Text Node Owner User 2
Sharing of Committed Results
Implicit Commit Del/CR
Tickle Locks
Version Stack
Dewan 290-F99 52
GroupDraw: Virtual Gestures & Optimistic Locks
User 2
Implicit Locking/UnlockingOptimistic Locking
Fine-grained CC & ACUncoupled Scrollbars & PalettesCoupled Graphical Objects
User 1
Multiuser Scrollbar & Gestalt Viewer
Dewan 290-F99 53
Pebbles: Single-Display Groupware
*
+
Dewan 290-F99 54
6.1.25. Clearboard: Face to face Awareness
Figure available from http://ishii.www.media.mit.edu/people/ishii/CB.html.
Dewan 290-F99 55
Clearboard: Architecture
Figure first appeared in [26]
Dewan 290-F99 56
TeamWorkstation: Integrated Desktop & Computer Awareness
Figure available at http://ishii.www.media.mit.edu/people/ishii/TWS.html
Dewan 290-F99 57
Editing paperxxxx yyyyy
TELE-SCREEN
Dewan 290-F99 58
Editing paperxxxx yyyyy
TELE-DESK
Dewan 290-F99 59
Editing paperxxxx yyyyy
SCREEN-OVERLAY
Dewan 290-F99 60
Editing paperxxxx yyyyy
DESK-OVERLAY
Dewan 290-F99 61
SCREEN & DESK-OVERLAY
Editing paperxxxx yyyyy
Dewan 290-F99 62
Editing paperxxxx yyyyy
COMPUTER-SHARING
Dewan 290-F99 63
6.1.27. Talk + Mail
Talk++
Mail++
File++
Talk + File
Talk + Mail
Mail + File
Talk + Mail + File
Dewan 290-F99 64
6.1.28. Mail + File
Talk++
Mail++
File++
Talk + Mail
Talk + File
Mail + File
Talk + Mail + File
Dewan 290-F99 65
Message M
Message 1
Message 2
News: Shared Mailboxes
Send Receive
User 2 User 2
User 1
User N
User 1
User N
Dewan 290-F99 66
News: Scaleable Architecture
News Client
News Client
News Client
eventual delivery of immutable messages
post newsNews Server
News Server
News Server
News Server
exchange news
read news
Dewan 290-F99 67
Message/News Filtering
• Agent-based– Newsgroup– Discussion Thread– Urgent Message– Sender Cost– Strings in Messages– Message Length– Spell Checking– Included Messages
• Rating-based– Moderator– Known Reviewers– Anonymous
Reviewers
Dewan 290-F99 68
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) -------------------------------------- + Amean Sum (I = 1 to n) CABi
Dewan 290-F99 69
Group Lens
News Client
News Server
post news read news
Better Bit Bureau
send rating
post rating
Modified News Client get rating
read rating
Filterbot (Rating Agent)
read news
send rating
Dewan 290-F99 70
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 71
Experiments
NoFilterbot
Spell Include Length
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
Coverage, Decision Making Accuracy
Dewan 290-F99 72
Mercury: Automatic Asynchronous Error Notification
module A
export T
type T = char
User 1
Module B
import T
v: T = ‘a’
User 2
Edit T Asynchronous Error notification
Buffered Notifications
module A
export T
type T = String
Dewan 290-F99 73
GroupDesk: Automatic Customizable Awareness Notification
Relations: Owner Events: Modification Interested Users: Alice, Benu
Relation Classes Object Classes Event Classes
Similar-to
Document
Modification
Version-of
Object
Comment Added
can establish can raise
Interest Context
Dewan 290-F99 74
6.1.34. Talk + Mail + File
Talk++
Mail++
File++
Talk + Mail
Talk + File
Mail + File
Talk + Mail + File
Dewan 290-F99 75
6.1.35. IRI: Distance Learning Environment
Figure available at http://www.cs.odu.edu/~tele/iri.