  Many tools empower analysts and data scientists to consume analysis results
in a visual interface, such as a dashboard. When the underlying data changes,
these results need to be updated, but this update can take a long time -- all
while the user continues to explore the results. In this context, tools can
either (i) hide away results that haven't been updated, hindering exploration;
(ii) make the updated results immediately available to the user (on the same
screen as old results), leading to confusion and incorrect insights; or (iii)
present old -- and therefore stale -- results to the user during the update. To
help users reason about these options and others, and make appropriate
trade-offs, we introduce Transactional Panorama, a formal framework that adopts
transactions to jointly model the system refreshing the analysis results and
the user interacting with them. We introduce three key properties that are
important for user perception in this context, visibility (allowing users to
continuously explore results), consistency (ensuring that results resented are
from the same version of the data), and monotonicity (making sure that results
don't "go back in time"). Within transactional panorama, we characterize all of
the feasible property combinations, design new mechanisms (that we call lenses)
for presenting analysis results to the user while preserving a given property
combination, formally prove their relative orderings for various performance
criteria and discuss their use cases. We propose novel algorithms to preserve
each property combination and efficiently present fresh analysis results. We
implement our transactional panorama framework in a popular, open-source BI
tool, illustrate the relative performance implications of different lenses,
demonstrate the benefits of the novel lenses, and outline the performance
improvement by our optimizations.
