The BubbleBrowser
A Proposal for Rhizome's Alt.Interface Commission
By Golan Levin and Jonathan Feinberg
February 15, 2002

Golan Levin:
golan at flong dot com

Jonathan Feinberg:
jdf at pobox dot com


The BUBBLEBROWSER is a proposed interface for the interactive visualization of the Rhizome database of art-objects and online articles. Implemented as a Java applet with an associated server-side component, its goals are to facilitate directed foraging in an environment of many loosely-related documents.

The BubbleBrowser is built around the metaphor of animated "information bubbles" which re-arrange themselves according to the visitors' interests. Objects in the Rhizome database are represented as "bubbles" which move about the surface of a three-dimensional sphere. The bubble nearest the center represents the visitor's current focus of attention (though any bubble can be inspected); the content of this central bubble structures the organization of the other bubbles around it. When a visitor selects a new bubble to examine, this bubble moves toward the center position, while new and different bubbles (corresponding to relevantly-related documents) percolate towards it from the periphery. As the system settles into an equilibrium, the BubbleBrowser produces the impression of a living, organic surface.

The BubbleBrowser is a so-called "focus+context" scheme, allowing the user to get an overview of a data space and to focus on details at the same time. To achieve this, it bases its geometrical transformation on the "hyperbolic tree", a non-Euclidean construction originally developed in the 19th century by the French mathematician Poincare. According to studies conducted at Xerox Parc, hyperbolic trees can be used to display up to 10 times as many nodes as a conventional 2D browser, making them an efficient and organized scheme for laying out large hierarchies. In the BubbleBrowser, as with other interactive hyperbolic trees, any node may be brought into focus by clicking on it and watching it smoothly migrate to the center in real-time.

An example of a hyperbolic tree. See this or this and for explanations and examples illustrating hyperbolic trees.

The objects in the Rhizome database are richly related, but not necessarily heirarchically structured. For this reason the BubbleBrowser dispenses with the ball-and-stick metaphor typically used in hyperbolic trees, and instead uses a representation based on Voronoi partitions of the plane (also called Dirichlet domains). In this scheme, each data object is represented by a node point within a bubble-like cell, with the property that all of the points contained within that cell are closer to that node than any other. The Voronoi representation emphasizes similarity through adjacency, which we believe may be a more appropriate metaphor for the largely independent objects in the Rhizome database.

A Voronoi partition of a circular space. An online example of interactive Voronoi partitions can be found here.

When animated, Voronoi cells have the additional advantage of a fun, squishy appearance. In the BubbleBrowser, Voronoi cells will be rendered with rounded Bezier peripheries, in order to enhance this impression. At the same time, they will also be color-coded in a variety of ways to indicate: their relevance to the current query, their per-session or per-cookie usage history (usage trail), their global frequency of retrieval (hitcount), and the real-time presence or interest of other users (on other BubbleBrowsers).

We predict that BubbleBrowser usage will consist of examination of closely-related information-clusters, alternating with larger leaps, across the BubbleBrowser's gradients of relatedness, into unrelated territory. To work as an efficient visualization, it will be necessary to estimate the relatedness of the Rhizome objects with respect to each other; to do this, we propose to implement a server-side statistical analysis program. This program, which will probably need to run nightly on the Rhizome server, will perform some variety of self-organizing clusterization, such as Hierarchical Agglomerative Clustering or Gaussian Mixture Modeling.

Appendix: Other possible representations in the BubbleBrowser.

Trails indicating a path of use, or a path to a related concept or data-object.

Hot spots indicating the presence of other significant clusters in the neighborhood, or the foci of other users viewing the BubbleBrowser (elsewhere) at the same time.


2002. The budget for our project, including all fees paid to ourselves, is $5000.

Client-side implementation of graphic display technologies, including Hyperbolic geometry display system; Voronoi space decomposition; Bezier-based curvilinear Voronoi cells; physically-modelled force simulation.

Server side implementation of data analysis technologies: CGI data access library; statistical systems; self-organizing information clustering program, probably based on Hidden Markoff Models and/or Gaussian Mixture Modelling.

July Integration of preliminary server and client components, with access to some version of the database. Implementation of multi-user backbone and visualization.
August Full-time project development.
September We expect to have a beta version of the project completed by 1 September 2002. The project will launch unofficially on 15 September to a limited number of interested colleagues and volunteer debuggers.
October The project will be completed and in operation by October 1.



Golan Levin is an artist and designer interested in developing artifacts and experiences which explore supple new modes of computational expression. His work has focused on the design of systems for the creation, manipulation and performance of dynamic image and sound, as part of a more general examination of communications protocols for individual engagement and dialogue. Levin's work spans a variety of online, print, installation and performance media. Most recently, Levin and his colleagues presented the Dialtones Telesymphony (2001), a concert whose sounds are wholly performed through the choreographed ringing of the audience's own mobile phones. Levin was granted an Award of Distinction in the Prix Ars Electronica for his Audiovisual Environment Suite (2000) interactive software and its accompanying audiovisual performance, Scribble (2000). Levin lives and works in New York City.


Jonathan Feinberg is a software engineer based in New York City. His particular expertise is UNIX programming, databases, server-side programming and scripting, which he has applied to the creation of a number of projects in both the commercial and art domains. Feinberg directed the back-end programming of Martin Wattenberg & Marek Walczak's "Apartment" project, which has been shown at the Whitney Museum and the Ars Electronica Center, Austria. He has also developed client-side and server-side utilities for commercial organizations including and Linkbank.


by Golan Levin, Jonathan Feinberg, Martin Wattenberg and Shelly Wynecoop.

This project is an interactive visualization of the relative popularity of every integer between zero and 100000. Our dataset, computationally collected from public search engines in an exhaustive empirical study, exhibits an extraordinary variety of patterns which reflect our culture, our minds, and our bodies. We surmise that this dataset is a numeric snaphot of the collective consciousness; in this project we return our analyses to the public in the form of a data visualization, whose aim is to provoke awareness of one's own numeric manifestations. Commissioned by with funds from the Greenwall Foundation; implemented as a Java client, with complementary Perl, PHP and MySQL on the server side.

by Golan Levin and Jonathan Feinberg with Cassidy Curtis.

This online artwork allows its users to create and evolve the possible writing systems of imaginary civilizations. Visitors steer a genetic algorithm in attempts to breed glyphlike forms from the gestural twitchings of a synthetic hand-pen-paper system. The abstract alphabets produced by the Alphabet Synthesis Machine can be downloaded as automatically generated TrueType fonts, and are compiled in a comprehensive archive of user creations. The results probe the liminal territories between familiarity and chaos, language and gesture. Commissioned by for PBS; implemented as a Java client with server-side Perl CGIs.

by Golan Levin.

The Audiovisual Environment Suite is a set of five interactive systems which allow people to create and perform abstract animation and synthetic sound in real time. Each environment is an experimental attempt to design an interface which is supple and easy to learn, yet can also yield interesting, infinitely variable and personally expressive performances in both the visual and aural domains. The systems are built around the metaphor of an inexhaustible and dynamic audiovisual "substance," which is freely deposited and controlled by the user's gestures. Each instrument situates this substance in a context whose free-form structure inherits from the visual language of abstract painting and animation. The use of low-level synthesis techniques permits the sound and image to be tightly linked, commensurately malleable, and deeply plastic. Developed as graduate research at the MIT Media Laboratory; implemented in C++ with OpenGL and DirectSound.

by Jonathan Feinberg for

Feinberg implemented and designed a large Java framework that allows programmers to add dynamic, interactive graphs of numeric data to their applets and applications. The project also included a user's guide and Javadoc API documentation. Smartmoney is now marketing this API through their SmartDataVision division.

by Golan Levin

Obzok is a creature commissioned by, a monthly online bestiary, for its premiere issue in January 2001. Singlecell features a variety of virtual creatures discovered and reared by a diverse group of computational artists and designers; Obzok illustrates Levin's interest in blobs and organic movement. Implemented in Java.

by Golan Levin

These sketches illustrate other sorts of design strategies at the intersection of visual communication and computation.