Shared substance: developing flexible multi-surface applications

This paper presents a novel middleware for developing flexible interactive multi-surface applications. Using a scenario-based approach, we identify the requirements for this type of applications. We then introduce Substance, a data-oriented framework that decouples functionality from data, and Shared Substance, a middleware implemented in Substance that provides powerful sharing abstractions. We describe our implementation of two applications with Shared Substance and discuss the insights gained from these experiments. Our finding is that the combination of a data-oriented programming model with middleware support for sharing data and functionality provides a flexible, robust solution with low viscosity at both design-time and run-time.

[1]  Armando Fox,et al.  The Interactive Workspaces Project: Experiences with Ubiquitous Computing Rooms , 2002, IEEE Pervasive Comput..

[2]  Steven K. Feiner,et al.  A distributed 3D graphics library , 1998, SIGGRAPH.

[3]  Duncan Rowland,et al.  Interweaving mobile games with everyday life , 2006, CHI.

[4]  Alan J. Dix,et al.  A taxonomy for and analysis of multi-person-display ecosystems , 2009, Personal and Ubiquitous Computing.

[5]  Kentaro Toyama,et al.  Toward universal mobile interaction for shared displays , 2004, CSCW.

[6]  Dan R. Olsen,et al.  Evaluating user interface systems research , 2007, UIST.

[7]  Mark W. Newman,et al.  Challenge: recombinant computing and the speakeasy approach , 2002, MobiCom '02.

[8]  Mark W. Newman,et al.  User interfaces when and where they are needed: an infrastructure for recombinant computing , 2002, UIST '02.

[9]  Renato Pajarola,et al.  Equalizer: A Scalable Parallel Rendering Framework , 2008, IEEE Transactions on Visualization and Computer Graphics.

[10]  Pat Hanrahan,et al.  ICrafter: A Service Framework for Ubiquitous Computing Environments , 2001, UbiComp.

[11]  Tim Kindberg,et al.  A Web-based nomadic computing system , 2001, Comput. Networks.

[12]  Armando Fox,et al.  The Event Heap: a coordination infrastructure for interactive workspaces , 2002, Proceedings Fourth IEEE Workshop on Mobile Computing Systems and Applications.

[13]  Jun Rekimoto,et al.  Pick-and-drop: a direct manipulation technique for multiple computer environments , 1997, UIST '97.

[14]  Norbert A. Streitz,et al.  i-LAND: an interactive landscape for creativity and innovation , 1999, CHI '99.

[15]  Steven K. Feiner,et al.  Language-level support for exploratory programming of distributed virtual environments , 1996, UIST '96.

[16]  John Kubiatowicz,et al.  Operating system services for wide-area applications , 1998 .

[17]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[18]  David E. Culler,et al.  WebOS: operating system services for wide area applications , 1998, Proceedings. The Seventh International Symposium on High Performance Distributed Computing (Cat. No.98TB100244).

[19]  Greg Humphreys,et al.  Chromium: a stream-processing framework for interactive rendering on clusters , 2002, SIGGRAPH.

[20]  Ken Hinckley,et al.  Passive real-world interface props for neurosurgical visualization , 1994, CHI '94.

[21]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[22]  Roy H. Campbell,et al.  Gaia: enabling active spaces , 2000, ACM SIGOPS European Workshop.

[23]  Michel Beaudouin-Lafon,et al.  Instrumental interaction: an interaction model for designing post-WIMP user interfaces , 2000, CHI.

[24]  Sanjiva Weerawarana,et al.  Unraveling the Web services web: an introduction to SOAP, WSDL, and UDDI , 2002, IEEE Internet Computing.

[25]  Dan R. Olsen,et al.  Cross-modal interaction using XWeb , 2000, UIST '00.

[26]  Terry Winograd,et al.  PointRight: experience with flexible input redirection in interactive workspaces , 2002, UIST '02.

[27]  Jim Waldo,et al.  The Jini architecture for network-centric computing , 1999, CACM.

[28]  Norbert A. Streitz,et al.  Connectables: dynamic coupling of displays for the flexible creation of shared workspaces , 2001, UIST '01.

[29]  Mark W. Newman,et al.  Experiences with recombinant computing: Exploring ad hoc interoperability in evolving digital networks , 2009, TCHI.

[30]  Hao Jiang,et al.  WeSpace: the design development and deployment of a walk-up and share multi-surface visual collaboration system , 2009, CHI.

[31]  Robert Grimm,et al.  System support for pervasive applications , 2004, TOCS.

[32]  Tzilla Elrad,et al.  Aspect-oriented programming: Introduction , 2001, CACM.

[33]  Steven K. Feiner,et al.  A Distributed 3 D Graphics Library , 1998 .

[34]  M. van Steen,et al.  An Object Model for Flexible Distributed Systems , 1995 .

[35]  Clemens Nylandsted Klokmose,et al.  VIGO: instrumental interaction in multi-surface environments , 2009, CHI.

[36]  Steve Vinoski,et al.  CORBA: integrating diverse applications within distributed heterogeneous environments , 1997, IEEE Commun. Mag..

[37]  James Beck,et al.  Challenges: an application model for pervasive computing , 2000, MobiCom '00.

[38]  Peter Tandler,et al.  The BEACH application model and software framework for synchronous collaboration in ubiquitous computing environments , 2004, J. Syst. Softw..