155
Dewan 1 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

Collaborative Applications

  • Upload
    jabari

  • View
    24

  • Download
    0

Embed Size (px)

DESCRIPTION

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. Definition. Collaborative Application. I/O. I/O. Coupling. User 2. User 1. - PowerPoint PPT Presentation

Citation preview

Page 1: Collaborative Applications

Dewan 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

Page 2: Collaborative Applications

Dewan 2

Definition

User 1 User 2Coupling

Potentially Real-Time

I/O I/O

Collaborative

Application

Page 3: Collaborative Applications

Dewan 3

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

Page 4: Collaborative Applications

Dewan 4

Traditional Collaborative Applications File

save

User 1 User 2

load

Mail

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

Page 5: Collaborative Applications

Dewan 5

Novel Collaborative Applications

Implicit & Explicit Comm.Artifact-basedSession-basedSynchronous & Asynchronous

Session-based Explicit Messages

Artifact-basedPrivate Messages

Implicit Comm.Artifact-basedSession-basedSynchronous

File++ Mail++ Talk++

File + Mail Talk + Mail

File + Mail + Talk

Talk + File

Page 6: Collaborative Applications

Dewan 6

Talk++• Talk++• Mail++• File++• Talk + Mail• Talk + File• Mail + File• Talk + Mail + File

Page 7: Collaborative Applications

Dewan 7

Talk Screen Division

• Screen gets divided among two users.

• Each portion shows history of user’s input.

• Each user’s input seen incrementally.

• N-Users?

Page 8: Collaborative Applications

Dewan 8

Semi-Synchronous N-User Talk

• A single history shared by all users

• User’s input not seen incrementally.

• Concurrent unseen typing can lead to history misinterpretation

• User does not know if newly shown text was entered concurrently

Page 9: Collaborative Applications

Dewan 9

Horizontal Time Line

• Long conversations will not fit.

• Incremental input of users in other threads of conversations distracting

Horizontal time line in Flow Chat (Vronay, Smith et al. 99),

• Users see concurrent input.

• Time line of committed text for third party

• Textless box created for uncommitted text

Page 10: Collaborative Applications

Dewan 10

Vertical Time Line

• Comic-book metaphor

• Incremental input not shown – empty balloon created

• Does not work for large # usersVertical time line in Freeway (Vronay 2002)

Page 11: Collaborative Applications

Dewan 11

Threaded Chat

• Scales to large # users & supports long conversations

• New message response to clicked message.

• Incremental input not shown, but empty box created

• Chronological order not shown

• New items gradually fade to grey.

• Fewer messages, balanced participation, but users less comfortable and same task performance.

• Overhead of responding to message?

• Associate default thread with message

• Structure? Threaded Chat (Smith, Cadiz et al. 2000)

Page 12: Collaborative Applications

Dewan 12

Babble Persistent Sessions and Involvement Degree

• User List

• Involvement Degree

• Topic List

• Current messages

dewan

wu

omojokun

sherman

CSCW Demo

Faculty Retreat

Comp 14

From: PD

Is the grading sheet ready

From: Omojokun

About to post it.

Bradner et al ‘99

• Persistent sessions

• Social topics synchronous

• Work topics asynchronous

Page 13: Collaborative Applications

Dewan 13

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)

Make John a wizard

Page 14: Collaborative Applications

Dewan 14

Line of Site Graphical VR• MUD place

represented as 3-D space

• Users represented as avatars in 3-D space.

• Line of site communication

• Move avatars close to users of interest.

• Can express emotions

Avatars in V-Chat (Smith, Farnham et al. 2000)

Page 15: Collaborative Applications

Dewan 15

Session

DIVE: Aura-based Graphical VR

Application

User 2

User 1

User 3

User 4

Aura

• Avatar interaction

• With another user enables communication

• With app enables sharing.

• Transitive

• Multiple auras

• Podium - perception and communication. Determine whether can speak into/hear the speaker.

• Table – perception and distribution. Determine if distributed document is shared or private.

Fahlen, Stahl et al ‘93

Page 16: Collaborative Applications

Dewan 16

MASSIVE: Aura and Nimbus

• Speaker’s aura must intersect listener’s nimbus

• User 2 can hear User 1

User 1User 2

AuraNimbus

Greenhalgh & Benford 95

Page 17: Collaborative Applications

Dewan 17

MASSIVE: Aura and Nimbus

• Speaker’s aura must intersect listener’s nimbus

• User 1cannot hear user 2

User 1User 2

AuraNimbus

Greenhalgh & Benford 95

Page 18: Collaborative Applications

Dewan 18

Elvin CofeeBiff: Textual Remote VR

# of people in coffee room

Scrolling user list.

Can get notified when # > threshold (party!)

Page 19: Collaborative Applications

Dewan 19

Video Walls: Video-based Remote VR

Camera & Microphone

Scr

een

& S

peak

er Camera & Microphone

Room 1 Room 2

Scr

een

& S

peak

er

Page 20: Collaborative Applications

Dewan 20

Two Remote Rooms

• Goal: spontaneous collaboration

• See CNN to attract attention

• Moderately useful

• N rooms?

Display of two remote kitchens, local image, and video to attract attention (Jancke, Venolia et al. 2001)

Page 21: Collaborative Applications

Dewan 21

Media Space

Room 2 Room 4

Map

• Selecting a room starts video conference with user

• Can be abrupt

Page 22: Collaborative Applications

Dewan 22

Office Walker

Interaction Model (Obata, Sazaki 98)

• Each office has virtual neighbors

• Clicking on office places caller in virtual hallway

• Neighbors can see small image.

• User can approach to create bigger image.

• Office worker, neighbors, visitors and initiate talk.

Page 23: Collaborative Applications

Dewan 23

Two Remote Rooms

• Media space/Office Walker intended for 1-1

• Connected Kitchens can be used for 1-N

• Speaker focus?Display of two remote kitchens, local image, and video to attract attention (Jancke, Venolia et al. 2001)

Page 24: Collaborative Applications

Dewan 24

Overview + Speaker• Omni-directional set of

cameras to create overview image.

• Shot of current speaker sent separately.

• Speaker can be selected manually by buttons.

• Auto detection– Speaker’s voice

received by his microphone first.

– Audio triangulation can be used when each speaker does not have microphone.

• Custom zooming?– on non speaker or

speaker?

Overview, speaker and persons selection buttons (Rui, Gupta et al. 2001)

Page 25: Collaborative Applications

Dewan 25

3-D Telepresence

• Multiple cameras used to create 3-D Model of Room

• Remote site can navigate in this model– With or without

tracking

– Can focus on speaking person

– Or patient!UNC Office of the Future

Page 26: Collaborative Applications

Dewan 26

Gesture Cam: Remote Surrogate

• Can determine which objects to look at– As in office of the future

• Can point to specific objects– As in Clearboard

Figure originally appears in [30]

Page 27: Collaborative Applications

Dewan 27

Gesture Cam: Architecture

Figure Originally appears in [30]

Page 28: Collaborative Applications

Dewan 28

Colab. PsyBench

Page 29: Collaborative Applications

Dewan 29

PsyBench

Psybench.gif

Page 30: Collaborative Applications

Dewan 30

Psy Bench Architecture

Page 31: Collaborative Applications

Dewan 31

In Touch

Page 32: Collaborative Applications

Dewan 32

In Touch Architecture

Page 33: Collaborative Applications

Dewan 33

Merging Graphical VR and TelePresence?

Page 34: Collaborative Applications

Dewan 34

Mixed reality: Internet Foyer

• Physical Foyer– Public visiting place

• Virtual foyer– 3-D image

visualization of web pages with avatars

– Clicking on page opens the page shows 2-d images of people browsing it.

• Mixed reality– Physical foyer has

video wall to 3-D visualization and avatars

– Virtual foyer has video of physical foyer

Benford ‘95

Page 35: Collaborative Applications

Dewan 35

TELEP: Presentation to large # users

 

Display at lecture (left) and remote site (right) (Jancke, Grudin et al. 2000)

Speaker video

Slide Video

Lecture Site Remote Site

Video PictureText

Descrip.

Question & Vote Status

Text Comm.

Scrollable remote

audience view• Questions seldom

asked

• Local audience not seen remotely

Page 36: Collaborative Applications

Dewan 36

Video Production Lecture• Same screen for

lecture and audience view

• Switch to speaking audience member as soon as tracked

• If no one tracked, show overview

• If lecturer speaking, occasionally show random audience member

• A shot should be shown for a max and min time.

• Always show person from the same side.

• Two consecutive shots should be very different

 Figure 4: Cameras and their placement (Liu, Rui et al. 2001)

Page 37: Collaborative Applications

Dewan 37

Video vs. App. Sharing

• Screen shot can be shared through video broadcast or app sharing

• App sharing cheaper, with better fidelity.

• Allows collaborative input.– E.g. multiple presenters

• Integrating with video for non-computer objects?

Page 38: Collaborative Applications

Dewan 38

TeamWorkstation: Integrated Desktop & Computer Awareness

• Each user has personal and shared computer

• Shared computer can provide various overlays

(Ishii 90)

Page 39: Collaborative Applications

Dewan 39

Editing paperxxxx yyyyy

TELE-SCREEN

Page 40: Collaborative Applications

Dewan 40

Editing paperxxxx yyyyy

TELE-DESK

Page 41: Collaborative Applications

Dewan 41

Editing paperxxxx yyyyy

SCREEN-OVERLAY

Page 42: Collaborative Applications

Dewan 42

Editing paperxxxx yyyyy

DESK-OVERLAY

Page 43: Collaborative Applications

Dewan 43

Editing paperxxxx yyyyy

SCREEN & DESK OVERLAY

Page 44: Collaborative Applications

Dewan 44

Editing paperxxxx yyyyy

COMPUTER SHARING

• Computer shared by capturing and distributing video to the monitor

• Keystrokes also captured and distributed by hardware.

• Everything overlaid is video

• No software needed

Page 45: Collaborative Applications

Dewan 45

SUMMARY OF MODES

(Ishii 90)

Page 46: Collaborative Applications

Dewan 46

Awareness of Collaborator

• Must look away from work area to see collaborators’ image.

• Do not know what object the collaborator is gazing at.

• Overlay Video?

Page 47: Collaborative Applications

Dewan 47

Clearboard: Collaborator Awareness

Figure available from http://ishii.www.media.mit.edu/people/ishii/CB.html.

Page 48: Collaborative Applications

Dewan 48

Clearboard: Architecture

Figure first appeared in [26]

• Mirror image transmitted when LCD screen in transparent mode.

• Video projected when in scattering mode.

• Digitizer pen used to track user input.

Page 49: Collaborative Applications

Dewan 49

Clearboard: Drafter Mirror

Figure first appeared in [26]

• Coupling two non electronic whiteboards.

• Half-slivered mirror

• Fluorescent marker

• See two hand images

• One captured directly

• One reflected

• Polarized film and filter on each camera prevents feedback between screen pairs

Page 50: Collaborative Applications

Dewan 50

Two Gaze Awareness Problem

• Object of interest: Do we know what object on the screen the collaborator is looking at. – Clearboard and Facetop address this.

• Person of interest: Do we know which one of many collaborators a person is addressing– Hydra, MAJIC address this

Page 51: Collaborative Applications

Dewan 51

Hydra: Gaze Awareness

Figure originally appears in [5].

• Images too small to give good user experience

Page 52: Collaborative Applications

Dewan 52

MAJIC: Real-Life with Seamless User Boundaries

Figure originally appears in [36]

• Similar idea in office of the future

– From talking head to large (projected images)

– Gives more of a feeling of being there

– Solving different problems

Page 53: Collaborative Applications

Dewan 53

Talk: Being there vs. beyond• Being there

– “Real-time” communication

– Peripheral awareness• Footsteps, hallway

– Moods

– Aura

– Nimbus

– Video

– Remote view control

– Remote pointing

– Haptics

– Human access control

– Podium, sharing documents in a table

• Beyond being there– Teleporting to room

– Whispering not noticed by those not included

– Aura and nimbus customizable

– Anonymity, Presence Control

– Multitasking

– Involvement degree and conversation status

– Talk history

– Threads & structuring conversations

– Computer controls

– Asynchronous collaboration

Page 54: Collaborative Applications

Dewan 54

Anonymity

• In theory participants can be more bold• In an experiment perceived status did no harm

(Davis, Zaner 2002)

Page 55: Collaborative Applications

Dewan 55

Presence Control

• Presence– Location

– In-use computers

– Activities• Computer and other

• TELEP Presence Options– Video, photo, text

• Users liked not sending video

• Collaborator is often required to poll for presence in meeting (Mark, Grudin ’99)

• Moral: give control

Page 56: Collaborative Applications

Dewan 56

Multitasking

• Reduced commitment to meeting and less engaged (Mark, Grudin et al. 99).

• But may be willing to attend more meetings!– TELEP: Teachers more willing to cover elementary

stuff knowing advanced students can tune out (S. A. White, A. Gupta et al. 2000)

Page 57: Collaborative Applications

Dewan 57

Meeting video browsing

Pause removal: Toggles between the selection of the pause-removed video and the original video.

Time compression: Allows the adjustment of playback speed from 50% to 250% in 10% increments. 100% is normal speed.

Duration: Displays the length of the video taking into account the combined setting of Pause-removal and Time compression controls.

Timeline zoom: Zoom in and zoom out.

Personal notes button: Opens separate dialog with user-generated personal notes index. Contains "seek" feature allowing user to seek to the points in video. Notes index entries also indicated on Timeline seek bar.

Elapsed time indicator

Timeline Markers: Indicate placement of entries for TOC, shot boundaries, and personal notes.

Jump back/next controls: Seek video backward or forward by fixed increments or to the prev/next entry in an index. Jump intervals are selected from drop-down list (shown below) activated by clicking down-pointing arrows. List varies based on indices available.

Basic Controls: Play, pause, fast-forward, timeline seek bar with thumb, skip-to-beginning, skip-to-end. No rewind feature was available.

Shot boundary frames: Index of video. Shot is an unbroken sequence of frames recorded from a single camera. Shot boundaries are generated from a detection algorithm that identifies such transitions between shots and records their location into an index. Current shot is highlighted as video plays (when sync box is checked). User can seek to selected part of video by clicking on shot.

Table of contents: Opens separate dialog with textual listings of significant points in the video. Contains “seek” feature allowing user to seek to points in the video. Index entries are also indicated on the Timeline seek bar.

(Li, Gupta et al. 2000)

Page 58: Collaborative Applications

Dewan 58

Video Processing:• Pauses in speech and

associated video removed.

• Time compress without changing pitch

• Table of contents generated manually.

• Shot boundaries generated by detecting transitions

• Bookmark and annotate

• Jump to next/previous– Bookmark

– Shot Boundary

– Slide transition

– Time boundary

• Application of pause/removal, rime compression– Sports video &

Lectures

– Upto 147 % playback speed

– Not TV dramas!

• Shot boundaries– Sports programs (high

variation in content)

– Not lectures(Li, Gupta et al. 2000)

Page 59: Collaborative Applications

Dewan 59

Automatic Slide Summaries• Allocate time at

beginning proportional to slide time– Slide time proportional to

slide importance

– Important things explained at beginning

• Include higher-pitch information– Pitch increases when

excited

• Both techniques found equally good and acceptable.

• Not as good as author-generated summaries

(He, Sanocki et al. 1999)

Page 60: Collaborative Applications

Dewan 60

Other Slide-based Summarization Techniques

• Slides only• Slides + text transcript

of audio• Slides + text transcript

+ points in author-generated A/V summary highlighted

• High information density– All three methods as

good as author-generated A/V summaries

• Low information density– Highlighted as good as

author-generated A/V summaries

(He, Sanocki et al. 2000)

Page 61: Collaborative Applications

Dewan 61

Chat History Issues

• People hardly use history.– Some of you did.

• Hard to scroll back and forth.– Designed for passive

text

– Chat is active text being changed under you.

• Snap-back scrolling– In Flow Chat

– Scrolling takes us back in time

– Releasing scrollbar returns to present

– Can be used for any history-based tool

Page 62: Collaborative Applications

Dewan 62

Elvin Ticker-Tape History with TimeOut

colab:vibhor: merging of vector works

colab:pd: Great! Give demo sometime.

User Name Group Timeout

pd

Great! Give demo sometime.

colab 5 mins.

Fitzptarick et al’ 99

Page 63: Collaborative Applications

Dewan 63

Scripted Collaboration

(Farnham, Chesley et al. 2000)

• Computer acts as moderator– Determines issues

discussed and allocated time

• After using it rules enforced manually.

Page 64: Collaborative Applications

Dewan 64

rIBIS: Real-time 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

Rejected position

Argument objecting

Rein & Ellis ‘91

Current position

Page 65: Collaborative Applications

Dewan 65

Implicit structure for status

• Messages automatically classified into comments, questions, responses.

• Based on presence of ?

• Statistics shown about them.

Threaded Chat (Smith, Cadiz et al. 2000)

Page 66: Collaborative Applications

Dewan 66

CLARE: Structured Discussion + Process Model• Structured discussion a la IBIS (RESRA -

Representation Schema of Research Artifacts)– paper is source– addressing some problem– about which a claim can be made – supported by evidence– generated by research methods– defining concepts

• Process model (SECAI )– Summarization (Privately create RESRA)– Evaluation (Private critique it)– Comparison (Publicly compare them)– Argumentation (Publicly critique them)– Integrate (The various RESRAs)

Page 67: Collaborative Applications

Dewan 67

RESRA

Figure originally appears in [39]

Page 68: Collaborative Applications

Dewan 68

SECAI

Figure originally appears in [39]

Page 69: Collaborative Applications

Dewan 69

Mail++

• Talk++• Mail++• File++• Talk + Mail• Talk + File• Mail + File• Talk + Mail + File

Page 70: Collaborative Applications

Dewan 70

Threaded Email

• Messages shown chronologically

• Special lines created to show parent-child relationship

• Messages grouped by day – today, yesterday

• Groups messages, gives context

• Useful after vacation

• Thread-based commands– Delete thread

– Forward messages and subscriptions

(Venolia, Dabbish et al.)

Page 71: Collaborative Applications

Dewan 71

Prioritizing mail messages

(Horvitz, Koch et al. 2002)

Page 72: Collaborative Applications

Dewan 72

Prioritizing mail messages

• Automatically prioritize mail messages based on– organizational relationship to

sender– proximity of send time to key times

for sender– message length and body– how long message waiting

(Horvitz, Koch et al. 2002)

Page 73: Collaborative Applications

Dewan 73

Messages to mobile device• Goal: cause minimal disruption.• If user not active > T & message

priority > P– Send to mobile device

• P function of– Whether user in meeting.

• Determined from calendar

– Other factors.

• Replace– “Not active > T” with

– “Likely to be away > T”(Horvitz, Koch et al. 2002)

Page 74: Collaborative Applications

Dewan 74

Messages to mobile device

(Horvitz, Koch et al. 2002)

Page 75: Collaborative Applications

Dewan 75

Presence Forecast• Determine when mobile user is likely to return

to office and remain there for some time– e.g. probability of user returning within 15 minutes

and remaining for 30 minutes

• Based on– activity with desktop– patterns of past behavior

• aggregate

• lunch, morning, afternoon, evening, night behavior

– how long user has been away

Page 76: Collaborative Applications

Dewan 76

Presence Forecast

(Horvitz, Koch et al. 2002)

p(Client activity within 15 min. | time away, time of day)

Pro

bab

ility

of r

etu

rn w

ithin

15m

in

Time away

Night

Morning

Evening

Lunch

AfternoonAll

Page 77: Collaborative Applications

Dewan 77

SMART OOF

(Horvitz, Koch et al. 2002)

Page 78: Collaborative Applications

Dewan 78

SMART OOF

(Horvitz, Koch et al. 2002)

Page 79: Collaborative Applications

Dewan 79

SMART OOF

• SMOOF: Smart out of office message

• If message priority is > threshold send presence estimate

(Horvitz, Koch et al. 2002)

Page 80: Collaborative Applications

Dewan 80

Time Wave

• Office Presence forecast– Updated continuously based on how

long user has been away

(Horvitz, Koch et al. 2002)

Page 81: Collaborative Applications

Dewan 81

Time Wave

(Horvitz, Koch et al. 2002)

Page 82: Collaborative Applications

Dewan 82

Time Wave

• Email review forecast– Updated continuously based on

prev. email history

(Horvitz, Koch et al. 2002)

Page 83: Collaborative Applications

Dewan 83

Page 84: Collaborative Applications

Dewan 84

Time Wave

• Cost of interruption forecast, associated with– time of day, free period

(Horvitz, Koch et al. 2002)

Page 85: Collaborative Applications

Dewan 85

Page 86: Collaborative Applications

Dewan 86

Coordinate Multi Device System• Track user activity on multiple devices

• Forecast which devices accessible

• Useful because– devices may imply location– caller knows to send email or call mobile phone– capabilities required by caller may be device

specific• certain devices allow video conferencing

Page 87: Collaborative Applications

Dewan 87

Other forecasts• Based on user activity, data, and input can

determine– whether a person will attend a meeting

• calendar

• meeting duration

• running vs. one-time meeting

• invitation specific or to group

Page 88: Collaborative Applications

Dewan 88

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

Malone ‘87

Page 89: Collaborative Applications

Dewan 89

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 CompleteFlores et al 88

Page 90: Collaborative Applications

Dewan 90

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

Medina Mora ‘92

Page 91: Collaborative Applications

Dewan 91

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

Borenstein ‘92

Page 92: Collaborative Applications

Dewan 92

File++

• Talk++• Mail++• File++• Mail + File• Talk + Mail• Talk + File• Talk + Mail + File

Page 93: Collaborative Applications

Dewan 93

State of the art file system• Access control• Locking• Versioning• Disconnected access

– Hoarding• “caching” data needed in disconnected access

– Directory merging on connection• Adds composed

• Deletes cancel.

• File granularity– Programmer-defined merge procedure

• Local area network

Page 94: Collaborative Applications

Dewan 94

Application-level Support• Disconnected access and merging of

– Calendars– Address book– Word– Powerpoint– Not Excel.

Page 95: Collaborative Applications

Dewan 95

rep. schedule

Lotus Notes: P2P Database Replication

“Replica” “Replica” source determines

destination determines

read access delete replication old data replication replication schedule

write access type replicationrecord replication ACL rep.rep. param. rep. immediate rep.

Table & record-based merging

Page 96: Collaborative Applications

Dewan 96

Groove Workspace

• Groove workspace – Wide-area replicated storage

• Like Lotus Notes but with a file-system like UI

– Replicas merged on connection time• As in Lotus Notes

– Intuitive access control based on making and accepting invitations.

Page 97: Collaborative Applications

Dewan 97

Chronicle: Fine-grained Spreadsheet Versions

• Named Range– Unit of naming, storage, versioning

– Rectangular cell block

– Range name

– User-defined annotation

– User id

– Date

• Compose named ranges– Sally’s expense data + Joe’s sales data

• Try different alternatives of named range– Sally’s expense forecast

– Joe’s expense forecast

• Ranges can be browsed, mailed

• Concurrent editing of named range automatically creates versions

Page 98: Collaborative Applications

Dewan 98

Mail + File

• Talk++• Mail++• File++• Mail + File• Talk + Mail• Talk + File• Talk + Mail + File

Page 99: Collaborative Applications

Dewan 99

Mail + File• Version system ala multiple mail copies.

• Editing sent file– before mail receipt– after mail receipt– allows users to have own file name spaces, easy access control

• Sending access permissions via mai– a la groove invitations

• Sending same file to a group of users– creates a single copy of file on accessible shared (sharepoint) site

Page 100: Collaborative Applications

Dewan 100

News

• Like file, logically centralized information shared among multiple users.

• As in mail, users view/modify information by receiving/sending/responding to messages.

Page 101: Collaborative Applications

Dewan 101

Message M

Message 1

Message 2

Send Receive

User 2 User 2

User 1

User N

User 1

User N

News: Shared Mailboxes

Page 102: Collaborative Applications

Dewan 102

Scaleable Modifiable Information

• Wide area shared information.

• Scales to the whole world.

• Cannot build such a file system.

• How can we build News?– Loose consistency as in Notes and Groove!

Page 103: Collaborative Applications

Dewan 103

News: Scaleable Architecture

News Client

News Client

News Client

eventual delivery of immutable messages in possibly different order

post newsNews Server

News Server

News Server

News Server

exchange news

read news

Page 104: Collaborative Applications

Dewan 104

Message/News Filtering

• Agent-based– Newsgroup– Discussion Thread– Urgent Message– Sender Cost– Contents of Messages

(Data Mining)

• Rating-based– Moderator– Known Reviewers– Anonymous Similar

Reviewers

Page 105: Collaborative Applications

Dewan 105

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

Page 106: Collaborative Applications

Dewan 106

News: Scaleable Architecture

News Client

News Client

News Client

How should this architecture be modified?

post newsNews Server

News Server

News Server

News Server

exchange news

read news

Page 107: Collaborative Applications

Dewan 107

Group Lens Architecture

News Client

News Server

post news read news

Better Bit Bureau

send rating

post rating

Modified News Client get rating

read rating

Page 108: Collaborative Applications

Dewan 108

Getting Ratings & Other Apps

• Incentive to review?

• Implicit review– Track amt of read time

• Other apps– Books

• Buying is strong endorsement

– Movies– People?

• Multi-dimensional

• I like his reliability but you care about his creativity

Page 109: Collaborative Applications

Dewan 109

Adding Agent-based Filters

• Spell checker– Rating inversely based on % misspelled words

• Included messages– Rating inversely based on % included text

• Length– Rating inversely based on message length

• Agent is another user giving ratings!– Can find correlation with an agent

Page 110: Collaborative Applications

Dewan 110

Adding Filters

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

Only filterbots agreeing with user

used in ratings!

Page 111: Collaborative Applications

Dewan 111

Adding FiltersSarwar, Konstan et al 98

Page 112: Collaborative Applications

Dewan 112

Evaluating Aggregation-based Filtering

• Coverage– Measures % of time predictions are available before an

item is rated by user• Based on a minimum # of ratings available from sufficiently

close neighbors

• Decision Support Accuracy– Probability random “good” item rejected by system

– Probability random “bad” item accepted by system

– Good vs bad

• 4,5 vs 1,2,3

Page 113: Collaborative Applications

Dewan 113

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

Page 114: Collaborative Applications

Dewan 114

Experiment Conclusions• Net.general

– Filters hardly helped

• Perl.misc– Spell helps a lot – Others help somewhat

• Linux.Announce– Length and spell help

• Recipes– Spell checking helps

• Humor– All factors but length

help

• Spell helps • Included messages

– Must be right amount

• Length useful in announcements

Page 115: Collaborative Applications

Dewan 115

Annotated Files

• Discussions are like news– Shared among n users– Author name evident

• They are associated with shared objects

• UI for adding discussions– Hypermedia vs. columnar UI

Page 116: Collaborative Applications

Dewan 116

POLITeam: Shared Workflow Documents

• Workflow– Structured mailing of documents.

• Breaking workflow– Received document can be shared with others

Page 117: Collaborative Applications

Dewan 117

PREP: Zero-Cost HyperlinksMain text Alice’s

commentsBenu’s comments

Chou’s comments

Para 1

Para 2

Page 118: Collaborative Applications

Dewan 118

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.

Fish. Kraut et al ‘88

In SharePoint now

Page 119: Collaborative Applications

Dewan 119

Annotation Granularity

• Whole document– Links to threaded

discussion about it.

– Good for making broad comments

• preferred by readers

– Directly transferred from hard copies

• Parts of document – Anchors to part of the

document.

– Difficult to implement

– Do not require reproducing document part being commented.

– Good for detailed comments.

• In theory at least.

(Brush, Bargeron et al.)

Page 120: Collaborative Applications

Dewan 120

Office 2000 Variable Granularity Annotations

(Cadiz, Gupta et al. 2000)

Page 121: Collaborative Applications

Dewan 121

Office 2000 Study

• Specification Drafts rather than Completed Documents

• Ten month period.• 20 annotations per

person.• Large fraction stopped

after first annotation– Orphan annotations

losing context a reason

• Users do not make high-level comments– Author would not get it

• Or nitpicky ones such as spelling, language– Other readers not

interested in them.

• Use other channels when immediate communication required– Cannot assume

notification subscription(Cadiz, Gupta et al. 2000)

Page 122: Collaborative Applications

Dewan 122

Orphan Annotations• Arise when fragment to

which anchored is deleted.

• Office 2000 attaches them to the whole document.– Not ideal if no longer

relevant

• More sophisticated algorithm:– Save deleted fragment.

– Find new matching fragment

• Cut words from back and front and do match.

• Stop when < 15 chars to avoid false positive.

• Users liked it when the differences between old and matched text was small but not large.– Did not work well all

the time

• Could match keywords instead of whole text.

• Could do an intelligent diff as in PREP– Neuwirth, Chandok 92

Brush, Bargeron et al 2001

Page 123: Collaborative Applications

Dewan 123

Live Annotations?• Nitpicky comments entered as edits.

– Special annotation right and view like read right and view in Office

• Shown as a track change.• User can accept the underlying script.• Akin to calendar invitations

– Email desired changes to shared artifact

• Dual:– Automatically email/notify actual changes to

shared artifact

Page 124: Collaborative Applications

Dewan 124

Automatic Notifications

• Content not given

• Changer does not know if manual email needed

The following change(s) happened to the document http://product/overview/index.htm:

Event: Discussion items were inserted or modified in the document

By: rsmith Time: 7/28/99 11:01:04 AM Event: Discussion items were inserted

or modified in the document By: ajones Time: 7/28/99 12:09:27 PM

Click here to stop receiving this notification.

Page 125: Collaborative Applications

Dewan 125

Descriptive Notifications

• Actual comment given.

• Link to thread.

• Commenter knows subscriptions.

This is an automatic notification. More information... Click here to update your notification settings. The changes that just occurred are: On http://server/Notify.htm

colinb added a reply to a comment by duncanbb on 9/12/2001 3:20 PM

Page 126: Collaborative Applications

Dewan 126

Mercury: Automatic In-Place 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

Page 127: Collaborative Applications

Dewan 127

Subscription Mechanism

(Cadiz, Gupta et al. 2000)

Page 128: Collaborative Applications

Dewan 128

Subscription Specifications

• Enrique: Whenever any document is created inform him about it.

• Alice & Benu: Whenever any document is created inform them about it.

• Alice & Benu: When any document they own is modified, send them an event

• Chou & Dimitri: When any circulation document they have processed changes stations, send this event to them

Page 129: Collaborative Applications

Dewan 129

GroupDesk: Automatic Customizable Awareness Notification

Relations: Editor Events: Modification Interested Users: Alice, Benu

Relation Classes Object Classes Event Classes

WorksOn

Document

Modification

Editor

Object

Comment Added

can establish can raise

Interest Context

Page 130: Collaborative Applications

Dewan 130

Event Semantics• Interest context associated

with object classes

• Relations implicitly defined by system– Currently active user.

– Document creator

• When an event occurs on object:– For each interest context:

• If event is subclass of specified event field

– Send event to all interested users who have the specified relation with the object

• Example 2:– Object Class:

CirculationDocument

– Interest Context• Relation: HasProcessed

• Event: ChangesStation

• Users: Chou, Dimitri

• Example 2:– Object Class: Document

– Interest Context• Relation: *

• Event: Created

• Users: Enrique

– Inherited by CirculationDocument

Page 131: Collaborative Applications

Dewan 131

Disruption caused by notifications

• Czerwinski, Cutrell et al 2000

• For complex tasks– No problems

• For simple tasks– Performance went down

• Automatic prioritization useful

• Polling vs. notifications?– Grudin 94: Managers who with staff polled

calendar continuously found notifications nuisance

Page 132: Collaborative Applications

Dewan 132

Side Show

(a) Subscribe by dragging ticket to Sideshow (Cadiz, Venolia et al. 02)

Page 133: Collaborative Applications

Dewan 133

Side Show

(b) Ticket displays number of annotations and replies. The tooltip window shows details when a user mouses over the ticket

(Cadiz, Venolia et al. 02)

Page 134: Collaborative Applications

Dewan 134

SideShow & Peripheral Awareness

• Three level of awareness– In sideshow sidebar– In document from where ticket is moved.– By hovering on sidebar

• Can be used for any information source– Person– Weather map– Web page

Page 135: Collaborative Applications

Dewan 135

Side Show: Person

Aawareness

(Cadiz, Venolia et al. 02)

Page 136: Collaborative Applications

Dewan 136

Page 137: Collaborative Applications

Dewan 137

Page 138: Collaborative Applications

Dewan 138

Page 139: Collaborative Applications

Dewan 139

Page 140: Collaborative Applications

Dewan 140

Page 141: Collaborative Applications

Dewan 141

Talk + File

Talk++

Mail++

File++

Talk + File

Talk + Mail

Mail + File

Talk + Mail + File

Page 142: Collaborative Applications

Dewan 142

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

Page 143: Collaborative Applications

Dewan 143

Scroll Wars

• User scrolling to see some pvt appointment causes “scroll wars”

Page 144: Collaborative Applications

Dewan 144

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 ScrollingIncremental SharingNo Concurrency ControlUser and State Awareness Fine-grained Access Control

public, shared, private

read, write rights

Page 145: Collaborative Applications

Dewan 145

Cognoter (Stefik et al ’85) • Groove – cannot scroll independently• Keep pvt and public information in separate

windows.– Drag and drop or commit to make public a la IM

– Now scroll wars only occur in public window

– Ability to scroll together or separately• Can also change scrolling mode in Groove

• Process model in shared window– Brainstorming – add items (ideas) to shared window

– Organizing – collect ideas into alternatives

– Evaluation – discuss and delete alternatives

– Analogous to SEPIA process model.

Page 146: Collaborative Applications

Dewan 146

Aspects Concurrency Control• Groove – user working independently must

manually enforce CC• Free for all

– Paragraph-level locking

– Adjacent bar gives lock status• Black for locker, grey for others

• Medium mediation– A pen passing mechanism ala Groove/NetMeeting

• Full mediation– Moderator passes pen

– Conference starter is moderator

Page 147: Collaborative Applications

Dewan 147

Interactive Lock Probelms

• Overhead in locking & unlocking– If explicit commands needed– GroupDraw – selecting/unselecting

lock/unlock

• May forget to unlock

Page 148: Collaborative Applications

Dewan 148

Central Host

Host 1 Host 2

CES: Delayed Commitment & Tickle Locks

Document Root

Text Node Owner User 1

Text Node Owner User 2

Distributed Document Nodes

Implicit Commit Del/CR to unlock items

Tickle Locks (Timed out)

Page 149: Collaborative Applications

Dewan 149

Locking Delay

• Might need to go to remote site to determine if lock available– Assuming lock information is not replicated– Replication requires addressing consistency

problems

Page 150: Collaborative Applications

Dewan 150

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

Page 151: Collaborative Applications

Dewan 151

Independent Drawing Modes

• GroupDraw allows users to select drawing mode independently

• What happens in single display groupware?

• Pebbles– Mobile computer as input device– Shared screen is output device

Page 152: Collaborative Applications

Dewan 152

Pebbles: Single-Display Groupware

*

+

TelepointerUser Identifier

Drawing Mode

Page 153: Collaborative Applications

Dewan 153

Ensemble

• GroupDraw and Pebbles: pointer exported to all.

• Ensemble: selectively import and export telepointers.

• Implicit Session Management: editing same file puts users in same session.

• Locked objects: changes not broadcast.

Page 154: Collaborative Applications

Dewan 154

Talk + Mail + File

• Talk++• Mail++• File++• Talk + Mail• Talk + File• Mail + File• Talk + Mail + File

Page 155: Collaborative Applications

Dewan 155

IRI: Distance Learning Environment

Figure available at http://www.cs.odu.edu/~tele/iri.