Surface computing encourages exploratory interaction, and many applications are designed to work this way. In essence, the fluid interaction causes the user to ask "What if?" We suggest this requires support for recording the history of such explorations and allowing reversion to earlier states. There are currently a variety of related mechanisms, but they are either underpowered for the sort of interaction history management we suggest is needed, or are restricted to very specific domains. We present a prototype implementation of an interaction history manager: Ra is a JavaScript library for supporting this exploration and version tracking in web applications. We illustrate the interface for end users seen in augmenting simple web applications; we describe the underlying technical architecture, which uses ES6 Proxy objects to maintain access to the application's model; and we present the API, which allows an existing application to include Ra with minimal code change.

Additional Metadata
Keywords Interaction history, Touch interfaces, Undo, Version control, Web applications
Persistent URL dx.doi.org/10.1145/2824823.2824826
Conference 3rd International Workshop on Programming for Mobile and Touch, PROMOTO 2015
Citation
Simonyi, P. (Peter), Wilson, J. (Jeff), Brown, J.M. (Judith M.), & Biddle, R. (2015). Supporting "what-if" in touch-screen web applications. Presented at the 3rd International Workshop on Programming for Mobile and Touch, PROMOTO 2015. doi:10.1145/2824823.2824826