Andrew Bragdon > Projects >

Code Bubbles
Rethinking the User Interface Paradigm of Integrated Development Environments


Code Bubbles Screenshot

Code Bubbles Screenshot 2      Code Bubbles Screenshot 3      Code Bubbles Screenshot 4

Watch a video scenario here.

Bubbles Metaphor
There are a number of key differrences between bubbles and windows. We developed the design of bubbles to help reduce the effort needed to work with large numbers of fragments, and to support scalability. We provide a brief overview here (a much more complete description is provided in the papers):

- Java code does not readily fit into a small space, so we use syntax-aware reflow to wrap long lines and vertical elision to reduce the footprint of very long functions.

- To reduce the need for managing what is on top, bubbles do not overlap, but instead push eachother out of the way using an automatic, incremental recursive spacer algorithm which attempts to minimize the overall change to a bubble layout.

- There is ultimately a limit to how many bubbles can fit onscreen, so we provide a 2-D, continuous pannable virtual workspace.

- A transient zoom feature allows users to zoom out to switch focus, or to re-arrange/organize bubbles at a higher level.

- Bubbles form persistent nameable groups based on adjacency, and also support other annotations such as connections.

- Bubbles have minimal chrome/border decoration, and are moved and closed by mouse interactions differrent than dragging a title bar or clicking a close icon.


Code Bubbles IDE
We developed a prototype IDE system based on the bubbles metaphor. The system supports a number of fragment types, including code (methods, member variables, classes), notes, visual flags, bugs, and Javadocs. The system supports multi-tasking and interruption recovery through the workspace bar, which allows users to create resizable task-oritented partitions within the 2-D workspace, which can be named and shared, or which can be persisted to the Task Shelf for recovery later. Group information is also persisted, and can be used to discover related methods.

The system also features a breakpoint debugger based on bubbles that allows the user to see multiple functions in the stack frame, and data structures sampled from those functions, side-by-side. Multiple debug sessions can be loaded side-by-side in channels for comparison, persisted for use later, or annotated and then shared.

If you are interested in participating in the Code Bubbles beta, please sign up here.




Code Bubbles
  Overview + Video
  Details
  Publications
  Code Bubbles Updates
     *Updated 4/16/2011*
  Funding

  FAQ

Publications

  Venue Paper/Note PDF Video DL
Code Bubbles: Rethinking the User Interface Paradigm of Integrated Development Environments. Andrew Bragdon, Steven P. Reiss, Robert Zeleznik, Suman Karumuri, William Cheung, Joshua Kaplan, Christopher Coleman, Ferdi Adeputra, and Joseph J. LaViola Jr. To appear in: Proceedings of the 32nd International Conference on Software Engineering (2010). ICSE Paper May, 2010
Code Bubbles: A Working Set-based Interface for Code Understanding and Maintanence. Andrew Bragdon, Robert Zeleznik, Steven P. Reiss, Suman Karumuri, William Cheung, Joshua Kaplan, Christopher Coleman, Ferdi Adeputra, and Joseph J. LaViola Jr. To appear in: Proceedings of the 28th International Conference on Human Factors in Computing Systems (2010). CHI Paper April, 2010

Formal Demos

  Venue PDF IMG DL
Code Bubbles Research Demonstration. Andrew Bragdon, Steven P. Reiss, Robert Zeleznik, Suman Karumuri, William Cheung, Joshua Kaplan, Christopher Coleman, Ferdi Adeputra, and Joseph J. LaViola Jr. To Appear In: ICSE 2010 Research Demonstrations. ICSE May, 2010






   
  
 






















































































































                                                                                                                                                                                        Random links       Some other IDEs


        Copyright © 2010 by Andrew Bragdon. All Rights Reserved.
     















Contact

Email Email
andrew
[at] andrewbragdon.com

Follow AndrewBragdon on Twitter

FaxFax
401-863-7657

Mailing AddressMailing Address
Andrew Bragdon
Department of Computer Science
Brown University, Box 1910
115 Waterman St. 4th Floor
Providence, RI 02912