Disclose discrete levels of function incrementally
Economic use of screen space along with incremental introduction of function are two complementary features demonstrated by RealThings. The use of real-world metaphors might lead you to believe that RealThings would be wasteful of valuable screen space. After all, real-world objects are often encased in lots of plastic, steel, or wood that has no function other than physically containing the object's "contents".
In the computer interface our goal is to make each object immediately recognizable by the user. This can be achieved through shape recognition and the use of other visual cues. But we don't need to keep the recognizable version of the object around all of the time. Similarly, the user probably doesn't always need the full-function of an object at their fingertips. Each RealThing provides a sequence of views that use screen space judiciously and present function in logical increments.
Object views
In the RealThings implemented so far, we have identified four
levels of object views:
Each RealThing should provide several of these views but may not need to provide all of them.
Minimal viewThe minimal view
provides the most basic level of
function and doesn't necessarily resemble the object's real world
counterpart. The minimal view of the RealCD consists of only the
playing controls (due to Java implications, this view is not in
the first release). The RealPhone does not provide a minimal view.
Base viewThe base view provides a basic level
of function in a
form that's immediately recognizable by the user. The base view
of the RealCD shows the playing controls on the edge of a CD
jewel case, which identifies the CD. The RealPhone's base view
looks like a real-world telephone. It provides ten speed-dial
buttons, a volume control, a functional handset, and a rocker
switch that toggles to the full-function view.
Full-function view
The full-function view expands on the base view by
adding extra function that may be used less frequently. The
full-function view of the RealCD shows an open jewel case that
lists the CD tracks. It also makes the CD booklet available. The
RealPhone's full-function view, as shown below, adds a numeric pad and buttons for
Flash, Mute, and Redial.
Ancillary views
The ancillary views show aspects of the object that may
be used occasionally, such as configuration settings and
instructions for use. The RealPhone provides an animated slideout
tray that contains a notebook. The notebook contains a phone
number list, fields for adding new names and numbers, and buttons
for dialing a number from the list or assigning a phone number to
a speed dial button.
Component Device Model
The Component
Device Model is a general model
that defines a base view, full-function view, slideout tray, and tabbed
notebook. It is applicable for implementing a variety of device objects,
such as telephones, fax machines, and printers. The RealPhone is an implementation
of this model. It's an ideal candidate for implementation as a programming
framework. We haven't gotten to that task yet, but if you want to give it
a try we would love to talk with you.