Collaborative Software Visualization in Co-located Environments
Most software visualization systems and tools are designed from a single-user perspective and are bound to the desktop and IDEs. These design decisions do not allow users to analyse software collaboratively or to easily interact and navigate visualizations within a co-located environment at the same time. This thesis presents an exploratory study of collaborative software visualization using multi-touch tables in a co-located environment. The thesis contributes a richer understanding of how pairs of developers make use of shared visualizations on large multi-touch tables to gain insight into the design of software systems. We designed a collaborative software visualization application, called Source-Vis, that contained a suite of 13 visualization techniques adapted for multi-touch interaction. We built two large multi-touch tables (28 and 48 inches) following existing hardware designs, to explore and evaluate SourceVis. We then conducted both qualitative and quantitative user studies, culminating in a study of 44 professional software developers working in pairs. We found that pairs preferred joint group work, used a variety of coupling styles, and made many transitions between coupling and arrangement styles. For collaborative group work we recommend designing for joint group work over parallel individual work, supporting a flexible variety of coupling styles, and supporting fluid transitions between coupling and arrangement styles. We found that the preferred style for joint group work was closely coupled and arranged side by side. We found some global functionally was not easily accessible. We found some of the user interactions and visual interface elements were not designed consistently. For the design of collaborative software visualizations we recommend designing visualizations for closely coupled arrangements with rotation features, providing functionality in the appropriate locality, and providing consistent user interactions and visual interface design. We found sometimes visualization windows overlapped each other and text was hard to read in windows. We found when pairs were performing joint group work the size of the table was appropriate but not for parallel individual. We found that because the table could not differentiate between different simultaneous users that some pair interactions were limited. For the design of multi-touch tables we recommend providing a high resolution workspace, providing appropriate table space, and differentiating between simultaneous user interactions.