HiLT: A Library for Generating Human-in-the-Loop Data Transformation GUIs
Authors
Many domain-specific data transformation tasks are best addressed with custom, task-specific interfaces, especially to accommodate users who are not comfortable with the programming capabilities of open-ended tools like Excel or Tableau. However, building a bespoke GUI for a custom data transformation task is often time-consuming and difficult. This paper presents HiLT, a Python library for authoring human-in-the-loop data transformation GUIs for performing data transformation tasks on user-uploaded data. Programmers use HiLT to specify their custom data transformation steps and how they fit together in a set of stages; HiLT then generates the corresponding interfaces, backend, and underlying database. In a user study, we compared HiLT with a popular GUI component framework, Streamlit. Participants completed more tasks with HiLT than with Streamlit. We found that HiLT's Stage metaphor helped GUI programmers modularize their programs and avoid common state-related pitfalls. In particular, it led programmers to organize their code into clearly delineated data transformation steps, each encapsulated in a HiLT Stage, rather than focusing them on compositions of UI widgets, which is common in GUI libraries like React and Streamlit. Our findings suggest a role for GUI-building tools that focus on supporting data transformations by explicitly modeling the transformation steps, rather than centering GUI widgets.
Research Questions / Practical Problems
Question signals indexed for this paper.
- 83%
CrossData: Leveraging Text-Data Connections for Authoring Data Documents
CHI '22· Interactive Data Visualization +1
- 83%
Unravel: A Fluent Code Explorer for Data Wrangling
UIST '21· Interactive Data Visualization +1
- 71%
Comparing Apples and Oranges: Taxonomy and Design of Pairwise Comparisons within Tabular Data
CHI '19· Interactive Data Visualization +2
- 71%
Wrex: A Unified Programming-by-Example Interaction for Synthesizing Readable Code for Data Scientists
CHI '20· Interactive Data Visualization +2
- 71%
Diff in the Loop: Supporting Data Comparison in Exploratory Data Analysis
CHI '22· Interactive Data Visualization +2
- 71%
Code Code Evolution: Understanding How People Change Data Science Notebooks Over Time
CHI '23· Interactive Data Visualization +2
- 67%
Visualizing API Usage Examples at Scale
CHI '18· Interactive Data Visualization +1
- 67%
Integrated Development Environment with Interactive Scatter Plot for Examining Statistical Modeling
CHI '20· Interactive Data Visualization +1
- 67%
Tessera: Discretizing Data Analysis Workflows on a Task Level
CHI '21· Interactive Data Visualization +1
- 67%
NBSearch: Semantic Search and Visual Exploration of Computational Notebooks
CHI '21· Interactive Data Visualization +1
Based on Jaccard similarity of research subtopics & professions (≥60%)