• Corpus ID: 195767662

Programming with Timespans in Interactive Visualizations

  title={Programming with Timespans in Interactive Visualizations},
  author={Yifan Wu and Remco Chang and Eugene Wu and Joseph M. Hellerstein},
Modern interactive visualizations are akin to distributed systems, where user interactions, background data processing, remote requests, and streaming data read and modify the interface at the same time. This concurrency is crucial to provide an interactive user experience---forbidding it can cripple responsiveness. However, it is notoriously challenging to program distributed systems, and concurrency can easily lead to ambiguous or confusing interface behaviors. In this paper, we present DIEL… 

Figures from this paper

Evaluating interactive data systems
This paper extensively survey the literature to guide the development and evaluation of interactive data systems, highlighting unique characteristics of interactive workloads, discussing confounding factors when conducting user studies, and cataloging popular metrics for evaluation.


Combining Design and Performance in a Data Visualization Management System
DeVIL is introduced, a SQL-like language to express static as well as interactive visualizations as database views that combine user inputs modeled as event streams and database relations, and it is shown that DeVIL can express a range of interaction techniques across sever.
Reactive Vega: A Streaming Dataflow Architecture for Declarative Interactive Visualization
Reactive Vega is presented, a system architecture that provides the first robust and comprehensive treatment of declarative visual and interaction design for data visualization and the results of benchmark studies indicate superior interactive performance to both D3 and the original, non-reactive Vega system.
A DeVIL-ish approach to inconsistency in interactive visualizations
This paper presents a meta-declarative version of SQL shield application programmers from changes to physical and logical properties like disk layouts, indexes and schema changes, considered a foundational step forward in both the database systems and data visualization communities.
ConstraintJS: programming interactive behaviors for the web by integrating constraints and states
ConstraintJS is described, a system that integrates constraints and finite-state machines (FSMs) with Web languages and illustrates that constraints combined with FSMs can be a clearer way of defining many interactive behaviors with a series of examples.
Voyager 2: Augmenting Visual Analysis with Partial View Specifications
This work presents Voyager 2, a mixed-initiative system that blends manual and automated chart specification to help analysts engage in both open-ended exploration and targeted question answering and contributes two partial specification interfaces.
imMens: Real‐time Visual Querying of Big Data
Methods for interactive visualization of big data, following the principle that perceptual and interactive scalability should be limited by the chosen resolution of the visualized data, not the number of records are presented.
Vega-Lite: A Grammar of Interactive Graphics
Vega-Lite combines a traditional grammar of graphics, providing visual encoding rules and a composition algebra for layered and multi-view displays, with a novel grammar of interaction, that enables rapid specification of interactive data visualizations.
FORWARD: Data-Centric UIs using Declarative Templates that Efficiently Wrap Third-Party JavaScript Components
An end-to-end system implementation of the FORWARD web framework is demonstrated, including a web-based IDE, academic and commercial applications built in FORWARD and a wide variety of JavaScript components supported by the declarative templates.
Consistency Analysis in Bloom: a CALM and Collected Approach
This work introduces Bloom, a distributed programming language that is amenable to high-level consistency analysis and encourages order-insensitive programming, and proposes a program analysis technique that identifies points of order in Bloom programs: code locations where programmers may need to inject coordination logic to ensure consistency.