clear space
Disclosure
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 view
minimal view of RealCD controlsThe 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 view
RealPhone 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.
clear space

RealPhone full-function view

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.
clear space

RealPhone ancillary view

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.