Templates have emerged as an effective approach to simplifying the visualization design and programming process. For example, they enable users to quickly generate multiple visualization designs even when using complex toolkits like D3. However, these templates are often treated as rigid artifacts that respond poorly to changes made outside of the template's established parameters, limiting user creativity. Preserving the user's creative flow requires a more dynamic approach to template-based visualization design, where tools can respond gracefully to users' edits when they modify templates in unexpected ways. In this paper, we leverage the structural similarities revealed by templates to design resilient support features for prototyping D3 visualizations: recommendations to suggest complementary interactions for a user's D3 program; and code augmentation to implement recommended interactions with a single click, even when users deviate from pre-defined templates. We demonstrate the utility of these features in Mirny, a d design-focused prototyping environment for D3. In a user study with 20 D3 users, we find that these automated features enable participants to prototype their design ideas with significantly fewer programming iterations. We also characterize key modification strategies used by participants to customize D3 templates. Informed by our findings and participants' feedback, we discuss the key implications of the use of templates for interleaving visualization programming and design.
翻译:模板已成为简化可视化设计及编程过程的有效手段。例如,即使在使用D3等复杂工具包时,模板仍能让用户快速生成多种可视化设计。然而,这些模板常被视为刚性工件,对超出其预设参数范围的修改反应迟钝,从而限制了用户的创造力。保留用户的创作流畅性需要一种更动态的基于模板的可视化设计方法,使工具能在用户以非预期方式修改模板时优雅地响应用户编辑。本文利用模板所揭示的结构相似性,为原型化D3可视化设计了弹性支持功能:推荐功能可建议用户D3程序的补充交互;代码增强功能则能以单次点击实现所推荐的交互,即使用户偏离预定义模板。我们在面向D3设计聚焦的原型环境Mirny中验证了这些功能的有效性。针对20名D3用户的实验表明,这些自动化功能使参与者能够以显著更少的编程迭代实现其设计理念。我们还归纳了参与者自定义D3模板时采用的关键修改策略。基于研究发现与参与者反馈,我们探讨了将模板用于交织可视化编程与设计的关键启示。