applications, in many cases developers just need a quick way of
visualizing different types of data. For example, a gauge can
be used to visualize speed, a map to visualize location, and a
bar chart to see power use over time. Toolkits should support a
ready-to-use dashboard for quickly visualizing data from the
platform, or to control various actuators in a flexible manner.
D. Control
Sen,se and Paraimpu not only collect data but can output
data, to control or actuate things. This may include sending a
message to a twitter feed, turning on or off an LED, or moving
a servo. In addition to collecting data from sensors, it should
be possible for a toolkit to control things and send data to the
web. It may be desirable for a mashup to turn on the heat just
before I arrive home in the evening, water plants when the soil
becomes too dry, or tweet the current temperature in a
greenhouse to open or close windows. To do this, the toolkit
should support a means for transmitting to web-connected
devices and data feeds.
E. Sharing
Pachube and Sen.se provide a capability for users to share
their integrated thing data streams and, in some cases, other
toolkit components. A key enabler for the web of things is to
permit others to access and use the things that have been
published publicly on the web. It should be possible for users to
make use of things that others have shared and to make use of
things in their own applications, perhaps in ways unanticipated
by the owner of the thing. This requirement means we need a
sophisticated set of mechanisms to publish and share things -
and ways to fmd and access those things.
F. Processing and Alerts
An easy to use information processing capability to support
simple data processing is included with Sen.se as well as
toolkits like Yahoo Pipes. In many scenarios, data from
mUltiple sensors needs to be combined and processed. In some
cases, alerts need to be sent when an interesting event occurs;
Pachube includes such an alerting capability. One challenge in
providing data processing capability in a toolkit is the need to
fmd a balance between ease of use, expressivity and generality
in a programming language. Ideally a toolkit should allow
developers to create their own processing facilities, either by
combining existing processing modules, or creating new ones.
Toward addressing this issue for developers, visual
programming languages have been used to ease the
development of mashups. Yahoo Pipes allows developers to
easily combine Internet data from various sources to provide
new sources of data and simple visuals. Some systems such as
Sen.se and Paraimpu provide configurable processing
components that can be dropped into the system as is, but these
components are relatively stand alone, making it difficult to
combine them to process data in unanticipated ways.