Wandercode: An Interaction Design for Code Recommenders to Reduce Information Overload, Ease Exploration, and Save Screen Space
Austin Z. Henley, David Shepherd, Scott D. Fleming
TL;DR
Wandercode addresses information overload in code-location recommendations by overlaying an interactive graph on the code editor. It introduces a graph-based, mixed-initiative design that overlays within the editor, supports pinning and expansion, and limits initial recommendations to reduce cognitive load. The authors implemented a Java/Atom prototype and conducted a within-subjects study showing faster task completion, lower cognitive load, and higher user satisfaction compared with a list-based control. The work contributes design dimensions for code recommenders and demonstrates a practical, space-efficient approach with potential for field studies and broader adoption.
Abstract
In this paper, we present Wandercode, a novel interaction design for recommender systems that recommend code locations to aid programmers in software development tasks. In particular, our design aims to improve upon prior designs by reducing information overload, by better supporting the exploration of recommendations, and by making more efficient use of screen space. During our design process, we developed a set of design dimensions to aid others in the design of code recommenders. To validate our design, we implemented a prototype of our design as an Atom code editor extension with support for the Java programming language, and conducted an empirical user evaluation comparing our graph-based Wandercode design to a control design representative of prior list-based interaction designs for code recommenders. The results showed that, compared with the control design, Wandercode helped participants complete tasks more quickly, reduced their cognitive load, and was viewed more favorably by participants.
