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模板时采用的关键修改策略。基于研究发现与用户反馈,我们讨论了利用模板实现可视化编程与设计交叠融合的关键启示。