  We present ProvenanceWidgets, a Javascript library of UI control elements
such as radio buttons, checkboxes, and dropdowns to track and dynamically
overlay a user's analytic provenance. These in situ overlays not only save
screen space but also minimize the amount of time and effort needed to access
the same information from elsewhere in the UI. In this paper, we discuss how we
design modular UI control elements to track how often and how recently a user
interacts with them and design visual overlays showing an aggregated summary as
well as a detailed temporal history. We demonstrate the capability of
ProvenanceWidgets by recreating three prior widget libraries: (1) Scented
Widgets, (2) Phosphor objects, and (3) Dynamic Query Widgets. We also evaluated
its expressiveness and conducted case studies with visualization developers to
evaluate its effectiveness. We find that ProvenanceWidgets enables developers
to implement custom provenance-tracking applications effectively.
ProvenanceWidgets is available as open-source software at
https://github.com/ProvenanceWidgets to help application developers build
custom provenance-based systems.
