pith. sign in

arxiv: 1907.00075 · v1 · pith:OFJQ5KM6new · submitted 2019-06-28 · 💻 cs.HC · cs.DB

Programming with Timespans in Interactive Visualizations

Pith reviewed 2026-05-25 12:52 UTC · model grok-4.3

classification 💻 cs.HC cs.DB
keywords declarative programminginteractive visualizationsconcurrencyevent historyDIELuser interfaces
0
0 comments X

The pith

Developers can specify interactive visualization states as queries over event history using DIEL instead of procedural update logic.

A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.

Modern interactive visualizations run like distributed systems where user inputs, data processing, and remote requests occur concurrently and can produce ambiguous results. The paper presents DIEL as a declarative model that lets developers define the desired interface state directly as queries over the recorded history of events. This replaces the need to write code that reacts procedurally to each possible input event. The approach demonstrates that common concurrency conflicts in existing visualizations can be expressed and resolved in just a few lines of such queries.

Core claim

DIEL is a declarative programming model in which the state of an interactive visualization is specified as queries over event history rather than through procedural descriptions of how the interface should respond to different input events, allowing conflicts from concurrent processes to be reconciled in a few lines of code.

What carries the argument

DIEL, a declarative language in which interface states are expressed as queries over the history of events, which automatically reconciles conflicts arising from concurrent processes.

Load-bearing premise

All relevant concurrency behaviors in interactive visualizations can be captured and reconciled using only queries over event history without any additional procedural logic.

What would settle it

A concrete interactive visualization containing a concurrency conflict that cannot be expressed or resolved as a query over event history and requires external procedural handling.

Figures

Figures reproduced from arXiv: 1907.00075 by Eugene Wu, Joe Hellerstein, Remco Chang, Yifan Wu.

Figure 2
Figure 2. Figure 2: A frame by frame illustration of a user brushing on a map while real-time tweets are [PITH_FULL_IMAGE:figures/full_fig_p001_2.png] view at source ↗
Figure 3
Figure 3. Figure 3: A closeup of events 3 and 4 from Figure 2. The [PITH_FULL_IMAGE:figures/full_fig_p002_3.png] view at source ↗
Figure 4
Figure 4. Figure 4: A model of interactive visualization. Circles are processes and rectangles are inputs [PITH_FULL_IMAGE:figures/full_fig_p003_4.png] view at source ↗
Figure 5
Figure 5. Figure 5: Possible strategies for dealing with overlapping timespans. The lines segment [PITH_FULL_IMAGE:figures/full_fig_p003_5.png] view at source ↗
Figure 6
Figure 6. Figure 6: Example facet widget in the style of HindSight to answer questions such as, how many interactions were made, and what the average latency was per requests. The authors have used this functionality to replay past user sessions as part of debugging the visualization [7, 27, 32]. 7.0.4 Client-Server Architectures Accessing remote servers directly is another functionality that is sup￾ported by the DIEL model. … view at source ↗
read the original abstract

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, a declarative programming model to help developers reason about and reconcile concurrency-related issues. Using DIEL, developers no longer need to procedurally describe how the interface should update based on different input events, but rather declaratively specify what the state of the interface should be as queries over event history. We show that resolving conflicts from concurrent processes in real-world interactive visualizations can be done in a few lines of DIEL code.

Editorial analysis

A structured set of objections, weighed in public.

Desk editor's note, referee report, simulated authors' rebuttal, and a circularity audit. Tearing a paper down is the easy half of reading it; the pith above is the substance, this is the friction.

Referee Report

0 major / 3 minor

Summary. The paper introduces DIEL, a declarative programming model for interactive visualizations that treats concurrency as queries over event history (using timespans) rather than procedural event handlers. Developers specify desired interface states declaratively; the system reconciles updates from concurrent sources such as user input, background processing, and streaming data. The central claim is that real-world concurrency conflicts can be resolved in a few lines of DIEL code, supported by language design, semantics, and multiple case studies drawn from existing visualizations.

Significance. If the claim holds, the work offers a substantive contribution to HCI and programming-language design for interactive systems by shifting concurrency management from imperative callbacks to declarative history queries. This could lower the barrier to building responsive, multi-process visualizations and aligns with broader trends toward declarative specifications in distributed and reactive systems. The case-study evidence of short, readable conflict-resolution code is a concrete strength.

minor comments (3)
  1. §4 (semantics): the formal definition of timespan queries would benefit from an explicit statement of the evaluation order when multiple overlapping events arrive in the same logical tick; the current prose leaves this implicit.
  2. Figure 3 and §5.2: the side-by-side comparison of DIEL versus the original JavaScript implementation would be clearer if the line counts were broken down by concern (state query vs. conflict rule) rather than reported as a single aggregate.
  3. §6 (limitations): the discussion of expressiveness boundaries is brief; adding one concrete example of a concurrency pattern that still requires external procedural code would strengthen the scope claim.

Simulated Author's Rebuttal

0 responses · 0 unresolved

We thank the referee for the positive summary, recognition of the contribution to declarative concurrency management in interactive visualizations, and the recommendation of minor revision. We will incorporate any minor suggestions in the revised manuscript.

Circularity Check

0 steps flagged

No significant circularity detected

full rationale

The paper introduces DIEL as a declarative language for specifying interface state via queries over event history, supported by language design, formal semantics, and case studies on real visualizations. No equations, predictions, or first-principles derivations appear that reduce to inputs by construction. No self-citation chains or uniqueness theorems are invoked as load-bearing elements. The central claim rests on the presented implementation and examples, which are externally falsifiable through the demonstrated code and behaviors, making the work self-contained with no circular steps.

Axiom & Free-Parameter Ledger

0 free parameters · 0 axioms · 0 invented entities

Only the abstract is available; no free parameters, axioms, or invented entities can be identified.

pith-pipeline@v0.9.0 · 5670 in / 1055 out tokens · 49369 ms · 2026-05-25T12:52:24.902388+00:00 · methodology

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.

Reference graph

Works this paper leans on

47 extracted references · 47 canonical work pages · 1 internal anchor

  1. [1]

    Alvaro, N

    P. Alvaro, N. Conway, J. M. Hellerstein, and W. R. Marczak. Consistency analysis in bloom: a calm and collected approach. In CIDR, pp. 249–260, 2011

  2. [2]

    Benchmark

    H. Benchmark. Reaction time, 2018

  3. [3]

    S. Card, T. Moran, and A. Newell. The model human processor- an engineering model of human performance. Handbook of perception and human performance., 2:45–1, 1986

  4. [4]

    Chirkova, J

    R. Chirkova, J. Yang, et al. Materialized views. Foundations and Trends® in Databases, 4(4):295–405, 2012

  5. [5]

    Coblenz, J

    M. Coblenz, J. Sunshine, J. Aldrich, B. Myers, S. Weber, and F. Shull. Exploring language support for immutability. In Proceedings of the 38th International Conference on Software Engineering, pp. 736–747. ACM, 2016

  6. [6]

    Conway, P

    N. Conway, P. Alvaro, E. Andrews, and J. M. Hellerstein. Edelweiss: Automatic storage reclamation for distributed programming. Proceedings of the VLDB Endowment, 7(6):481–492, 2014

  7. [7]

    Czaplicki

    E. Czaplicki. The perfect bug report, 2016

  8. [8]

    Czaplicki

    E. Czaplicki. Effects examples, 2017

  9. [9]

    C. A. Ellis and S. J. Gibbs. Concurrency control in groupware systems. In Acm Sigmod Record, vol. 18, pp. 399–407. ACM, 1989

  10. [10]

    Immutable collections for javascript, 2018

    Facebook. Immutable collections for javascript, 2018

  11. [11]

    M. Feng, C. Deng, E. M. Peck, and L. Harrison. Hindsight: Encouraging exploration through direct encoding of personal interaction history. IEEE Transactions on Visualization and Computer Graphics, 23(1):351–360, 2017

  12. [12]

    Y . Fu, K. W. Ong, Y . Papakonstantinou, and E. Zamora. Forward: Data- centric uis using declarative templates that efficiently wrap third-party javascript components. Proceedings of the VLDB Endowment, 7(13):1649– 1652, 2014

  13. [13]

    The BigDAWG Architecture

    V . Gadepally, J. Duggan, A. J. Elmore, J. Kepner, S. Madden, T. G. Mattson, and M. Stonebraker. The bigdawg architecture. CoRR, abs/1602.08791, 2016

  14. [14]

    Ghiani, F

    G. Ghiani, F. Patern`o, and C. Santoro. On-demand cross-device interface components migration. In Proceedings of the 12th international conference on Human computer interaction with mobile devices and services, pp. 299–

  15. [15]

    Supercharge your investigations, 2018

    Graphistry. Supercharge your investigations, 2018

  16. [16]

    P. Helland. Immutability changes everything. Queue, 13(9):40, 2015

  17. [17]

    Jaffar and M

    J. Jaffar and M. J. Maher. Constraint logic programming: A survey. The journal of logic programming, 19:503–581, 1994

  18. [18]

    R. J. Kosinski. A literature review on reaction time. Clemson University, 10, 2008

  19. [19]

    Krstajic and D

    M. Krstajic and D. A. Keim. Visualization of streaming data: Observing change and context in information visualization techniques. In Big Data, 2013 IEEE International Conference on, pp. 41–47. IEEE, 2013

  20. [20]

    Z. Liu, B. Jiang, and J. Heer. immens: Real-time visual querying of big data. In Computer Graphics Forum, vol. 32, pp. 421–430. Wiley Online Library, 2013

  21. [21]

    O. Lojkine. Sqlite compiled to javascript through emscripten, 2017

  22. [22]

    Mackinlay

    J. Mackinlay. Automating the design of graphical presentations of rela- tional information. Acm Transactions On Graphics (Tog), 5(2):110–141, 1986

  23. [23]

    Mackinlay, P

    J. Mackinlay, P. Hanrahan, and C. Stolte. Show me: Automatic presenta- tion for visual analysis. IEEE transactions on visualization and computer graphics, 13(6), 2007

  24. [24]

    The extreme analytics platform., 2018

    MapD. The extreme analytics platform., 2018

  25. [25]

    E. Meijer. Your mouse is a database. Communications of the ACM , 55(5):66–73, 2012

  26. [26]

    Mike Bostock

    S. Mike Bostock. Fast n-dimensional filtering and grouping of records., 2016

  27. [27]

    Narayanasamy, G

    S. Narayanasamy, G. Pokam, and B. Calder. Bugnet: Continuously recording program execution for deterministic replay debugging. In ACM SIGARCH Computer Architecture News, vol. 33, pp. 284–295. IEEE Com- puter Society, 2005

  28. [28]

    S. Oney, B. Myers, and J. Brandt. Constraintjs: programming interactive behaviors for the web by integrating constraints and states. In Proceed- ings of the 25th annual ACM symposium on User interface software and technology, pp. 229–238. ACM, 2012

  29. [29]

    Prakash and M

    A. Prakash and M. J. Knister. A framework for undoing actions in col- laborative systems. ACM Transactions on Computer-Human Interaction (TOCHI), 1(4):295–330, 1994

  30. [30]

    Psallidas and E

    F. Psallidas and E. Wu. Smoke: Fine-grained lineage at interactive speed. Proceedings of the VLDB Endowment, 11(6):719–732, 2018

  31. [31]

    Ramakrishnan and J

    R. Ramakrishnan and J. Gehrke. Database management systems. McGraw Hill, 2000

  32. [32]

    Redux devtools

    Redux. Redux devtools

  33. [33]

    Satyanarayan, D

    A. Satyanarayan, D. Moritz, K. Wongsuphasawat, and J. Heer. Vega-lite: A grammar of interactive graphics. IEEE Transactions on Visualization and Computer Graphics, 23(1):341–350, 2017

  34. [34]

    Satyanarayan, R

    A. Satyanarayan, R. Russell, J. Hoffswell, and J. Heer. Reactive vega: A streaming dataflow architecture for declarative interactive visualization. IEEE transactions on visualization and computer graphics, 22(1):659–668, 2016

  35. [35]

    A. P. Sheth and J. A. Larson. Federated database systems for managing distributed, heterogeneous, and autonomous databases. ACM Computing Surveys (CSUR), 22(3):183–236, 1990

  36. [36]

    Shneiderman

    B. Shneiderman. The eyes have it: A task by data type taxonomy for information visualizations. In The Craft of Information Visualization, pp. 364–371. Elsevier, 2003

  37. [37]

    Stolte, D

    C. Stolte, D. Tang, and P. Hanrahan. Polaris: A system for query, anal- ysis, and visualization of multidimensional relational databases. IEEE Transactions on Visualization and Computer Graphics, 8(1):52–65, 2002

  38. [38]

    Sun and C

    C. Sun and C. Ellis. Operational transformation in real-time group editors: issues, algorithms, and achievements. In Proceedings of the 1998 ACM conference on Computer supported cooperative work, pp. 59–68. ACM, 1998

  39. [39]

    Tableau, 2018

    Tableau. Tableau, 2018

  40. [40]

    J. J. Van Wijk. The value of visualization. In Visualization, 2005. VIS 05. IEEE, pp. 79–86. IEEE, 2005

  41. [41]

    Wanner, A

    F. Wanner, A. Stoffel, D. J¨ackle, B. C. Kwon, A. Weiler, D. A. Keim, K. E. Isaacs, A. Gim ´enez, I. Jusufi, T. Gamblin, et al. State-of-the-art report of visual analysis for event detection in text data streams. In Computer graphics forum, vol. 33, pp. 1–15. Citeseer, 2014

  42. [42]

    Wilkinson

    L. Wilkinson. The grammar of graphics. Springer Science & Business Media, 2006

  43. [43]

    Wongsuphasawat, Z

    K. Wongsuphasawat, Z. Qu, D. Moritz, R. Chang, F. Ouk, A. Anand, J. Mackinlay, B. Howe, and J. Heer. V oyager 2: Augmenting visual analysis with partial view specifications. In Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems , pp. 2648–2659. ACM, 2017

  44. [44]

    E. Wu, F. Psallidas, Z. Miao, H. Zhang, L. Rettig, Y . Wu, and T. Sellam. Combining design and performance in a data visualization management system. In CIDR, 2017

  45. [45]

    Y . Wu, J. M. Hellerstein, and E. Wu. A devil-ish approach to inconsistency in interactive visualizations. In Proceedings of the Workshop on Human- In-the-Loop Data Analytics, p. 15. ACM, 2016

  46. [46]

    Z. Xie. Towards exploratory visualization of multivariate streaming data. In IEEE Vis/InfoVis/VAST Doctoral Colloquium, 2007

  47. [47]

    Analyze the freshest data, 2018

    Zoomdata. Analyze the freshest data, 2018