  Recent graphical interfaces offer direct manipulation mechanisms for
authoring visualizations, but are largely restricted to static output. To
author interactive visualizations, users must instead turn to textual
specification; but, such approaches impose a higher technical burden than their
graphical counterparts. To bridge this gap, we introduce interaction design by
demonstration: a novel method for authoring interaction techniques via direct
manipulation. Users perform an interaction (e.g., button clicks, drags, or key
presses) directly on the visualization they are editing. The system interprets
this performance using a set of heuristics, and produces suggestions of
possible interaction designs. Heuristics account for properties of the
interaction (e.g., target and event type) as well as the visualization (e.g.,
mark and scale types, and multiple views). Interaction design suggestions are
displayed as thumbnails; users can preview and test these suggestions,
iteratively refine them through additional demonstrations, and finally apply
and customize them via property inspectors. To evaluate our approach, we
instantiate it in Lyra, an existing visualization design environment. We
demonstrate its expressive extent with a gallery of diverse examples, and
evaluate its usability through a first-use study and via an analysis of its
cognitive dimensions. We find that, in Lyra, interaction design by
demonstration enables users to rapidly express a wide range of interactive
visualizations.
