User-Driven Programming Support for Rapid Visualization Authoring in D3
D3 is arguably the most popular language for programming visualizations online. However, D3 requires a level of programming proficiency that fledgling analysts may not yet possess. Instead of asking users to switch to simpler languages or direct manipulation tools, we propose automated programming support features to augment users' existing skill sets. To this end, we mine D3 examples from the web and programmatically translate them into three automated features: template completion to quickly program initial visualizations; recommendations to suggest complementary interactions for a users' D3 program; and code augmentation to implement recommended interactions with a single click. We demonstrate these features in Minerva, an automated development environment for programming interactive D3 visualizations. In a user study with 20 D3 users, we find that Minerva enables participants to program interactive visualizations in D3 with significantly less time and effort.
READ FULL TEXT