Collaborative Applications

0 downloads 0 Views 961KB Size Report
File save. User 1. User 2 load. Mail. Talk send. User 2 receive. User 1 hi hello. User 2. User 1 hi hello .... John says, “Hi everyone”. You smile. John smiles.
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