Issue No. 06 - November/December (2010 vol. 16)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TVCG.2010.144
We investigate the design of declarative, domain-specific languages for constructing interactive visualizations. By separatingspecification from execution, declarative languages can simplify development, enable unobtrusive optimization, and supportretargeting across platforms. We describe the design of the Protovis specification language and its implementation within anobject-oriented, statically-typed programming language (Java). We demonstrate how to support rich visualizations without requiring atoolkit-specific data model and extend Protovis to enable declarative specification of animated transitions. To support cross-platformdeployment, we introduce rendering and event-handling infrastructures decoupled from the runtime platform, letting designers retargetvisualization specifications (e.g., from desktop to mobile phone) with reduced effort. We also explore optimizations such as runtimecompilation of visualization specifications, parallelized execution, and hardware-accelerated rendering. We present benchmark studiesmeasuring the performance gains provided by these optimizations and compare performance to existing Java-based visualizationtools, demonstrating scalability improvements exceeding an order of magnitude.
information visualization, user interfaces, toolkits, domain specific languages, declarative languages, optimization
J. Heer and M. Bostock, "Declarative Language Design for Interactive Visualization," in IEEE Transactions on Visualization & Computer Graphics, vol. 16, no. , pp. 1149-1156, 2010.