Saved in:
Bibliographic Details
Main Authors: Lin, Melissa, Patel, Heer, Lamkin, Medina, Bako, Hannah, Battle, Leilani
Format: Preprint
Published: 2024
Subjects:
Online Access:https://arxiv.org/abs/2405.14341
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866908432785735680
author Lin, Melissa
Patel, Heer
Lamkin, Medina
Bako, Hannah
Battle, Leilani
author_facet Lin, Melissa
Patel, Heer
Lamkin, Medina
Bako, Hannah
Battle, Leilani
contents 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 users reason about visualization programs. We compare common user-made components with those theorized in the Grammar of Graphics to assess overlap in user and toolkit developer reasoning. We find that, while the Grammar of Graphics covers basic visualizations well, it falls short in describing complex visualization types, especially those with animation, interaction, and parameterization components. Our findings highlight how user practices differ from formal grammars and reinforce ongoing efforts to rethink visualization toolkit support, including augmenting learning tools and AI assistants to better reflect real-world coding strategies.
format Preprint
id arxiv_https___arxiv_org_abs_2405_14341
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle How do Observable Users Decompose D3 Code? A Qualitative Study
Lin, Melissa
Patel, Heer
Lamkin, Medina
Bako, Hannah
Battle, Leilani
Human-Computer Interaction
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 users reason about visualization programs. We compare common user-made components with those theorized in the Grammar of Graphics to assess overlap in user and toolkit developer reasoning. We find that, while the Grammar of Graphics covers basic visualizations well, it falls short in describing complex visualization types, especially those with animation, interaction, and parameterization components. Our findings highlight how user practices differ from formal grammars and reinforce ongoing efforts to rethink visualization toolkit support, including augmenting learning tools and AI assistants to better reflect real-world coding strategies.
title How do Observable Users Decompose D3 Code? A Qualitative Study
topic Human-Computer Interaction
url https://arxiv.org/abs/2405.14341