Magic Lenses for Interactive Database Visualization Ken Fishkin SoftBook Press, Inc.
Magic Lenses - Ken Fishkin - Nov Standard WIMP n all windows are opaque, self-contained n exception: zoom lenses are nice
Magic Lenses - Ken Fishkin - Nov Magic Lenses n Magic Lenses are Windows which know about what’s below them, and/or what’s above them. n They can alter input, output, or both. n They can be composed
Magic Lenses - Ken Fishkin - Nov Magic Lenses - click through n wouldn’t it be nice if I could “click through” a zoom lens?
Magic Lenses - Ken Fishkin - Nov Magic Lenses - composable n and even nicer if they could compose?
Magic Lenses - Ken Fishkin - Nov Magic Lenses - semantic n and even nicer if they could be non- graphical?
Magic Lenses - Ken Fishkin - Nov Magic Lenses - inter-app n And even nicer if semantics were F(other windows)?
Magic Lenses - Ken Fishkin - Nov To Recap n Magic Lenses are Windows which know about what’s below them, and/or what’s above them. n They can alter input, output, or both. n They can be composed n 3D possible
Magic Lenses - Ken Fishkin - Nov Overall flow (many)
Magic Lenses - Ken Fishkin - Nov How do you implement it? n Purely graphical lenses u “trap” calls to event manager (input), graphics engine (output) n Semantic lenses u shared data, and/or protocol for passing objects n Speed a big issue u lots and lots of caching
Magic Lenses - Ken Fishkin - Nov What This Buys You n Multiple foci + context
Magic Lenses - Ken Fishkin - Nov “Reify” modes into objects
Magic Lenses - Ken Fishkin - Nov Composability gives you “spatial Unix pipes”. n Let’s use it for data visualization...
Magic Lenses - Ken Fishkin - Nov Traditional Database Queries n Use a Special Language select title from movies where lead_actor=‘Connery, Sean’ and (year 1975) n Batch, non-visual
Magic Lenses - Ken Fishkin - Nov Visual Representation of Databases n Map each record to a point on the plane n Since 1854 (at least)
Magic Lenses - Ken Fishkin - Nov Dynamic Queries (example 1) n One selector per attribute
Magic Lenses - Ken Fishkin - Nov Dynamic Queries (example 2) n Selectors filter the display
Magic Lenses - Ken Fishkin - Nov Dynamic Queries (limitations) n designed for a small number of attributes n only global filters n can’t screen on an attribute more than once n no disjunctions n limited query set
Magic Lenses - Ken Fishkin - Nov Hybrid Techniques n language for ‘leaves’ of the query, n visual interface for compound queries n Still not all queries supported ContentDateContentContains is before contains Document Management 05/01/94 Visual Recall OS AndOr
Magic Lenses - Ken Fishkin - Nov Magic Lenses n 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 Merging Lenses into Queries n Put one attribute selector on a lens.
Magic Lenses - Ken Fishkin - Nov Free Wins(1) - local filters
Magic Lenses - Ken Fishkin - Nov #2 - repeated attributes
Magic Lenses - Ken Fishkin - Nov #3 - arbitrary number of attrs. n Just stack ‘em up.
Magic Lenses - Ken Fishkin - Nov Consistent UI
Magic Lenses - Ken Fishkin - Nov Query Power n 2.5D order of windows implies a composition/evaluation order n Put an AND/OR toggle on the lens to indicate how it should compose: u A AND B --> above u A OR B --> above
Magic Lenses - Ken Fishkin - Nov And/or in action
Magic Lenses - Ken Fishkin - Nov Query Power(2) n NOT gets its own lens u A AND NOT (B OR C) F
Magic Lenses - Ken Fishkin - Nov Grouping n Introduce compound (grouped) lenses n Allows parenthesizing n allows macros n Conjunction + Negation + Grouping ==> support for arbitrary Boolean queries
Magic Lenses - Ken Fishkin - Nov Extensions n No need to have just ‘AND’ and ‘OR’ - could have any/all of the 16 possible combinations. n Could just have a ‘NAND’ mode, but that would be non-intuitive. And/Or/Not are most common.
Magic Lenses - Ken Fishkin - Nov Fuzzy Selectors n Selectors need not be ‘pass/fail’. False True False True
Magic Lenses - Ken Fishkin - Nov Selectors over [0..1]
Magic Lenses - Ken Fishkin - Nov Numerical Operators
Magic Lenses - Ken Fishkin - Nov Fuzzy Composition n Selectors on [0..1] implies composition on [0..1] n Replace AND by MIN, OR by MAX, NOT by complement n Presently, have implemented arithmetic (“DIFF”), statistical (“SQRT”), and fuzzy (“VERY”) n Many others possible
Magic Lenses - Ken Fishkin - Nov Fuzzy example
Magic Lenses - Ken Fishkin - Nov Missing Data - display
Magic Lenses - Ken Fishkin - Nov Missing Data - example
Magic Lenses - Ken Fishkin - Nov Missing Data - composition n How do composition operators handle it? We treat it like IEEE NaN
Magic Lenses - Ken Fishkin - Nov Meta-Functions n Click ‘through’ the window to send a command to the data underneath.
Magic Lenses - Ken Fishkin - Nov Conclusion (1995) n by merging Dynamic Queries with Magic Lenses, we keep the interactive, visual nature of queries, but add more functionality. n Future work: a slicker UI, user studies.
Magic Lenses - Ken Fishkin - Nov Conclusion (2000) n If this is so great, why doesn’t everyone use it? u Inter-app. Requires lots of “plumbing”, Xerox licensing. OS X? u Intra-app. Requires Xerox licensing. So far SGI only one determined enough to do it.