Documentation

Documentation is still somewhat limited. There is information on installing the system. But the basic idea is just to download bubbles.jar and run it. The rest is done automatically. There is a tutorial available which shows some of the basic concepts. Help information is available within the system (see the Help button at the upper right when running Bubbles),

Additional videos describing Code Bubbles are now available. The first provides a simple overview of the system. The second describes debugging in Code Bubbles. The third shows some of the static visualizations provided by the system. A final visualization shows the continuous execution features that were recently added to the system.

Code Bubbles is supported by the National Science Foundation (grant 1012056), Microsoft, and Google.

Papers

"Code Bubbles: A Working Set-based Interface for Code Understanding and Maintenance", by Andrew Bragdon, Robert Zeleznik, Steven Reiss, Suman Karumuri, William Chang, Joshua Kaplan, Christopher Coleman, Ferdi Adeputra, and Joseph LaViola, Jr. (CHI 2010)

"Code Bubbles: Rethinking the User Interface Paradigm of Integrated Development Environments", by Andrew Bragdon, Steven Reiss, Robert Zeleznik, Suman Karumuri, William Chang, Joshua Kaplan, Christopher Coleman, Ferdi Adeputra, and Joseph LaViola, Jr (ICSE 2010)

"Integrating S6 Code Search and Code Bubbles", by Steven Reiss (TOPI 2013)

"Plugging in and into Code Bubbles: The Code Bubbles Architecture, by Steven Reiss, Jared Bott, and Joseph J. La Viola (SP&E 2013)

"Tool Demonstration: The Visualizations of Code Bubbles", by Steven Reiss (VISSOFT 2013)

"Tool Demonstration: Browsing Software Repositories", by Steven Reiss (ICSM 2014)

"A Framework for a Programmer's Minion" Extended Abstract, by Steven Reiss and Qi Xin (ICSE 2017)

"The Challenge of Helping the Programmer During Debugging" by Steven Reiss (VISSOFT 2014).

Preprints and Report

"Designing Collorative Development Tools" by Steven Reiss and Alexander Tarvo (2013)

"Automatic Visualization of Program Tasks in Code Bubbles" by Steven Reiss and Alexander Tarvo (2014)

Source

Code Bubbles source is available on SourceForge.

Code Bubbles is now an open-source project. If you are interested in working on the code and having your changes be incorporated into the current binary, you should contact Steve Reiss.

Introduction

Code Bubbles is a front end to Eclipse designed to simplify programming by making it easy for the programmer to define and use working sets. Working sets here consist of the group of functions, documentation, notes, and other information that a programmer needs to accomplish a particular programming task such as adding a feature or fixing a bug.

Code Bubbles accomplishes this by providing compact function-based views of the code (all backed by the underlying files) that are displayed in bubbles and that are easily moved around and manipulated on the screen. The bubbles are fully editable. A large bubble area lets the programmer set up different working sets simultaneously and easily move between them.

In addition to providing facilities for editing and understanding code, the Code Bubbles front end provides facilities for debugging and testing programs. New features are always under development.

News

  • An experimental installer for Code Bubbles is now available as a JNLP (Java Web Start) program.
  • Code Bubbles now features build-in automatic error correction while typing. This includes fixing spelling errors of various sorts, fixing syntax errors, automatic insertion of import statements, automatic insertion of catch statements, automatic insertion of return statements.
  • Code Bubbles includes context-sensitive help that features both tool-tip style help as well as demonstrations with or without sound. Just let the mouse sit over something on the screen and it will provide corresponding help text showing a demonstration of how to do it. The help text is available, but the links won't work unless Code Bubbles is running.
  • Code Bubbles is now available for Node.JS programs. Run with the -js option. There is also a version for Python (-python), but its not that mature.

Installation

Code Bubbles can be obtained from http://www.cs.brown.edu/people/spr/bubbles/bubbles.jar.

Simply download this jar file and double click on it to start its execution. Before you start, you should be familiar with Eclipse and have a relatively recent version of Eclipse for Java that is writable so you can add a plug-in to installed on your system.

Instructions for installing and setting up the system are avaiable but might be out of date.

Note that the newest versions of Code Bubbles require Java 7 and Eclipse 4.X. We will be moving to Java 8 in the summer of 2017.

Running Code Bubbles

There is a user guide for Code Bubbles that might also be slightly out of date. A early help video for Code Bubbles might be used for illustrative purposes. We also have a video of the task visualization tool and of Bubbles being used as a front end for code search.

You should also look at the tutorial. .

If you have questions, comments, suggestions, bugs, requests for features, or need other information, you should send email to Steve Reiss.