Title: Magic Lenses for Interactive Database Visualization
1Magic Lenses for Interactive Database
Visualization
- Ken Fishkin
- SoftBook Press, Inc.
2Standard WIMP
- all windows are opaque, self-contained
- exception zoom lenses are nice
3Magic Lenses
- Magic Lenses are Windows which know about whats
below them, and/or whats above them. - They can alter input, output, or both.
- They can be composed
4Magic Lenses - click through
- wouldnt it be nice if I could click through a
zoom lens?
5Magic Lenses - composable
- and even nicer if they could compose?
6Magic Lenses - semantic
- and even nicer if they could be non-graphical?
7Magic Lenses - inter-app
- And even nicer if semantics were F(other windows)?
8To Recap
- Magic Lenses are Windows which know about whats
below them, and/or whats above them. - They can alter input, output, or both.
- They can be composed
- 3D possible
9Overall flow
(many)
10How do you implement it?
- Purely graphical lenses
- trap calls to event manager (input), graphics
engine (output) - Semantic lenses
- shared data, and/or protocol for passing objects
- Speed a big issue
- lots and lots of caching
11What This Buys You
12Reify modes into objects
13Composability gives you spatial Unix pipes.
- Lets use it for data visualization...
14Traditional Database Queries
- Use a Special Language
- select title from movies where lead_actorConnery
, Sean and (year lt 1960 or year gt 1975) - Batch, non-visual
15Visual Representation of Databases
- Map each record to a point on the plane
- Since 1854 (at least)
16Dynamic Queries (example 1)
- One selector per attribute
17Dynamic Queries (example 2)
- Selectors filter the display
18Dynamic Queries (limitations)
- designed for a small number of attributes
- only global filters
- cant screen on an attribute more than once
- no disjunctions
- limited query set
19Hybrid Techniques
- language for leaves of the query,
- visual interface for compound queries
- Still not all queries supported
Content Date Content
Contains is before contains
Document Management 05/01/94 Visual Recall OS
And
Or
20Magic Lenses
- Movable local filters, which transform the data
underneath them in some way, be it visual
(magnifying lens), semantic (misspelled words),
or other
21Merging Lenses into Queries
- Put one attribute selector on a lens.
22Free Wins(1) - local filters
232 - repeated attributes
243 - arbitrary number of attrs.
25Consistent UI
26Query Power
- 2.5D order of windows implies a
composition/evaluation order - Put an AND/OR toggle on the lens to indicate how
it should compose - A AND B --gt ltA,ANDgt above ltBgt
- A OR B --gt ltA,ORgt above ltBgt
27And/or in action
28Query Power(2)
- NOT gets its own lens
- A AND NOT (B OR C)
- ltA,ANDgt
- ltNOTgt
- ltB,ORgt
- ltCgt
29Grouping
- Introduce compound (grouped) lenses
- Allows parenthesizing
- allows macros
- Conjunction Negation Grouping gt support for
arbitrary Boolean queries
30Extensions
- No need to have just AND and OR - could have
any/all of the 16 possible combinations. - Could just have a NAND mode, but that would be
non-intuitive. And/Or/Not are most common.
31Fuzzy Selectors
- Selectors need not be pass/fail.
True
1
False
0
1
True
False
0
32Selectors over 0..1
33Numerical Operators
34Fuzzy Composition
- Selectors on 0..1 implies composition on 0..1
- Replace AND by MIN, OR by MAX, NOT by complement
- Presently, have implemented arithmetic (DIFF),
statistical (SQRT), and fuzzy (VERY) - Many others possible
35Fuzzy example
36Missing Data - display
37Missing Data - example
38Missing Data - composition
- How do composition operators handle it? We treat
it like IEEE NaN
39Meta-Functions
- Click through the window to send a command to
the data underneath.
40Conclusion (1995)
- by merging Dynamic Queries with Magic Lenses, we
keep the interactive, visual nature of queries,
but add more functionality. - Future work a slicker UI, user studies.
41Conclusion (2000)
- If this is so great, why doesnt everyone use it?
- Inter-app. Requires lots of plumbing, Xerox
licensing. OS X? - Intra-app. Requires Xerox licensing. So far SGI
only one determined enough to do it.