You are on page 1of 6

Toward Toolkit Support for Integration

of Distributed Heterogeneous
Resources for Tangible Interaction

Cornelius Toole, Jr. Rajesh Sankaran Abstract


Center for Computation and Center for Computation and Building tangibles-based applications for distributed
Technology Technology computing contexts compounds the complexity of
Louisiana State University Louisiana State University realizing tangible interfaces with the complexity of
Baton Rouge, LA 70803 USA Baton Rouge, LA 70803 USA distributed computing. We present preliminary work
corntoole@cct.lsu.edu rajesh@cct.lsu.edu toward a toolkit that represents steps toward
decoupling these concerns. This toolkit enables users to
Brygg Ullmer Christian Dell build tangible applications for a range of computational
Center for Computation and Center for Computation and contexts that vary in the number, type and locality of
Technology Technology tangible interaction devices with minimal changes to
Louisiana State University Louisiana State University source code.
Baton Rouge, LA 70803 USA Baton Rouge, LA 70803 USA
ullmer@lsu.edu cdell@cct.lsu.edu Keywords
Tangible user interfaces, distributed user interfaces,
Kexi Liu Christopher Branton tangible interaction toolkits
Center for Computation and Center for Computation and
Technology Technology ACM Classification Keywords
Louisiana State University Louisiana State University H5.2. Information interfaces and presentation:
Baton Rouge, LA 70803 USA Baton Rouge, LA 70803 USA Miscellaneous.
kliu@cct.lsu.edu branton@lsu.edu
General Terms
Copyright is held by the author/owner(s). Design, Human Factors
TEI 2011, January 23–27, 2011, Funchal, Madeira, Portugual.
ACM 978-1-60558-930-5/10/04.
2

Introduction tangible-based applications that target a range of


Computing applications and services we use everyday computing contexts within minimal code changes. This
are increasingly distributed and multi-granular. toolkit is characterized by:
Datasets are becoming more numerous, massive and  Flexibility via interaction resource proxies
spread about the world. Processing elements are
 Abstract interfaces that encapsulate interactive
scaling both up and out as with the move toward
behavior
multiple core processing and the proliferation of objects
with embedded processors and network connectivity.  Network-transparent interaction device integration
But we face significant challenges to engaging these
resources through user interaction. For emerging Related Work
interactive paradigms such as tangible and embedded This paper builds upon related work primarily in the
interfaces, the challenges of tangible interface areas of tangible interface toolkits. Several tangible
development are compounded with the complexity of interface toolkits handle device management details
integrating distributed, heterogeneous resources. and provide users with abstractions that present
physical interaction devices as physical widgets or
Large-scale scientific visualization is an application physical event generators [4, 7, 9, 12]. Several toolkits
domain for which distributed, heterogeneous computing support integration of tangible input based upon
is becoming more commonplace. Our collaborators computer-vision [8, 9, 11]; other toolkits support the
build applications and services for visual analysis of integration of mechatronic-based tangibles [2, 4, 5,
huge volumes of scientific data (several gigabytes to 12]. Our toolkit is agnostic to the underlying sensing
petabytes), hosted on servers across the globe. We technology and can support both vision and
have co-developed several tangible interaction-based mechatronic tangibles via APIs for a class of tangible
applications for distributed computing contexts, one of interactors [9, 13]. Virtual objects that exhibit behavior
which we overview in this paper. From these of a given modality can be bound to a given concrete
experiences we identify several distributed tangible interactor regardless of physical implementation.
interaction concerns:
Tangible interaction toolkits also differ in the range of
1. The concern of integrating diverse, physical
computational contexts they can support. Several
interaction devices;
toolkits were designed with native support for localized
2. Concerns of mapping user input to desired behavior interaction [4, 9]. Some toolkits employ communication
onto objects within the domain functional core; mechanisms typical to ubiquitous computing systems
3. The concern of coordinating interactive elements [2, 10] in which distributed components are integrated
over several types of communication channels without a priori knowledge. These interaction-
programming approaches simplify the integration of
We present a toolkit prototype that separates these many components. Other toolkits are based upon a
concerns. This toolkit supports development of client-sever communication model, yielding higher
3

performance and simple designs for simple These proxies provide a gateway for accessing one or
configurations [8]. Another approach is to hide more resources. These resources currently include
network-programming details, resulting in a interaction devices (physical and virtual) and in the
programming approach that more closely resembles future other computational capabilities (e.g. data
familiar development environments [10]. Our approach services, application domain objects and services).
seeks to support the construction of distributed tangible These proxies can be bound dynamically at runtime.
applications that yield scalable performance but not in For instance a developer may add to her interface
apparent system complexity. composition a proxy for a rotary input that may be
physically connected to her host computer and at
A Tangible Interaction Toolkit Prototype another time wish integrate a dial connected to some
Motivated by earlier experiences in developing tangibles other host via network.
for distributed, heterogeneous computing we are
building a toolkit, tentatively called TUIKit. We are Generic APIs for Interactive Resources
motivated by the possibility of an interactive system Our toolkit provides APIs that abstract implementation
architecture that allows a developer to disregard specific details for a given physical interaction modality.
whether some component is local or remote so long as An interactive proxy provides a concrete resource by
it is appropriate, available and provides acceptable implementing that provider's interface. This approach
performance. We also envision an architecture that builds on the approach of several tangible programming
gives interaction designers the option of several toolkits to provide abstract APIs for multiple tangible
components that provide a given function despite interaction device implementations [4, 5, 7, 10].
diverse implementations and forms.
Adaptors for Heterogeneous Resources
Fig. 1 illustrates the core components of the current While interaction resource proxies provide a generic
TUIKit architecture. This work-in-progress toolkit is programming interface, adaptors translate between the
based upon several core concepts: abstract interface for a class of interactive resource
providers and a particular interaction resource
Figure 1 TUIKit Architecture: A Module
Layout Diagram 1. Loose coupling through composition of proxies; implementation. It is through these adaptors we intend
to expose features unique to a particular resource
2. Generic APIs for overlapping capability providers;
provider.
3. Adaptors to access heterogeneous resources;
4. And communication transparency. Communication Channel Transparency

Loose coupling via composition of proxy objects


In our model, developers compose interactive
applications by adding proxies to an interactive context.
4

Proxies are bound to the concrete resources they international competition on innovative uses of large-
represent over an interaction message bus that scale computing resources in which a collaborator uses
provides a generic interface for several communication using tangibles from Shanghai, China to control giga-
models (e.g. client-server, publish-subscribe, multicast, scale data visualization on resources in the
Figure 2a User uses physical dials to
peer-to-peer) over several communication channels southeastern United States [6].
control a remote-generated (network sockets, Unix pipes for inter-process
visualization of black hole simulation communication, shared memory for intra-process
data communication). Using this approach resources for Surface Oil Spill Data Visualization Tangibles
interaction are integrated in a network-transparent The April 2010 BP Oil Spill has sparked much research
manner. Currently, TUIKit only uses client-server and and public outreach activity. One effort in which we
publish-subscribe communication models, but we will have been involved concerned the development of a
explore other models in the future. Microsoft Surface application for visualizing geospatial
data related to the BP Oil Spill (Fig 2b). TUIKit was
used to explore the integration of tangible interaction
Use Cases techniques within the tabletop environment. Users
Here we describe two uses of TUIKit for development of could engage the application via a Surface-mediated
distributed tangibles-based applications. tangible that supports physically constrained touch-
based interaction as well as the manipulation of tagged
Figure 2b Gulf of Mexico Oil Spill Tangible for Large Scale Interactive Visualization objects to simulate physical controls. This same artifact
Data Visualization User Interaction Our collaborators are developing an environment for can be mediated by an Apple iPad to provide similar
can be driven by casier tangibles
real-time, interactive large-scale data visualization functionality. We call these objects, casier tangibles,
[15] that are mediated both by the
MS Surface and Apple iPad.
applications. Many of the use-cases supported by this which are discussed in depth by Ullmer et al [15].
environment involve the use of remote distributed
resources for data, and graphics rendering. Work Toolkit Implementation Status
sessions supported by these systems may involve TUIKit consists of device drivers and plug-ins, a device
multiple users at multiple locales engaging several manager, an interaction message bus and class library
visualization services instances. In earlier efforts to with bindings for python, Java and C#. TUIKit currently
support remote interactive visualization, they found supports several mechanical-electronic (mechatronic)
tangible interaction to have favorable properties, and interaction devices including dials based upon several
so we were asked to design tangibles to drive user types of sensors and an RFID reader, which were all
interaction. The tangibles we provided were based on developed using the Blades and Tiles modular
the parameter interaction tray tangible, in which interaction hardware toolkit [14]. This toolkit also
abstract parameters of visualization can be bound to supports commercially available physical interaction
individual physical controls [15, 16]. TUIKit was used to devices including the Griffin Powermate media control
integrate remote user interaction, (Fig. 2a). An early knob, and RFID modules by ID Innovations and Olimex.
demonstration of this was a winning entry in an For the Surface Oil Spill application, we wrote an
5

adapter to transform OSC messages generated by the OpenGL/C++, and C#/Windows Presentation
touchOSC iphone/iPad application. We are currently Frameworks (WPF).
preparing TUIKit for release as an open source library.
TUIKit builds upon the innovations of many prior and
parallel efforts for building applications that employ
post-WIMP interaction techniques. Ultimately, we wish
class vizController:
...
to realize system architectures capable of scaling in the
//Zoom camera when dial is turned number of users, devices and locales. In the future we
def zoomOnDialEvent(self, event): will perform performance tests to evaluate how scalable
delta = event.value - self.last_val TUIKit is. Our goal is to achieve responsiveness of at
self.zoom(delta)
least 10 events per second per device (~100ms per
def main():
device-event) and low jitter for interaction over high
ixerCtrl = interactorController() latency network connections. We think this is possible
dial1 = ixerCtrl.getInteractor('rotary1') because the interaction message bus is based on
vizCtrl = vizController() communication infrastructure designed to handle 1000s
dial1.addListener(TUIKit.ROTATEDIAL,
of message per second [1]. The challenge will be
vizCtrl.zoomOnDialEvent)
ixerCtrl.add(dial1)
providing developers with abstractions that allow them
ixerCntrlr.start() to more easily design and manage such large systems.

Figure 3 Code Snippet: Using TUIKit to control visualization


camera zoom with rotary input
Acknowledgements
This work has been supported in part by NSF MRI-
Discussion
0521559, IIS-0856065, EPSCoR RII-0704191, and La.
The code snippet in Fig. 3 shows how one might
BoR LEQSF (2008-09)-TOO-LIGO Outreach. Thanks
integrate a rotary input to control the zoom camera
also to Alex Reeser, Landon Rogge, Andrei Hutanu and
function within a visualization application. Early
Jinghua Ge.
versions of the TUIKit class library were used in two
semesters of an introductory interface design and
technology course. This library was used for integrating
References
physical controls and tangibles with existing graphical
[1] 0MQ – Zero Message Queue Protocol
user interfaces, and so there was a desire to integrate http://zeromq.org/
into programming environments familiar to the
[2] Ballagas, R., Ringel, M. Stone, M. and Borchers, J.
students. At the time of this writing, TUIKit has been iStuff: A Physical User Interface Toolkit For Ubiquitous
used to integrate tangible input into applications built Computing Environments. In Proc. of CHI'03, ACM
with Java SWT, Java Swing, Processing/Java, Press (2003), 537-544.
6

[3] Couture, N., Rivi`ere, G. and Reuter, P. GeoTUI: A Software Technologies for Future Embedded and
Tangible User Interface For Geoscience. In Proc. of TEI Ubiquitous Systems, IEEE Computer Society (2005),
'08, ACM Press (2008), 89–96. 63–70.
[4] Greenberg, S. and Fitchett, C. Phidgets: Easy [11] Kumpf, M. Trackmate: Large-Scale Accessibility Of
Development Of Physical Interfaces Through Physical Tangible User Interfaces. Master's thesis, MIT, 2009.
Widgets. In Proc. UIST'01, ACM Press (2001), 209-218.
[12] Marquardt, N. and Greenberg, S. Distributed
[5] Holleis, P. Programming Physical Prototypes. In Physical Interfaces With Shared Phidgets. In Proc. of
Proc. of the 1st International Workshop on Design and TEI '07, ACM Press (2007), 13–20.
Integration Principles for Smart Objects, 2007.
[13] Myers, B. A New Model For Handling Input. ACM
[6] Hutanu, A., Schnetter, E., Benger, W., Bentivegna, Trans. Inf. Syst.8, 3 (1990), 289–320.
E., Clary, A., Diener, P., Ge, J., Allen, G and others. [14] Sankaran, R. Ullmer, B., Ramanujam, J., Kallakuri,
Large Scale Problem Solving Using Automatic Code K., Jandhyala, S., Toole, C., and Laan, C. Decoupling
Generation and Distributed Visualization. Scalable Interaction Hardware Design Using Libraries Of
Computing: Practice and Experience 11, 2 (June 2010), Reusable Electronics. In Proc. of TEI'09, ACM Press
205–220. (2009), 331–337.
[7] Johanson, B. and Fox, A. Extending Tuplespaces for [15] Ullmer, B., Dell, C., Gill, C., Toole, C., Wiley, H-C.,
Coordination in Interactive Workspaces. Journal of Dever, Z., Rogge, L., Bradford, R., Riviere, G.,
Systems and Software 69, 3 (2004), 243–266. Sankaran, R., Liu, K., Freeman, C., Wallace, A.,
[8] Kaltenbrunner, M. and Bencina, R. ReacTIVision: A DeLatin, M., Washington, C., Reeser, A., Branton, C.,
Computer-vision Framework for Table-based Tangible and Parker, R. Casier: Structures for Composing
Interaction. In Proc. of TEI'07, ACM Press (2007), 69- Tangibles and Complementary Interactors for Use
74. Across Diverse Systems. To appear in Proc. of TEI’11,
[9] Klemmer, S. and Landay, J. Toolkit Support for 2011.
Integrating Physical and Digital Interactions. Human- [16] Ullmer, B., R. Sankaran, S. Jandhyala, B. Tregre,
Computer Interaction, 24, 3 (2009), 315–366. C. Toole, K. Kallakuri, C. Laan, M. Hess, F. Harhad, and
[10] Kobayashi, N., Tokunaga, E., Kimura, H., Hirakawa, U. Wiggins. Tangible Menus And Interaction Trays: Core
Y., Ayabe, M. and Nakajima, T. An Input Widget Tangibles For Common Physical/Digital Activities. In
Framework For Multi-Modal And Multi-Device Proc. of TEI'08, pages 209–212, 2008
Environments. In Proc. of the Third IEEE Workshop on

You might also like