Computational Notebooks: Designing for Exploratory Data Analysis
Is Version Of
With the increase in data availability and the decrease in compute costs, there has been a steady rise of interest in data exploration, mining, and machine learning. Computational notebooks are one popular way to perform these analyses, as they support mixing of natural language, computer code, and visualizations in a single file. The increase in interest has drawn users from a variety of backgrounds, including many who do not have any formal software engineering training.
This project explored how well users outside of traditional software engineering backgrounds were being served by Jupyter notebooks. Users from this population were interviewed to discover issues in using Jupyter for exploratory data analysis. Based on these interviews, three enhancements were proposed to the existing Jupyter interface. A prototype was created and tested with users to determine how well these enhancements served the needs of users. These tests validated users' preference for enhanced surfacing of errors, and it also revealed some areas for further design refinement and exploration.