magic lenses for interactive database visualization ken fishkin softbook press, inc
TRANSCRIPT
Magic Lenses for Interactive Database Visualization
Ken Fishkin
SoftBook Press, Inc.
Magic Lenses - Ken Fishkin - Nov. 2000 2
Standard WIMP
all windows are opaque, self-contained exception: zoom lenses are nice
Magic Lenses - Ken Fishkin - Nov. 2000 3
Magic Lenses
Magic Lenses are Windows which know about what’s below them, and/or what’s above them.
They can alter input, output, or both. They can be composed
Magic Lenses - Ken Fishkin - Nov. 2000 4
Magic Lenses - click through
wouldn’t it be nice if I could “click through” a zoom lens?
Magic Lenses - Ken Fishkin - Nov. 2000 5
Magic Lenses - composable
and even nicer if they could compose?
Magic Lenses - Ken Fishkin - Nov. 2000 6
Magic Lenses - semantic
and even nicer if they could be non-graphical?
Magic Lenses - Ken Fishkin - Nov. 2000 7
Magic Lenses - inter-app
And even nicer if semantics were F(other windows)?
Magic Lenses - Ken Fishkin - Nov. 2000 8
To Recap
Magic Lenses are Windows which know about what’s below them, and/or what’s above them.
They can alter input, output, or both. They can be composed 3D possible
Magic Lenses - Ken Fishkin - Nov. 2000 9
Overall flow
(many)
Magic Lenses - Ken Fishkin - Nov. 2000 10
How 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
Magic Lenses - Ken Fishkin - Nov. 2000 11
What This Buys You
Multiple foci + context
Magic Lenses - Ken Fishkin - Nov. 2000 12
“Reify” modes into objects
Magic Lenses - Ken Fishkin - Nov. 2000 13
Composability gives you “spatial Unix pipes”. Let’s use it for data visualization...
Magic Lenses - Ken Fishkin - Nov. 2000 14
Traditional Database Queries
Use a Special Language select title from movies where lead_actor=‘Connery, Sean’ and (year < 1960 or year > 1975)
Batch, non-visual
Magic Lenses - Ken Fishkin - Nov. 2000 15
Visual Representation of Databases
Map each record to a point on the plane
Since 1854 (at least)
Magic Lenses - Ken Fishkin - Nov. 2000 16
Dynamic Queries (example 1) One
selector per attribute
Magic Lenses - Ken Fishkin - Nov. 2000 17
Dynamic Queries (example 2)
Selectors filter the display
Magic Lenses - Ken Fishkin - Nov. 2000 18
Dynamic Queries (limitations)
designed for a small number of attributes only global filters can’t screen on an attribute more than once no disjunctions limited query set
Magic Lenses - Ken Fishkin - Nov. 2000 19
Hybrid Techniques
language for ‘leaves’ of the query, visual interface for compound queries Still not all queries supported
ContentContent
DateDate
ContentContent
ContainsContains
is beforeis before
containscontains
Document ManagementDocument Management
05/01/9405/01/94
Visual Recall OSVisual Recall OS
AndAnd OrOr
Magic Lenses - Ken Fishkin - Nov. 2000 20
Magic Lenses
Movable local filters, which transform the data underneath them in some way, be it visual (magnifying lens), semantic (misspelled words), or other
Magic Lenses - Ken Fishkin - Nov. 2000 21
Merging Lenses into Queries
Put one attribute selector on a lens.
Magic Lenses - Ken Fishkin - Nov. 2000 22
Free Wins(1) - local filters
Magic Lenses - Ken Fishkin - Nov. 2000 23
#2 - repeated attributes
Magic Lenses - Ken Fishkin - Nov. 2000 24
#3 - arbitrary number of attrs.
Just stack ‘em up.
Magic Lenses - Ken Fishkin - Nov. 2000 25
Consistent UI
Magic Lenses - Ken Fishkin - Nov. 2000 26
Query 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 --> <A,AND> above <B> A OR B --> <A,OR> above <B>
Magic Lenses - Ken Fishkin - Nov. 2000 27
And/or in action
Magic Lenses - Ken Fishkin - Nov. 2000 28
Query Power(2)
NOT gets its own lens A AND NOT (B OR C)
<A,AND> <NOT> <B,OR> <C>
Magic Lenses - Ken Fishkin - Nov. 2000 29
Grouping
Introduce compound (grouped) lenses Allows parenthesizing allows macros Conjunction + Negation + Grouping ==>
support for arbitrary Boolean queries
Magic Lenses - Ken Fishkin - Nov. 2000 30
Extensions
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.
Magic Lenses - Ken Fishkin - Nov. 2000 31
Fuzzy Selectors
Selectors need not be ‘pass/fail’.
FalseFalse
TrueTrue
FalseFalse
TrueTrue
00
11
00
11
Magic Lenses - Ken Fishkin - Nov. 2000 32
Selectors over [0..1]
Magic Lenses - Ken Fishkin - Nov. 2000 33
Numerical Operators
Magic Lenses - Ken Fishkin - Nov. 2000 34
Fuzzy 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
Magic Lenses - Ken Fishkin - Nov. 2000 35
Fuzzy example
Magic Lenses - Ken Fishkin - Nov. 2000 36
Missing Data - display
Magic Lenses - Ken Fishkin - Nov. 2000 37
Missing Data - example
Magic Lenses - Ken Fishkin - Nov. 2000 38
Missing Data - composition
How do composition operators handle it? We treat it like IEEE NaN
Magic Lenses - Ken Fishkin - Nov. 2000 39
Meta-Functions
Click ‘through’ the window to send a command to the data underneath.
Magic Lenses - Ken Fishkin - Nov. 2000 40
Conclusion (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.
Magic Lenses - Ken Fishkin - Nov. 2000 41
Conclusion (2000)
If this is so great, why doesn’t 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.