InterLink: Linking Text with Code and Output in Computational Notebooks
Yanna Lin, Leni Yang, Haotian Li, Huamin Qu, Dominik Moritz
TL;DR
InterLink tackles the readability challenge of computational notebooks by introducing a reading-optimized, two-column plugin that explicitly links descriptive text with related code and outputs. It defines a relationship space of 27 relation types, a formal specification for these relations, and a heuristic layout with visual cues and interactive exploration to reduce cognitive load and improve information integration. A formative study informs five design requirements, and a user study with 12 participants demonstrates a 13.6% gain in task accuracy and improved efficiency in identifying and synthesizing information compared to a baseline notebook interface. The work highlights the potential of reading-oriented notebook layouts to enhance comprehension and collaboration, with implications for integrating literate programming principles into practical notebook tools.
Abstract
Computational notebooks, widely used for ad-hoc analysis and often shared with others, can be difficult to understand because the standard linear layout is not optimized for reading. In particular, related text, code, and outputs may be spread across the UI making it difficult to draw connections. In response, we introduce InterLink, a plugin designed to present the relationships between text, code, and outputs, thereby making notebooks easier to understand. In a formative study, we identify pain points and derive design requirements for identifying and navigating relationships among various pieces of information within notebooks. Based on these requirements, InterLink features a new layout that separates text from code and outputs into two columns. It uses visual links to signal relationships between text and associated code and outputs and offers interactions for navigating related pieces of information. In a user study with 12 participants, those using InterLink were 13.6% more accurate at finding and integrating information from complex analyses in computational notebooks. These results show the potential of notebook layouts that make them easier to understand.
