1.83k likes | 1.96k Views
Taxonomies of 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. Bulletin Board. Augmented Reality. Ellis’s Time Space Taxonomy. Same Space.
E N D
Taxonomies of 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 290-F99
Bulletin Board Augmented Reality Ellis’s Time Space Taxonomy Same Space Different Space Same Time Grove MUD Tivoli Ventura Different Time Email File System 290-F99
Proposal: 10am Vote: No Public Appts Public Appts RTCAL Vs Electronic Class Room Topic, Participants Chair, Controller 290-F99
Ellis’s Shared Environment / Common Task Dimension Electronic Classroom Time Sharing Environment Software Review System Shared Environment Mail Common Task 290-F99
* + IBIS Vs Talk Vs Shared File *I: Which processor should be used?P: Processor AAS: Fast *P: Processor B AS: Cheap, already in use 290-F99
Smith’s Dimensions • Information Type • intangible private, ephemeral, tangible instrumental, tangible target • Collaboration Time • seconds, minutes, hours, days, weeks, months, years • Space: • office, floor, site, 1-hour travel, 1-day travel • Agents • people, informal coalitions, teams, team collections 290-F99
IBIS Vs Email *I: Which processor should be used?P: Processor AAS: Fast *P: Processor B AS: Cheap, already in use Processor 2/24/99 Which one? (John Smith, responses)2/25/99 Processor A (Mary Lowe, 1 response) 2/26/96 Processor B (Joe Doe)Meeting Time 2/24/96 10am? (Mary Lowe, 1 response) 290-F99
Facilitates 2 Group Decision MakingProposing Alternatives Evaluating Alternatives IBIS, PREP, Quilt 3 Communication Transporting Messages Routing email, ActionWorkflow 4 Perception of Common Objects Grove, CES, RTCAL Malone’s Coordination Taxonomy 1 Coordination GoalGoalDecomposition Task Assignment Recursive Allocation Synchronization Sequencing Coordinator Information Lens RTCAL 290-F99
Hydra vs MAJIC MUDS Vs DIVE John has entered the room (hear footsteps) User 2 John says, “Hi everyone” User 3 290-F99
Desktop CVEs • Projected CVEs • Video Conference • Hydra • Video Walls Benford’s VE Taxonomy • Augmented Reality • Immersive CVEs • Shared Application & Video Conf. Degree of Artificiality • MAGIC • Physical Meeting • Telepresence Degree of Transportation 290-F99
Concurrency Control • Floor Control • No Control • Tickle Locks • Optimistic Locks • RTCAL • Grove • CES • GroupDraw 290-F99
Flexible Model of Collaboration User Application Session Management Window Version 1 Window Version 1 Coupling Merging Undo/Redo Awareness CC/AC 290-F99 User 1 User 2
Session Management Faculty Meeting 290 Lecture Distinguished Lecture talk jbs message from dewan, type talk dewan to join User 2 John has entered the room (hear footsteps) User 3 John says, “Hi everyone” 290-F99
Add/Delete (App3) Create/ Delete (Session 1) Session 1 App1 App2 App3 User 1 User 2 Join/Leave (User 2) Session Management Operations Issue: How are these operations invoked? 290-F99
Session Management • Invitation • Invitation • Name-based • Room-based • Aura-based • Telephone • Talk • Menu System • MUDs • DIVE 290-F99
Joining in Explicit Sessions Auto Notification Creator Controlled Flexible Joining User 2 User 2 Accept Invite Join User 2 Joining N App. Easy & General Applications Name-based Joining Invitation-based Joining Session 1 Session 1 App1 App2 App3 App1 App2 App3 User 1 User 1 Rendezvous GroupKit RTCAL XTV User 2 290-F99
Implicit Sessions • Artifacts being edited • Location in rooms • Intersection of auras in virtual environment Session Joining/Leaving Side Effect of: 290-F99
Outline Title 1. Readable and writeable item 1.1 Also readable and writeable *.Shared readable and writeable *.* Shared readable Awareness Examples Editing paper xxxx yyyyy 290-F99
Awareness Physical/Computer Environment Physical/Computer Environment App. I/O I/O Version 1 Version 2 Coupling Awarenessof Others Awareness Others 290-F99 User 1 User 2
Awareness Purpose Location Current Tasks Potential for Interruptibility Presence of Coworkers Context for Smalltalk Curiosity 290-F99
Awareness Dimensions Shared? When? History? Degree? User 2 User 1 290-F99
Shareable Information: Edward’s Model Subject Login, Name, Home, Shell, Office, Phone, Plan, Voice, Photo Physical Location, Appearance, Gestures, Speech Virtual Location Virtual Gestures Intermezzo Potholes CAVECAT, Cruiser GroupDraw, XTV Intermezzo Contact Grove, GroupDesign GroupDesign PREP, Active Diff Application Application, Start & Idle Time, Process and Display Host Object Identification, Type, Value, Attributes, Lock Status Command Location Size Diff 290-F99
Awareness Degrees Subject General Location < Specific Location Pseudo Name < Real Name < Photo, Voice Audio Volume Levels Application Editor < Emacs Object Nearness Event Peripheral Full Diff Subject Application Object GroupDesign MASSIVE MASSIVE MASSIVE PREP MASSIVE A command was invoked on a nearby object The edit command was invoked on a nearby object The edit command was invoked on this object (The new remote value of this object is ‘the brown fox’) The new remote value of this object is ‘the brown fox’ The remote value replaces the ‘dog’ in the local value with ‘fox’ Macro Chris is at (0,0) Chris is interacting with Emacs Chris is editing this paragraph 290-F99
Coarseness of Pinpointing Diff Diff Sentence-Level Diffing Her bowl is over there, by the truck Her bowl is over there, by the car Word-Level Diffing car truck Section Section Paragraph Paragraph Sentence Sentence Word Word 290-F99
Additional Differencing Parameters % Differences Inserted Length DIFF. PARAMETERS Max. % Differences Distance to Look Dist. to Concatenate Recursion Criteria Precent Differences < Max. Percent Differences Inserted Length < Max. Distance to Look for Commonalities DIFF. PARAMETERS quick brown fox slow brown dog quick, fox slow, dog The quick brown fox jumps over the lazy cat The slow brown dog jumps over the lazy cat Word-level Diffing 290-F99
When Awareness Event Shared Instantly Periodic Explicitly Retrieved Audio Video Diff Snapshots Diff Plan CAVECAT Active Diff Portholes PREP Finger 290-F99
History of Events Shown Current Value Since Last Access Since Conference Start GroupDesk REPLAYABLE WYSNIWIST 290-F99
Coupling Examples File Mail save load send receive Sync Talk Async Talk h hel h hel hi hello hi hello 290-F99
Public Appts Public Appts RTCAL Vs GroupKit Public Appts Private Appts Public Appts 290-F99
Coupling Design Space Sync Talk ASync Talk Mail GroupDraw File 290-F99
Sync Vs Async Talk My Text My Text Your Text Your Text 290-F99
Flexible Coupling My Text My Text Your Text Your Text communicateOn: {Keystroke, Return} 290-F99
Fine-grained Coupling My Text My Text Your Text Your Text 290-F99
Distributed Control My Text My Text Your Text Your Text 290-F99
Produced (T0) Exported (T2) (T1) Imported Coupling Principle Shared Max(T1, T2) 290-F99
Distributed Control My Text My Text Your Text Your Text Keystroke < Return communicateOn = Max (TransmitOn, ListenOn) 290-F99
Shared Text Asymmetric Control Text Text communicateOn : {Keystroke, Return, Delete) Keystroke < Return, Delete 290-F99
File-based Coupling File Load Commit Text Text communicateOn: {…, Committed} 290-F99
Correctness-based Coupling File Unparsed int num, num1 = 0 Text 290-F99
Correctness-based Coupling File Parsed int num; num1 = 0 Text 290-F99
Correctness-based Coupling File Validated int num1; num1 = 0 Text 290-F99
Correctness-based Coupling File Commit int num1; num1 = 0 Text communicateOn: {Raw, Parsed, Validated, Committed} Raw < Parsed < Validated < Committed 290-F99
Time-based Coupling File Commit int num1; num1 = 0 Text communicateOn: {Period, Time) 290-F99
Mail-based Coupling File Load Commit Text Text communicateOn: {…, Send, Receive) 290-F99
Mail-based Coupling File Load Commit Text Buffer Text transmitOn: {..., Commit, Send) listenOn: {..., Commit, Receive) 290-F99
Sharing Objects Base Load Commit Version Buffer Version transmitOn: {…, Increment, Completion) Increment = Keystroke || Mousedrag Completion= Return || Mouserelease 290-F99