Using WebGL as an Interactive Visualization Medium: Our Experience Developing SplatterJs

With web-technologies gaining popularity in use, designed information visualizations can now enjoy wide dissemination without the need for operating system-specific implementation. The process of porting existing visualizations that use GPU-enabled programming (such as OpenGL) to WebGL enables the instantiation of efficient, interactive data visualizations that can scale to larger datasets and larger canvases. In this paper, we present our porting of the Splatterplot system to a WebGL implementation, which we call SplatterJs, enabling interactive viewing and summarization of hundreds of thousands of two-dimensional points in the browser. We describe our experiences in implementing this raster-based visualization in WebGL, taking care to retain interactive rendering performance. In particular, we discuss using the GPU as a computational unit to transform data, or alternatively using binary data-streaming facilities built into HTML5 for using backend systems to supply transformed data.