Dewan 290-F99 1
Collaborative Applications Prasun Dewan Department of Computer - - PowerPoint PPT Presentation
Collaborative Applications Prasun Dewan Department of Computer - - PowerPoint PPT Presentation
Collaborative Applications Prasun Dewan Department of Computer Science University of North Carolina CB 3175 Sitterson Hall Chapel Hill, NC 27599-3175 dewan@cs.unc.edu http:/www.cs.unc.edu/~dewan Dewan 290-F99 1 5.1. DEFINITION OF A
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 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 3
Definition
User 1 User 2 Coupling 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 2 User 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, 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 10
- 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?
Issues: Semantics (Contd.)
Dewan 290-F99 11
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
- bjects?
- 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 12
- 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?
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 Virtual
Environment)
- 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 Mail send User 2 receive Talk hi hello User 2 User 1 User 1 hi hello Implicit Comm. Artifact-based Polling Asynchronous Explicit Comm. Private Messages Auto Notification Asynchronous Implicit Comm. Session-based Auto Notification Synchronous
Dewan 290-F99 20
Implicit & Explicit Comm. Artifact-based Session-based Synchronous & Asynchronous Session-based Explicit Messages Artifact-based Private Messages Implicit Comm. Artifact-based Session-based Synchronous
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
Mary John
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 Screen & Speaker Camera & Microphone Room 1 Room 2 Screen & Speaker
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 Mail
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) 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)
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 of form fields alerts, reminders status 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 4 3 Director Manager Declare Assessment 9 8 10 7 Manager Technical Directors Submit Evaluation Form 5 6
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 Logging Machine Level (Insert-Char) User-Level (Reorganized Section 2) Roles Reader < Commenter < Co-Author Triggers Alert significant changes Colab Styles Author modifies owned section Co-author modifies all Designated editor modifies all
Artifact = Document +
- Colab. Info.
Dewan 290-F99 44
PREP: Zero-Cost Hyperlinks
Main text Alice’s comments Benu’s comments Chou’s comments 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 & 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 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: 10am Vote: Yes Proposal: 10am Vote: 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 Title 1.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 Scrolling Incremental Sharing No Concurrency Control User 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/Unlocking Optimistic Locking Fine-grained CC & AC Uncoupled Scrollbars & Palettes Coupled 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 paper xxxx yyyyy
TELE-SCREEN
Dewan 290-F99 58
Editing paper xxxx yyyyy
TELE-DESK
Dewan 290-F99 59
Editing paper xxxx yyyyy
SCREEN-OVERLAY
Dewan 290-F99 60
Editing paper xxxx yyyyy
DESK-OVERLAY
Dewan 290-F99 61
SCREEN & DESK-OVERLAY
Editing paper xxxx yyyyy
Dewan 290-F99 62
Editing paper xxxx 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 news News 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
No Filterbot 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.