Make interactions
feel real
Visuals
RealThings should look real all of the time,
even while being moved and sized. If you use Microsoft's PlusTM for Windows 95 the RealPhone is
fully rendered while it is being moved on the desktop. Likewise,
it is fully rendered as it is being sized and we preserve its
aspect ratio as shown below.
This eliminates any trial-and-error guesswork on the part of the user. They can see exactly what they're getting, how big the controls are and how readable the labels are at every instant.
Because the other RealThings are written in Java, we wrote our own window class that does real-time moving and sizing in Java.
Interaction
To move a RealThing,
press, hold, drag, and release with mouse button 1 while pointing at any area that
is not interactive. For example, you can move the
RealPhone by pointing anywhere on the case. The handset,
speed-dial buttons, rocker switch, and volume control each do
something else so you can't move the phone by pointing at them.
As soon as a move operation is detected, we change the pointer
to a four-pointed arrow to tell the user they're moving and not
performing some other function. Move is detected when the button
is pressed and the pointer has moved a small amount.
To size a RealThing,
press, hold, drag, and release with mouse button 1 while pointing
anywhere along the outer-edge of
the visual image. Because there are no visible borders like
today's GUI windows, we change the pointer to a two-ended arrow
when it's over the edge. The pointer remains a two-ended arrow
while the user is sizing.
The most important thing to remember about sizing RealThings is that they remain fully functional regardless of their size. The RealPhone still works no matter how small you make it, and you can make it about the same size as a Windows 95 icon!
When the visual controls become too small to use, and that's a different size for each user, keyboard techniques can be used instead. There's little need to have a non-interactive minimized window when using RealThings. A minimal function view can take the place of a minimized window.