  Building interactive data interfaces is hard because the design of an
interface depends on the data processing needs for the underlying analysis
task, yet we do not have a good representation for analysis tasks. To fill this
gap, this paper advocates for a Data Interface Grammar (DIG) as an intermediate
representation of analysis tasks. We show that DIG is compatible with existing
data engineering practices, compact to represent any analysis, simple to
translate into an interface design, and amenable to offline analysis. We
further illustrate the potential benefits of this abstraction, such as
automatic interface generation, automatic interface backend optimization,
tutorial generation, and workload generation.
