How do Observable Users Decompose D3 Code? A Qualitative Study
Melissa Lin, Heer Patel, Medina Lamkin, Hannah Bako, Leilani Battle

TL;DR
This study qualitatively analyzes how Observable users organize D3 visualization code, revealing a preference for component-level decomposition and highlighting differences from formal grammars like the Grammar of Graphics.
Contribution
It identifies three levels of code decomposition in user practices and compares them with theoretical models, informing better toolkit support and AI assistance.
Findings
Users prefer component-level code decomposition.
Grammar of Graphics covers basic but not complex visualizations.
User practices differ from formal visualization grammars.
Abstract
Many toolkit developers seek to streamline the visualization programming process through structured support such as prescribed templates and example galleries. However, few projects examine how users organize their own visualization programs and how their coding choices may deviate from the intents of toolkit developers, impacting visualization prototyping and design. Further, is it possible to infer users' reasoning indirectly through their code, even when users copy code from other sources? We explore this question through a qualitative analysis of 715 D3 programs on Observable. We identify three levels of program organization based on how users decompose their code into smaller blocks: Program-, Chart-, and Component-Level code decomposition, with a strong preference for Component-Level reasoning. In a series of interviews, we corroborate that these levels reflect how Observable…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsRecommender Systems and Techniques · Persona Design and Applications · Multimedia Communication and Technology
