8.3 Appliance Design
8.3.1 Form Follows Me
When designing smart devices, it is important to take some
design issues into consideration before starting to build the
device and the services around it. First, it is important to define
the target groups and the related services. Based on this
information, one should decide on a type of device that is adequate
for this
group
(which could be, for example, a PDA, an Internet
stereo, a refrigerator, or a Web pad).
Next
, it is important to
understand what the
related
services for the product will be and in
which environment it will be operated. Is it used, for example,
indoors, outdoors, in a hot or cold environment? Depending on these
requirements, the device will look different. Also of great
importance is knowing of which context the application should be
aware. Should it know its position, the outside temperature, or in
which process step the user is at the moment? This will help to
determine which additional sensors are required to make it easy to
use. Appropriate context will make possible a great simplification
of the
user
interface. Last, but not least, the target cost of the
product should be clarified to make it commercially successful.
Currently, no one
knows
exactly what the customer will find
useful. Manufacturers need to have adaptive designs and need to
keep in touch with how the user
interacts
. It is important that a
user does not have to learn a whole new way of interacting with the
system, or it will fail (e.g., many older people who would benefit
from buying a home PC are put off by an aversion to operating it).
It is not enough to provide a mass of different devices for
different user
tasks
, each connected to the network. The device
must be easy, compelling, and enjoyable to use. Each device will
compete
others for space, mind share, and power outlets. As a
consequence, some devices will be multifunctional,
absorbing
and
displacing others.
Appliances must be designed from the perspective of the overall
user experience. This includes the whole life cycle of ownership
from initial advertising to purchase, installation, and use, to
support, upgrade and eventual replacement.
Ergonomics play an important role in designing
intelligent
appliances. Only with good ergonomics will people use them. What
needs to be taken into account is the human anthropometry in
relation to workspace design. It is important to see how well the
human and the appliance interact and how it can be improved for
maximum performance. The arrangement of displays and controls needs
to be
verified
and checked if they are to be linked properly.
Also to be taken into account are the cognitive and
sensory
limits of
humans
, which can make design unusable if the limits are
ignored. Related to this, it is also important to check for fatigue
and health issues that may arise from using the appliance. This is
important when you design not only for the disabled, but for all
users.
When designing the hardware, interfaces such as CRT and other
display technologies need to checked for sensory and perceptual
effects. You
especially
need to check legibility and display
design. The interfaces need to be checked against the possible
environment. These factors are even more true for speech input and
output. If the device is
meant
to work outside, for example, you
should make sure that you consider all possible weather conditions,
including severe
temperatures
, winds, and
storm
conditions. You
should also provide clear guidelines for its use under various
environmental conditions, especially those that may be
considered
unsafe. If you use speech input and/or sound output, you should
make sure that it can function under normal environmental noise
factors and accommodate
accordingly
. Obviously, if you are
designing a device to be used at a construction site, for example,
you'll want to consider the optimal method for communicating with
the device based on factors typical to such an environment.
Likewise, additional care needs to be taken if you expect the
devices to work in stressful or hazardous environmentsmake sure its
design and
endurance
is appropriate to the situation in which it is
expected to work.
Related to the interfaces, you need to make sure that the
control design of the system is developed in a way that the users
can use it without having to learn a lot. It means that the
sequence of controlling the device is clearly structured and that
you are only allowed to execute functions that are appropriate for
this stage. The most favored devices will be ones that quickly
acquaint
themselves
with their new masters, probably by
borrowing
knowledge and learned preferences from other appliances that have
previously
served
the master well.
8.3.2 Technology Follows Me
Me-centric
computing devices will be extremely diverse,
including PDAs, set-top boxes, screen phones,
in-vehicle
computing
platforms, smart phones, and home gateways, to
name
a few. As the
market matures, this list of devices will continue to expand into
areas that we cannot even imagine today. Described in this section
are some of the requirements that must be addressed in order to
build economically
viable
and successful devices.
Me-centric devices must appear to be appliances, not computers.
This has implications such as instant on, user interfaces that
match the function of the appliance, deterministic response times
(even when disconnected), and clear and tight association between
buttons, dials, and functions. A network-enabled set-top box's
first priority is to deliver
high-quality
audio-visual content. The
new functions associated with
buttons
and dials need to be as
responsive
as today's remote control when changing channels on a
set-top box.
These devices target a broad range of price points, form
factors, and hardware capabilities. Requirements vary across user
interface models (including a range for both audible and small,
medium, and large manual/visual), power requirements (battery life
versus AC power), processor families (ARM, x86, PPC, MIPS, Hitachi
SH, etc.), and network capabilities (fully connected, sporadically
connected, and/or disconnected operations).
Human-computer interaction appropriate to the task and location
needs to be sorted out. Liquid crystal display (LCD) touch screens,
voice recognition, and text-to-speech output look like far better
alternatives to the traditional PC with keyboard and mouse as
methods
of input and output. A consistent software user interaction
model will also help achieve the wider goal of simplified learning
and use. Also, it will
encourage
application development, thus
avoiding software companies having to transfer their products to
several different platforms. Existing desktop operating systems
will not adapt well, as they depend on the present user
input/output methods.
To be successful, it is necessary to rethink product concepts.
While many manufacturers still think that the products they sell
will create the profit the company wants to make, it is necessary
to think of products as potential service offering platforms. These
service offerings drive ongoing interaction with customers, which
can become the cash-cow for the company. Eventually, it will be
possible to give away the device for free, as the service fees will
make sure that the company receives its share in the deal.
This has worked quite successfully with mobile phones. In
Germany, the United States and Italy, for example, many mobile
phones are sold for less than 1 euro/dollar or given away for free
if the buyer subscribes to the phone network for at least two
years
. While the sale of the mobile phone would give the company a
higher instant reward, selling subscriptions
guarantees
the company
an income for the next two years.
To make this work, it is necessary to rethink existing business
models. Ongoing annuity revenue becomes part of the picture, and
customer relationships become a
valuable
asset in creating new
partnerships, which build on brand recognition and trust. This
creates opportunities to both offer services and to serve as a
service integrator.
Through this new approach, it is possible to leverage increased
customer interaction and data collection capabilities, which can
lead to an increase in customer satisfaction. It also allows
companies to provide improved products to the community and
increases
the company's partnership value and power lines.
When designing an appliance, it is important to make sure that
one has the service in place before starting to design the
hardware. Only this will guarantee that you reach the business goal
that you are planning for (see also Table 8.2).
Table 8.2. Creating Value in Product Design
|
In
Creating Breakthrough Products
, Craig Vogel and
Jonathan Cagan identify seven classes of attributes that can create
value by contributing to a product's
usefulness
, usability, and
desirability, which create an experience that fulfills a consumer's
fantasy.
|
-
Emotion
The perceptual experience that a consumer
has when using a product. It can include a sense of adventure,
independence, security, or sensuality.
-
Aesthetics
A focus on sensory perception, including
the visual form, tactile interactions, and auditory, olfactory, and
gustatory signals.
-
Product Identity
A statement about
individuality
and personality,
expressing
uniqueness, timeliness of style, and
appropriateness in the context.
-
Impact
The social or environmental effects, which
are connected with the customer's personal value system and can
often help build brand loyalty.
-
Ergonomics
A product's basic usability reflects its
ease of use from both a physical and a cognitive perspective. It
must also be safe and comfortable.
-
Core Technology
The ability to function properly
and perform to expectations. It must be reliable enough to work
consistently.
-
Quality
The durability, precision, and accuracy of
manufacturing processes, material composition, and methods of
attachment must all meet the customer's expectations.
|
Important for me-centric appliances is the so-called "last mile"
network connectivity to support the delivery of both data and
application services. These include security models, device
management, user management, content formatting, and software
distribution requirements. Short-range ad hoc networking
technologies, such as Bluetooth, HomePNA
[3]
, or WLAN
based on IEEE 802.11 are becoming more common. This connectivity
capability has implications on the device architecture requiring
seamless support for transparent, appliance-like, ad hoc
collaboration among these devices themselves.
[3]
http://www.homepna.org/
Table 8.3. Classes of Intelligent Appliances
|
Intelligent appliances can be grouped into four classes that
address the complete landscape of requirements.
|
-
Thin
Clients
Render network delivered content to
the user, either visually, audibly, or both with no local state
information.
-
Thick Clients
Support applications using a
programming model that is native to the device.
-
Gateways
Interface to the "last mile" of broadband
capability while
simultaneously
providing the ability to host
network-delivered services to be used on
behalf
of other devices in
the network.
-
Server Configurations
Support the combination of
gateway, thin terminal and thick terminal capabilities to allow, in
a single device, hosted services, device-specific applications and
content rendering for network delivered data.
|
{% if main.adsdop %}{% include 'adsenceinline.tpl' %}{% endif %}
Typically, intelligent appliances are grouped into four classes
(see Table 8.3). These four classes address the whole range of
requirements that we can foresee for the moment. They include thin
clients, thick clients, gateways, and server configurations. The
thin terminals do not contain any business logic themselves. They
are used to deliver content, either visually, audibly, or both with
no local state information. They act as a relay station for
information and services. The advantage is that the footprint is
rather small, but
unfortunately
these devices rely heavily on
network connectivity, as they do not work without it.
Thick clients are like thin clients, but they have a larger
memory footprint allowing the device to run applications and store
data locally. This means that these devices can
operate
if there is
no Internet connection. These devices support applications using a
programming model that is native to the device. In many cases, Java
is used. Gateway systems act as a local cache for thin and thick
clients. They provide the gateway to the "last mile" of broadband
capability. At the same time, these systems provide the ability to
host network-delivered services to be used on behalf of other
devices in the network. A server configuration supports the
combination of gateway, thin clients and thick client capabilities
to allow, in a single device, hosted services, device specific
applications, and content rendering for network-delivered data.
To make me-centric solutions cheap enough for everyone to use,
it is important to create reusable device architectures. This
includes hardware
components
and a set of programming models that
are used across device and network types to allow for the
construction and deployment of device classes across the complete
range of devices.
To connect an intelligent appliance to the network (Internet and
LAN), discovery protocols need to be implemented that allow the
appliance to search for networks and services that surround it.
Once the appliance has found a network, it can connect to other
appliances through LAN technologies, such as Bluetooth, HomePNA, or
IEEE 802.11. At the same time, it will be connected either directly
or via another local device to the Internet. While connectivity is
desired, privacy can be an issue due to the lack of security. Not
every device and service should be able to see each other, so smart
cards, firewalls and encryption technologies are required for the
authentication and authorization of users,
agents
, and
services.
A more technical discussion will lead to questions on how much
power consumption is necessary to keep operations
alive
for a time
that is acceptable by the user. This will lead to the question of
whether you can use a
rechargeable
battery or whether you need to
plug the device into a power socket. This will define the range of
use for a certain device, which can lead to major design
changes.
The application will define the hardware requirements. If
complex calculations are required, a faster CPU will be required
that in
turn
consumes more power. The same question arises about
memory and networking usage. Does the device require 4 Kilobytes or
512 Megabytes of memory? Does it need a slow infrared connection or
a high-speed wireless LAN connection? This will have a huge impact
on the power consumption and the design of the whole device. The
same is true for output and input interfaces, such as displays and
microphones and for sensors that help to give context to the
device, such as GPS. Many other technical questions need to be
answered
before the device can be built, but in all cases the
device should not be built because of the technical capabilities,
but because of the requirements of the users and the proposed
services.
8.3.3 Software Follows Me
Me-centric devices need content to deliver value. New devices
cannot wait for entirely new custom content to be created in order
to be successful. A cogent content architecture must address
existing devices and lower the entry
barrier
for future devices
seamlessly for all content providers in the value chain. This
end-to-end content architecture also needs to ensure that new
devices can be added while still supporting the network scalability
demanded by millions of connected devices. Furthermore, as devices
collaborate among themselves, the content needs to be naturally
sharable
and reusable.
Therefore the solution needs to use open standards that are not
controlled by one entity and are easy to extend. It does not mean
that everything needs to be
open
source, but the basic
communication and application standards need to ensure
compatibility of interfaces.
The software architecture needs to support both synchronous user
request-response
and asynchronous user messaging and notification.
Depending on the application you are using and the requirements the
users have, they will need both. The architecture needs to provide
end-to-end scalability, which allows for growth in applications and
user base. Applications can become more complex over time and may
require more processing power and network resources. Besides
end-to-end scalability, management is a very complex and important
topic that needs to be taken into account. The management system
supporting the solution needs to take care of users, devices,
network-delivered applications, and content. Only through the
management system is it possible to detect problems in this
networked system. Just imagine a Web site that does not work
anymore. The reasons for it can be
manifold
. It could be the device
that you use to display it; it could be the browser, the
connection, the server, the application, the database, the
firewall, or the filesystem, just to mention a few reasons why a
certain Web site cannot be displayed. Finding the problem that
caused the downtime can be difficult if you have to do it manually.
Therefore, automated management systems are required to manage the
solution.
As the solution uses open standards, it will be possible to
integrate third-party components, products, and adapters through
well-defined
interface points. This makes it possible to create
more complex solutions that
incorporate
a range of different
products and technologies from multiple software providers. Based
on this software infrastructure, it is possible to reuse end-to-end
network programming models. The supporting application model is
based on components. These components work together in a cohesive
manner to enable the construction of a wide variety of
network-connected
devices to address the device capabilities
outlined earlier.
When designing the device, it is important to decide which
operating system will run on it. While most applications will be
written in Java, the different operating systems provide additional
built-in features that are not to be neglected. Such features
include speech recognition, applications, tools, control panel
applets, custom shell, and handwriting recognition. This feature is
bound to the device you are using and should be tightly integrated.
Therefore, the decision for the operating system should be based on
the additional services it provides.
Another important factor that needs to be considered in design
is how new application code and content is downloaded to the
device. Until now, most applications are transmitted via memory
card or cable to these devices, which is slow and not very
flexible. As more and more public WLAN access points are set up and
GSM/UMTS-capable devices appear, it becomes clear that the content
is transmitted on the fly
wirelessly
. But in some situations, it
could be useful to put information on a memory card or to exchange
information via memory card, in case there is no network
connectivity available. Therefore, the device should support these
memory cards from a software and hardware point of view.
From here on, you can start a detailed technical discussion
about the software required on the device to make it run. Besides
the operating system, you need a boot loader (a mechanism to load a
program), a BIOS (the initial program that is loaded), and file
systems, which would lead too much into technicalities. While you
do not need to know the details, you should know that there is more
you need to take into account, as these software bits and pieces
require RAM, CPU power, and time to execute, which all can impact
the design of the device.
|