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程序进行互补互动的建议;加强代码以实施建议的单击式互动,即使用户偏离了预先定义的模板。我们在Mirny展示了这些功能的实用性,即以设计为重点的原型设计环境。 在与20个D3用户进行的一项用户研究中,我们发现这些自动特征使参与者能够以显著较少的编程格式化设计出其设计理念。 我们还将参与者所使用的关键修改战略用于定制D3的图像模板。