toolglasses and magic lenses scott hudson
DESCRIPTION
Toolglasses and Magic Lenses Scott Hudson. Reading:. Eric A. Bier, Maureen C. Stone, Ken Pier, William Buxton and Tony D. DeRose, “Toolglass and magic lenses: the see-through interface”, Proceedings of the 20th Annual Conference on Computer Graphics , 1993, Pages 73-80. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/1.jpg)
Toolglasses and Magic Lenses
Scott Hudson
![Page 2: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/2.jpg)
2
Reading:
Eric A. Bier, Maureen C. Stone, Ken Pier, William Buxton and Tony D. DeRose, “Toolglass and magic lenses: the see-through interface”, Proceedings of the 20th Annual Conference on Computer Graphics, 1993, Pages 73-80.
http://www.acm.org/pubs/articles/proceedings/graph/166117/p73-bier/p73-bier.pdf
![Page 3: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/3.jpg)
3
Note...
These techniques are patented by Xerox
Don’t know scope of patent, but its likely you would need to license to use them commercially
![Page 4: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/4.jpg)
4
Demonstration Video (CHI 94)...
![Page 5: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/5.jpg)
5
Toolglasses and magic lenses
I will just lump these together as “lenses”
Lots of uses A number of advantages
![Page 6: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/6.jpg)
6
Advantages of lenses
In context interaction– Little or no shift in focus of attention
tool is at/near action point– Alternate views in context and on
demandcan compare in contextuseful for “detail + context” visualization techniques
![Page 7: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/7.jpg)
7
Detail + context visualization
Broad category of information visualization techniques– Present more detail in area of interest
More than you could typically afford to show everywhere
Details may be very targeted– Present in context of larger visualization– Ex: Fisheye views (non-uniform scaling)
![Page 8: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/8.jpg)
8
Advantages of lenses
Two handed interaction– Structured well for 2 handed input
non-dominant hand does course positioning (of the lens)• examples also use scroll wheel with non-dominant hand –scaling: again a course task
dominant hand does fine work
![Page 9: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/9.jpg)
9
Advantages of lenses
Spatial modes– Alternative to more traditional modes– Use “where you click through” to
establish meaning– Typically has a clear affordance for
the meaninglens provides a “place to put” this affordance (and other things)
![Page 10: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/10.jpg)
10
Examples
Lots of possible uses, quite a few given in paper and video
Property palettes– Click through interaction– Again: no context shift + spatial mode
![Page 11: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/11.jpg)
11
Examples Clipboards
– Visible invisibility of typical clipboard is a problem
– Lots of interesting variationsmultiple clipboards“rubbings”
– Can do variations, because we have a place to represent them & can do multiple specialized lenses
![Page 12: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/12.jpg)
12
Examples
Previewing lenses– Very useful for what-if – Can place controls for parameters on
lens Selection tools
– Can filter out details and/or modify picture to make selection a lot easier
![Page 13: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/13.jpg)
13
Examples
Grids– Note that grids are aligned with
respect to the object space not the lens
![Page 14: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/14.jpg)
14
Implementation of lenses
Xerox system in paper: in a shared memory system– All “applications” are in one address
space– Like one giant component tree– Also assumes a common command
language that all applications respond to
![Page 15: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/15.jpg)
15
Implementation of lenses
Lens is an additionalobject “over the top”– Drawn last– Can leave output from below and add
to it (draw over top)– Can completely overwrite output from
belowcan do things like “draw behind”
Root
LensAppAppApp
![Page 16: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/16.jpg)
16
Implementation of lenses
Input side– Changed way they did input
originally used simple top-down dispatch mechanisms
now lens gets events first• can modify (e.g., x,y) or consume
possibly modified events then go back to root for “normal dispatch”
![Page 17: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/17.jpg)
17
Implementation of lenses
Input side (cont)– Need special mechanism to avoid
sending events back to lens 2nd time– Also has mechanism for attaching
“commands” to events• assumes unified command lang
command executed when event delivered
![Page 18: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/18.jpg)
18
Implementation of lenses
Output side Damage management
– Lenses need to be notified of all damageLens may need to modify area due to manipulation of output (e.g. mag)
![Page 19: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/19.jpg)
19
Implementation of lenses
Output side Redraw
– Paper considers several different ways to implement drawing for lensesAmbushModel-in / model-outReparameterize and clip
![Page 20: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/20.jpg)
20
Types of lens drawing
Ambush– catch the low level drawing calls
typically a wrapper around the equivalent of the Graphics object
– and modify theme.g. turn all colors to “red”
– Works transparently across all apps– But somewhat limited
![Page 21: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/21.jpg)
21
Types of lens drawing
Reparameterize & clip– similar to ambush
– modify global parameters to drawing– redraw, but clipped to lens– best example: scaling
![Page 22: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/22.jpg)
22
Types of lens drawing
Model-in / model-out– create new objects and transform
themtransforms of transforms for composition
– very powerful, but…cross application is an issueincremental update is as issue
![Page 23: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/23.jpg)
23
Lenses in subArctic
Implemented with special “lens parent” & lens components
Input– Don’t need to modify input dispatch– Lens may need to change results of
picking (only positional is affected)in collusion with lens parent
LensParent
Lens
Root
![Page 24: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/24.jpg)
24
Lenses in subArctic
Damage management– Lens parent forwards all damage to
all lenses– Lenses typically change any damage
that overlaps them into damage of whole lens area
![Page 25: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/25.jpg)
25
Lenses in subArctic Replace vs. draw-over just a matter
of clearing before drawing lens or not
Two kinds of output support– Ambush(-plus)
Via wrappers on drawable (Graphics)Extra features in drawable make
ambush more powerful– Traversal based (similar to MIMO)
![Page 26: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/26.jpg)
26
Ambush features in drawable
boolean start_interactor_draw() end_interactor_draw()
– called at start/end of component (AKA “interactor”) drawing
– allows tracking of what is being drawn– drawing skipped if returns false
allows MIMO effects in ambush– isolated drawing– predicate selected drawing
![Page 27: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/27.jpg)
27
Lenses in subArctic
Also support for doing specialized traversal – walk down tree and produce
specialized output– can do typical MIMO effects
![Page 28: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/28.jpg)
28
Example: Debugging Lens
![Page 29: Toolglasses and Magic Lenses Scott Hudson](https://reader035.vdocuments.us/reader035/viewer/2022062723/56813c40550346895da5bda1/html5/thumbnails/29.jpg)
29