Data Systems Group at MIT

Kyrix: A Detail-on-Demand Visualization System

Kyrix is a “detail-on-demand” visualization system.  As such, it supports a pan/zoom/jump interface similar to Google Maps. The benefit of such systems is the interface can be learned quickly and no user manual is required.  Also, it facilitates browsing over large amounts of data, drilling into areas of interest to get more information.  Although Kyrix is a natural on geographic data, it can also be used on many other kinds of data that are amenable to a two-dimensional layout.  Many detail-on-demand systems have been constructed for various kinds of data. However, these have generally been hard-coded to support exactly that class of applications.  In contrast, Kyrix is easily programmable to support any kinds of objects, not just maps or satellite imagery.

The Kyrix system makes use of the following concepts:

> Any number of two dimensional canvases, on which users can place objects.

> An SQL command that can retrieve from a database the objects to appear on the canvas.

> A location function for each canvas, which indicates where on the canvas any object should be placed.

> A rendering function that determines the visual representation of an object on the screen.  Rendering functions must be written in D3, which has a large prebuilt library of such functions.

> The notion of layers of a canvas so multiple kinds of objects can appear on the screen.

> The notion of a jump, whereby a user can point to an object and move to one or more related canvases.  One special case of a jump is to obtain more information, i.e., drill down.

Kyrix is written primarily in JavaScript and is now operational.   Links to three Kyrix demos appear at the bottom of this page.

We expect Kyrix will be used as a “data browser” for the Data Civilizer system, through which a user can navigate a large data set and drill down on objects of interest.  We have also been talking with a sleep study group at Massachusetts General Hospital (MGH) that wants to visualize EEG data in a variety of ways. In addition, there is a machine learning component to classify interesting waveform patterns based on training data.  Most of MGH’s proposed application can be done by current Kyrix, and we are using this application to suggest additional features.

For example, the group wants the ability to have multiple canvases on the screen with related data in separate windows.  All windows are populated with data. However, they want the canvases/windows to be coordinated. That is, when a pan/zoom/jump is performed in one window, a corresponding action would be taken in a related window. For example, if the user pans one canvas, a similar pan should be performed automatically in another canvas or canvases.

We are also working on Kyrix optimizations to support response times of 500 msec or less.  Please refer to our CIDR paper and our EuroVis paper for more details.



Wenbo Tao, Xiaoyu Liu, Yedi Wang, Leilani Battle, Cagatay Demiralp, Remco Chang and Michael Stonebraker. Kyrix: Interactive Pan/Zoom Visualizations at Scale. Eurographics Conference on Visualization (EuroVis) 2019

Wenbo Tao, Xiaoyu Liu, Cagatay Demiralp, Remco Chang and Michael Stonebraker. Kyrix: Interactive Visual Data Exploration at Scale. Conference on Innovative Data Systems Research (CIDR) 2019.