



Eric A. Bier, Ken Fishkin, Ken Pier, Maureen C. Stone
Xerox PARC
3333 Coyote Hill Rd.
Palo Alto, CA 94304 USA
+1-415-812-4000
E-mail: {bier, fishkin, pier, stone}@parc.xerox.com
At the CHI'94 conference we presented a new user interface tool, the Magic Lens(TM) filter, that
combines an arbitrarily-shaped region with an operator that changes the view of objects viewed through that
region. On a computer display, Magic Lens filters appear on a Toolglass(TM) sheet that can be
positioned over applications, much as a magnifying glass is moved over a newspaper. This video quickly
reviews the basics of Magic Lens filters and then illustrates their evolution with examples of Magic Lens
filters in use over a variety of applications.
user interface, see-through, transparent, lens, viewing filter, composition, browsing
At the CHI'94 conference we presented a new style of graphical user interface, the See-Through
Interface(TM) [1, 3, 4]. We have subsequently renamed this interface the Magic Lens(TM)
interface. A Magic Lens filter is a movable, arbitrarily shaped region plus a filter that affects the
appearance of structures viewed through it. This operator can be quite general, accessing the underlying
data structures of the application and reformatting the information to generate a modified view.
Overlapping lenses compose their filters, providing a direct-manipulation way to produce customized
views. In this videotape, we present further developments of the Magic Lens paradigm, focusing on the use
of Magic Lens filters as a tool for exploring and modifying information.
The basic operation of a Magic Lens filter is to read an underlying model of some data, create a new
model based on the lens viewing operation, and format the new model to present a new view of the
data within the lens boundary. Overlapping two lenses composes their functions in bottom to top order;
lenses compose by copying and modifying a sequence of models. The model output by the lower lens is the
input to the upper lens. We illustrate with a simple lens, an xray filter, which makes the interior of shapes
transparent. A second independent filter, a scaling filter, acts as a magnifying glass over part of a scene
[Fig. 1]. The magnification factor may be varied interactively for this scaling filter. By overlapping filters,
we compose their effects. When we bring in a third filter that tints the region below it and position it over
the scaling filter, we get scaling and tinting simultaneously.
Figure 1. The Magic Lenses logo, with arbitrarily shaped scaling and xray
lenses.
Magic Lens filters allow users to preview changes to a model, and to explore different views of that model
without destroying or modifying the underlying data. In graphical editors, movable filters allow the user to
view and understand invisible aspects of the graphical model. For example, one kind of filter shows
bounding boxes around scene shapes. As the filter is moved over the shapes, we can see the bounding
boxes in the context of the entire scene. Through a filter, a viewing aid such as a grid or a function such as
snapping points to scene objects can be exercised in a local region without modifying the global scene view.
We can use filters to safely explore depth ordering without altering the scene. For example, a simple filter
reverses the depth ordering in a 2.5 dimensional drawing. It shows the scene back-to-front, exposing
previously obscured elements for editing and viewing [Fig. 2].
Movable filters can be used across applications. As a result, the investment that a user puts into learning to
use a filter will pay off in many contexts. Filters that work uniformly across many applications include
filters that magnify, change colors, or highlight objects based on graphical properties such as size and color.
In our interface a magnifying lens can work across all applications, because those applications use a
common set of graphical libraries to produce their visual output; the magnifying lens operates at the level of
the graphics library. Filters may also tune their effect based on the specific application in which they are
applied. For example, we have created a "Definition" filter that has semantics particular to each
application. If we select a word in a text editor, the filter displays the dictionary definition of that word. If
we select a shape in a graphical editor, then we see a description of that shape. Finding definitions makes
sense in both editors. The definitions simply differ in character. Figure 3 illustrates a "Definition" filter
with the definition of the word "selection".
Figure 3. A "dictionary definition" lens over some text.
We have built a map browsing application with unusual, powerful capabilities based on Magic Lens filters.
The application uses a Census Bureau database of streets and roads. We illustrate the capabilities with
lenses that reduce clutter and detail in the large, that restore detail in specific areas of interest, that
automatically annotate map features from the database, and that compose magnification and detail for an
exploded view of a map region. Figure 4 shows a map fragment covered first with a lens that supresses
details and then with two lenses showing detail in two different locations of interest. Figure 5 has a lens that
shows the text tags for the indicated segment of road. Finally, Figure 6 shows the composition of detail and
magnification lenses that result in an exploded view of an area.
Figure 4. Lenses showing detail in two different locations.
Figure 5. The lens shows the text tags for the indicated segment of road.
Figure 6. The lenses show the exploded, detailed view of interest.
In summary, Magic Lens filters are new tools for enhancing user interaction. Unifying many functions into
a single paradigm, they provide a powerful design space for future user interfaces.
Abstract
Keywords:
SCENE 1: Introduction AND REVIEW
SCENE 2: LENSES AND COMPOSITION
SCENE 3: SAFE SCENE EXPLORATION
SCENE 4: FILTERS OVER MULTIPLE APPLICATIONS
SCENE 5: MAP BROWSING
SCENE 6: CONCLUSION