200 likes | 362 Views
Visualizing Parallel Workspace Activities. Anita Sarma, Andr é van der Hoek Department of Informatics & Institute for Software Research University of California, Irvine asarma@ics.uci.edu, andre@ics.uci.edu. A Typical Development Scenario. Pete’s workspace. Ellen’s workspace. A. B. C. D.
E N D
Visualizing Parallel Workspace Activities Anita Sarma, André van der HoekDepartment of Informatics & Institute for Software ResearchUniversity of California, Irvineasarma@ics.uci.edu, andre@ics.uci.edu
A Typical Development Scenario Pete’s workspace Ellen’s workspace A B C D E C CMrepository
Direct Conflicts Pete’s workspace Ellen’s workspace A B C D E C CMrepository Conflicting changes to the same artifact
Indirect Conflicts Pete’s workspace Ellen’s workspace A B C D E C CMrepository Conflicting changes to different artifacts
Key Observations • A CM workspace in reality provides two kinds of isolation: • Good isolation • Shields developers from parallel changes to artifacts • Bad isolation • Hides knowledge of what artifacts other developers are changing • Opportunities for breaking isolation are limited • Based on repository information only • Initiated by developer only • Addressing direct conflicts only Goal: Break bad isolation while retaining good isolation
Hypothesis By continuously informing developers of ongoing changes, it is possible to reduce the number and magnitude of conflicts.
Approach: Palantír • Keep workspaces insulated, but not isolated • Increase awareness of ongoing workspace activities • Collect • Distribute • Organize • Present • Do so automatically and continuously • Push information • Thereby, move earlier the point at which potential direct and indirect conflicts can be detected
Palantír • Organizes and displays events • Parallel workspace activity • Severity of changes - “The amount (size) of change between two versions of an artifact” • Work in progress • Impact of changes - “The effect of changes on my current work(space)” • Work in progress
Palantír Architecture Visualizations Visualizations Extractor Extractor Internal state Internal state Event service Event wrapper Event wrapper CM client CM server CM client CMrepository Workspace Workspace
Visualizations: Scrolling Marquee • Pros: • Compact • Very non obtrusive • Cons: • No history • Too many events
Visualizations: Tabular View • Pros: • Simple • Quick summary • Cons: • Too much information • Changes not related • No event history
Visualizations: Explorer View • Pros: • Familiar • Changes at a glance • Cons: • Too much information • Changes not related
Visualizations: Fully Graphical • Pros: • Most comprehensive • Pair-wise conflict • Cons: • Non-intuitive • Requires more work to scale
Integration Experience • RCS • Pessimistic CM system • 500 lines of Java code • Single day • CVS • Optimistic CM system • 500 lines of Java code • Single day • JSVN • Optimistic CM system • 500 lines of Java code • Few days
Conclusions • Palantír is a novel prototype that brings awareness to CM workspaces • Which artifacts are being changed by whom? • What is the severity of the changes? • Push instead of pull • Palantír is independent of the type of CM system used • Palantír was successfully integrated with RCS, CVS, and JSVN
Future Work • Case study to determine the effectiveness of Palantír • Does it reduce the number of conflicts? • Does it improve coordination? • Does it speed up development time? • Further support for indirect conflicts • Impact analysis • Dependencies • Develop additional visualizations
Related Work • CVS and many other CM systems • Only e-mail notifications • Coven • Developers do not know in advance what they will change • BSCW, TUKAN, COOP/Orm • No pair-wise comparisons, no severity measure • State Treemap, Jazz • No pair-wise comparisons