This paper introduces the notion of "universal interaction," allowing a device
to adapt its functionality to exploit services it discovers as it moves into a
new environment. Users wish to invoke services --- such as controlling the lights,
printing locally, or reconfiguring the location of DNS servers --- from their
mobile devices. But a priori standardization of interfaces and methods for service
invocation is infeasible. Thus, the challenge is to develop a new service architecture
that supports heterogeneity in client devices and controlled objects, and which
makes minimal assumptions about standard interfaces and control protocols. There
are five components to a comprehensive solution to this problem: 1) allowing device
mobility, 2) augmenting controllable objects to make them network-accessible,
3) building an underlying discovery architecture, 4) mapping between exported
object interfaces and client device controls, 5) building complex behaviors from
underlying composable objects. We motivate the need for these components by using
an example scenario to derive the design requirements for our mobile services
architecture. We then present a prototype implementation of elements of the architecture
and some example services using it, including controls to audio/visual equipment,
extensible mapping, server autoconfiguration, location tracking, and local printer
access.