SurfaceFleet: Exploring Distributed Interactions Unbounded from Device, Application, User, and Time (UIST 2020 Paper)

Proceedings of the 33rd Annual Symposium on User Interface Software and Technology (UIST '20) |

Published by ACM

Publication

Knowledge work increasingly spans multiple computing surfaces. Yet in status quo user experiences, content as well as tools, behaviors, and workflows are largely bound to the current device—running the current application, for the current user, and at the current moment in time.

SurfaceFleet is a system and toolkit that uses resilient distributed programming techniques to explore cross-device interactions that are unbounded in these four dimensions of device, application, user, and time. As a reference implementation, we describe an interface built using Surface Fleet that employs lightweight, semi-transparent UI elements known as Applets.

Applets appear always-on-top of the operating system, application windows, and (conceptually) above the device itself. But all connections and synchronized data are virtualized and made resilient through the cloud.

For example, a sharing Applet known as a Portfolio allows a user to drag and drop unbound Interaction Promises into a document. Such promises can then be fulfilled with content asynchronously, at a later time (or multiple times), from another device, and by the same or a different user.

Video embedded below, or watch on YouTube (opens in new tab)

SurfaceFleet Supplemental Video Demonstration (UIST 2020)

How to use Containers, Portfolios, Media Primitives, and Interaction Promises that Automatically Update (auxiliary material for ACM UIST 2020 publication) This demonstration provides a step-by-step walkthrough of how some of the main user interface elements behave in SurfaceFleet. SurfaceFleet is a system and toolkit that uses resilient distributed programming techniques to explore cross-device interactions that are unbounded in the dimensions of device, application, user, and time. In particular, SurfaceFleet uses lightweight, semi-transparent UI elements known as Applets that appear to float above the window manager shell. But these are cloud-connected independent programs used to connect devices and pieces of user content. For example, a type of Applet known as Containers hold multiple items, while Portfolios provide a portal mechanism for sharing content and tools across…

SurfaceFleet: Exploring Distributed Interactions Unbounded from Device, Application, User, and Time

Knowledge work increasingly spans multiple computing surfaces. Yet in status quo user experiences, content as well as tools, behaviors, and workflows are largely bound to the current device—running the current application, for the current user, and at the current moment in time. SurfaceFleet is a system and toolkit that uses resilient distributed programming techniques to explore cross-device interactions that are unbounded in these four dimensions of device, application, user, and time. As a reference implementation, we describe an interface built using SurfaceFleet that employs lightweight, semi-transparent UI elements known as Applets. Applets appear always-on-top of the operating system, application windows, and (conceptually) above the device itself. But all connections and synchronized data are virtualized and made resilient through the cloud. For example, a sharing Applet…