OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
SHriMP views: an interactive environment for information visualization and navigation
CHI '02 Extended Abstracts on Human Factors in Computing Systems
How Effective Developers Investigate Source Code: An Exploratory Study
IEEE Transactions on Software Engineering
Mylar: a degree-of-interest model for IDEs
Proceedings of the 4th international conference on Aspect-oriented software development
NavTracks: Supporting Navigation in Software Maintenance
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Easing Program Comprehension by Sharing Navigation Data
VLHCC '05 Proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing
How Are Java Software Developers Using the Eclipse IDE?
IEEE Software
Let's go to the whiteboard: how and why software developers use drawings
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
IEEE Transactions on Software Engineering
Code bubbles: a working set-based interface for code understanding and maintenance
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Code bubbles: rethinking the user interface paradigm of integrated development environments
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Code canvas: zooming towards better development environments
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
CodePad: interactive spaces for maintaining concentration in programming environments
Proceedings of the 5th international symposium on Software visualization
Embedding spatial software visualization in the IDE: an exploratory study
Proceedings of the 5th international symposium on Software visualization
Code space: touch + air gesture hybrid interactions for supporting developer meetings
Proceedings of the ACM International Conference on Interactive Tabletops and Surfaces
Code bubbles: a practical working-set programming environment
Proceedings of the 34th International Conference on Software Engineering
RefactorPad: editing source code on touchscreens
Proceedings of the 5th ACM SIGCHI symposium on Engineering interactive computing systems
Proceedings of the 7th Workshop on Dynamic Languages and Applications
Hi-index | 0.00 |
At ICSE 2010, the Code Bubbles team from Brown University and the Code Canvas team from Microsoft Research presented similar ideas for new user experiences for an integrated development environment. Since then, the two teams formed a collaboration, along with the Microsoft Visual Studio team, to release Debugger Canvas, an industrial version of the Code Bubbles paradigm. With Debugger Canvas, a programmer debugs her code as a collection of code bubbles, annotated with call paths and variable values, on a two-dimensional pan-and-zoom surface. In this experience report, we describe new user interface ideas, describe the rationale behind our design choices, evaluate the performance overhead of the new design, and provide user feedback based on lab participants, post-release usage data, and a user survey and interviews. We conclude that the code bubbles paradigm does scale to existing customer code bases, is best implemented as a mode in the existing user experience rather than a replacement, and is most useful when the user has a long or complex call paths, a large or unfamiliar code base, or complex control patterns, like factories or dynamic linking.