π€ AI Summary
This work addresses the persistent lack of clarity support in current computational notebooks during exploratory programming, which often leads to disorganized code and ambiguous execution states. To tackle this issue, the authors propose a novel βalways-clearβ notebook interaction paradigm that introduces a dedicated side drafting area, bidirectionally movable cells, and a linear execution model supporting state forking. This design preserves the flexibility of exploratory workflows while ensuring overall structural clarity. Implemented on top of Jupyter, the system integrates a movable-cell architecture with program-state forking mechanisms. A user study with 13 participants demonstrates that the approach significantly enhances notebook clarity throughout its entire lifecycle, effectively supports real-world data analysis tasks, and fosters new strategies for maintaining clarity.
π Abstract
Recent work identified clarity as one of the top quality attributes that notebook users value, but notebooks lack support for maintaining clarity throughout the exploratory phases of the notebook authoring workflow. We propose always-clear notebook authoring that supports both clarity and exploration, and present a Jupyter implementation called Tidynote. The key to Tidynote is three-fold: (1) a scratchpad sidebar to facilitate exploration, (2) cells movable between the notebook and the scratchpad to maintain organization, and (3) linear execution with state forks to clarify program state. An exploratory study (N=13) of open-ended data analysis tasks shows that Tidynote features holistically promote clarity throughout a notebook's lifecycle, support realistic notebook tasks, and enable novel strategies for notebook clarity. These results suggest that Tidynote supports maintaining clarity throughout the entirety of notebook authoring.