Side-by-Side Project Awareness - Exploring Multi-Monitor
Environments
To date, software engineering tools have been designed under the
assumption that they must effectively operate on a single monitor
on a developer's desk. The trend, however, is to equip developer's
desks with multiple, typically larger monitors. In addition, we
find community areas being equiped with tiled displays through
which vasts amounts of information can be shared.
This research explores how software development tools should be
(re)designed to take advantage of this extra display space. Our
particular focus is on awareness - using the extra display space
to inform developers of relevant activities and situations in the
project. To date, awareness information had to be shared through
small, often iconic enhancements to the primary development tool,
so not to take away valuable space from the primary task of
actually writing code. By leveraging the extra display space,
entirely different kinds of tools can be created that support
the developer in more readily understanding project context
and more effectively performing the task at hand.
We are currently investigating three prototype software tools
in this context.
- Lighthouse provides a side-by-side view of code on the one hand and the
emerging design on the other
hand. The emerging design is the design as it resides in the code, i.e., as it
is implemented; it may consequently deviate from any conceptual design that was
imagined beforehand. Lighthouse annotates the emerging design with awareness
information as to which developers are making which changes, providing a view
of ongoing parallel work and where conflicts may arise. Pictures of the
Lighthouse interface can be found
here and
here, and
more information on the
Lighthouse
project web site.
- World View provides a location-oriented view of a software development
project. It is built on Google Maps, and allows project managers and
developers to see the inter-team relationships in a global project. A
particular focus, again, is on visualizing conflicts, though future work
includes other kinds of dependencies. A picture of the
World View interface can be found
here,
here, and
here, and
more information will be forthcoming on a future World View project web
site.
- Workspace Activity Viewer provides a scalable view of all ongoing parallel
development activities in a project. Particular, Workspace Activity Viewer
highlights ongoing changes to all artifacts in all workspaces on a six-screen
tiled display. The Workspace Activity Viewer operates in 3D to illustrate
recency of changes, uses dimensions to indicate the size of changes, and
provides various filters to examine aspects of workspace activities in
more detail. Some movies of Workspace Activity Viewer in action can be
found
here,
here,
here and
here,
and in the paper listed below. A project web site is forthcoming.
All projects integrally rely on capturing information about ongoing workspace
activities. It is here that the forthcoming integration with
Jazz is so important. Jazz
provides many hooks and listeners through which the information that
the visualizations need can be obtained. This integration of the
visualizations with Jazz is currently in progress.
Relevant Publications
I.A. da Silva, P. Chen, C. Van der Westhuizen, R. Ripley, and A. van der Hoek,
Lighthouse: Coordination through Emerging Design, OOPSLA Eclipse
Technology Exchange Workshop, October 2006, pages 11–15.
Roger M. Ripley, Anita Sarma and André van der Hoek,
A Visualization for Software Project Awareness
and Evolution, Fourth IEEE International Workshop on Visualizing Software
for Understanding and Analysis, June 2007.
A. Sarma and A. van der Hoek, Towards Awareness in the Large, First International Conference on Global Software Engineering, October 2006, pages 127–131.
People
Marcelo Alvim (visiting student)
André van der Hoek (faculty advisor)
Roger Ripley (graduate student)
Anita Sarma (graduate student)
Isabella Almeida da Silva (visiting student)
Funding
This project is funded by IBM and the National Science Foundation.
|