Install Code Bubbles

Code Bubbles is available as either a binary distribution or as (possibly buildable) open-source.  The binary distribution can (and should) be set to automatically update.  Contributions to the project (fixing bugs, adding features, attacking the to-do list) are welcome.    



BINARY INSTALLATION

Code Bubbles is installed by downloading the binary (.jar) file and running it. The first time it is run, it self-installs.  The best way of setting up the system is to create a directory (folder) for the installation, download the .jar file from the link below (click on the link and then copy the .jar file from your Downloads folder  to the directory you created or save the download drectly in that directly -- this depends on your browse).  Next run the jar file (java -jar bubbles.jar from that directory or you might be able to double click on it).  This starts the installation procedure.  Once the system is installed, running the jar file will start Code Bubbles.

Code Bubbles currently needs a writable Eclipse installation (the system installs a plugin for Eclipse).  The initialization process will prompt you for the Eclipse directory (or Eclipse.app file on a mac).  It provides the option of installing Eclipse, but this isn't that well tested.  If you have an Eclipse workspace, it can be used directly.

Code Bubbles currently requires at least Java 10 (it runs with newer versions).  This also means that it needs a version of Eclipse that used Java 10 or beyond as well.    

Part of the installation process is setting up various options.  We recommend that you allow the system to provide us with bug reports.  Providing additional feedback is completely optional.  

When run, Code Bubbles will create a directory .bubbles in your home directory.  This contains all the options files that are used to customize the system.  You can edit these files, but the preferred way of updating options is through the Options menu at the top right of the screen.  We've been having some problems with the initial run.  If things seem odd, just exit and restart the system.     

Detailed installation instructions are provided separately. Some of the newer facilities are only available as plug-ins.  To get these, right click on the top bar (blue bar at the top of the screen) and select "Manage Plugins".

The binary (.jar) file is available at   https://www.cs.brown.edu/people/spr/bubbles/bubbles.jar.  

SOURCE INSTALLATION

Code Bubbles is an active open-source project.  While it was initially kept on SourceForge, the latest version is available from GitHub as the bubbles repository of owner StevenReiss.  If you want to actually compile and run the source version, you will also need to install the project Ivy which contains support code.  We suggest you create a directory for these (we call ours "pro" for projects) and then install both ivy and bubbles as subdirectories of pro.  For ivy, you might need to do a "make newmachine" to set things up, but running ant for ivy and then bubbles should be sufficient.

Bubbles and Ivy are complex systems and, while we do our best, we don't guarantee them to be easily buildable.  If you have any problems, just contact Steven Reiss for assistance or to report problems.

Some of the newer facilities, the plugins, are separate GitHub projects currently owned by StevenReiss.  You can look at fait, faitbb, seede, seedebb, fredit, faitmock, and bubblesuml.      

CONTRIBUTING

We welcome contributions to the Code Bubbles project.  Bug fixes and minor changes or enhancements should be submitted to Steven Reiss for approval and incorporation into the system.  Major extensions are best done as plug-ins (see any of the above projects, notably faitbb, seedebb and bubblesuml, as examples.  We encourage you to develop your own changes, but if you are interested in just working on the system, you can contact Steven Reiss for potential projects.  Examples of such projects might include memory visualization, using IntelliJ rather than (or in addition to) Eclipse as a back end, making Bubbles a plug-in rather than a separate tool, intelligent arrangement of bubbles, fixing the JavaScript version, and interfacing with Maven and GitHub.      

Note that the overall system contains considerable code that is either not used (disabled) or that hasn't been well tested.  This is especially true for some of the collaborative features of the system.    The overall system (including Ivy) is about 400 KLOC, so this isn't for the faint of heart.



Code Bubbles

Copyright © 2021 · All Rights Reserved · Steven Reiss