Entry Date:
May 14, 2019

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 an open source project accessible here. We have built an in-production system for the neurology group at Massachusetts General Hospital (MGH) on 30T of EEG sleep study data. We also have a genomics browser (in conjunction with Paradigm4), a browser into Internet traffic (in conjunction with Recorded Futures), and a browser for the MIT Data Civilizer data integration system. Links to three Kyrix demos appear at the bottom of this page.

Right now we are in the process of building serious real-world applications for users from MGH, Slack, Fathom Health and other organizations. We look forward to enriching the features of Kyrix while building these applications. Some features we are working on (or will work on) include multiple coordinated views, automatic zoom level construction for large skewed datasets, new indexing schemes for incremental faceted search, and a new storage system for faster view changes.

We are also working on Kyrix optimizations to support response times of 500 msec or less.