8.2.3 Skirts
Design applications for e-commerce, which involve arranging, assembling, and con-figuring
data objects, will be a prevalent form of next-generation application. Such
applications generally involve concrete real world data, such as architecture, furniture,
and industrial parts. As such, there is a strong sense of "up" and often some notion of
a ground plane like a floor. As long as all the data objects remain on the floor and the
user knows this to be true, visual ambiguity is not much of a problem. If, however,
some objects are inherently off the floor, like lighting fixtures, or can be lifted off of
the floor by the user, like stackable bookshelves, then visual ambiguity becomes a significant
problem. A skirt is a type of projecting feeler that is specially suited to address
this problem.
A skirt is a set of semitransparent planes projecting down from the outer edges
of the host object to the floor. For a rectangular-shaped profile, the skirt will appear
as a translucent box underneath the object, sort of like a Plexiglas pedestal. This is
shown in figure 8.8, and demonstrated in part 4 starting with the PassiveFeeling example
in section 22.1.3. The skirt simultaneously provides the user with several types of
feedback. It serves as an idiom telling the user to pay special attention to the object's
apparent position because the object is not on the floor. In terms of relational feed-back,
it indicates how far the object is off the floor, where the footprint of the object
is on the floor, whether the object is over or in front of any other objects, and whether
an edge of the object is aligned with a neighboring object.
An important question remains: When should the skirt be visible? Showing the
skirt only on the target object while it is actively being dragged minimizes presentation
clutter and is adequate for providing most relational feedback. This approach, how-ever,
leaves the user wondering about all the nontarget objects in the scene, whose vertical
position can be resolved only one object at a time by selecting an object and
observing its skirt or lack thereof. One possible compromise is to show the skirt as part
of the mouseover feedback for all the objects in the scene. Another possibility is to
show all nontarget skirts all the time but dimly, with a high transparency factor, to
minimize clutter.
Figure 8. 8 Adding a skirt to the lamp, which appears during mouseover, clearly
shows the user that the lamp is not on the desk.
8.2.4 Outlines
 |
| Figure 8. 9 Object outlines can indicate
interaction states and the spatial extent
of their host objects. |
A rather simple but versatile element is the
outline. Visually an outline encloses or
delineates its host object or object group.
The most common forms of outlines are
the wireframe and the semitransparent
bounding box. Nonbox shapes such as
spheres, cylinders, and polyhedrons can
also be used; and patterns of dots or lines
can be used for the faces instead of semi-transparent
polygons. As a means of feed-back,
an outline's talents are many and
somewhat specialized. Wireframe object
outlines are demonstrated in part 4 of the
book starting with the PassiveFeeling
example in section 22. 1.3, and several
examples are shown in figure 8. 9.
As a feeler, an outline can show the
spatial extent of the host. As control feedback, its presence around a host object can
indicate that the host is selected or highlighted in some manner. As relational feed-back,
an outline can enclose a group of objects thereby serving as an idiom for grouping.
As a control widget, the outline can serve as a control handle allowing the user
to drag the host object by dragging on the outline. For both efficiency and clutter
reduction, an outline can serve as a proxy for the host object, with only the outline
being seen and not its host object. In terms of efficiency, the outline is often quicker
to render than the object itself, especially during user interaction if the object is large
or complex. In terms of clutter, the outline obscures a lot less of the surrounding scene
than the object itself.
Outlines can also enclose or highlight parts within an object, such as faces, edges,
and vertices. For example, the user might select an edge or face in an object to serve
as the reference for an alignment operation. As the object is dragged, an outline around
the reference part might highlight when the part aligns with a neighboring object. A
part outline can take a number of forms. For example, a 2D polyline or semitransparent
polygon might be used to delineate an object face, a fat 1D line might delineate
an edge, and a small 2D circle might outline a vertex.
8.2.5 Tic marks
 |
|
Figure 8. 10 An example of a tic mark
indicating when a target object edge
is aligned with that of a neighboring
object |
A tic mark is some small line or symbol that
marks a particular spatial position, graduates
a range of spatial positions, or assists with
alignment, like a feeler. A common form of
tic mark is a small line next to a vertex or collinear
with an edge on the target object that
appears to show alignment with surrounding
objects. An example is shown in figure 8. 10.
Unlike projecting feelers, tic marks are less
obtrusive and can make the display appear
less cluttered. The flip side is that they don't
provide as much feedback information as a
projecting feeler. A tic mark simply marks a
single position or angle instead of extending
to surrounding objects to indicate proximity
as well as alignment. Tic marks can be passive,
being visible whenever the host object is
selected or being dragged; or, more typically they can be active and dynamic, appearing
or highlighting when the host object aligns with a part— vertex, edge, face— in
another object.
A common use of tic marks is to indicate graduations for sliding or rotating a tar-get
object, similar to the tic marks on a ruler or protractor. For example, sometimes
it's desirable for rotations to be delimited at certain increments, such as 15 degrees,
in which case radial tic marks might indicate these positions and tell the user that such
delimitations will be imposed. For a linear position, tic marks might indicate graduations
in physical units such as inches, feet, or meters. A special form of tic mark is
the "grid," where the marks themselves are taken to the extreme and are shown as complete
intersecting lines. Grids are useful for aligning and snapping objects at regular
but predefined positions, and are often used in 2D drawing applications. In 3D applications,
grids and tic marks aren't limited to the ground plane. They can be applied
to the walls, ceiling, floor, and even to an empty volume of space.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|