Top Banner
Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998
31

Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Dec 16, 2015

Download

Documents

Opal Garrett
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Constraints On TreesAnd A Forest Of Other Problems

Ian SmithGeorgia Tech

May 21, 1998

Page 2: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Story

Page 3: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Talk Terrain Map

Introduction Approach

State Preservation

Flexible UIs Media Spaces

“Mumbling”

Page 4: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Relationships

JOB INTERVIEW

Text Width

Inner Width

Inner X

Page 5: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

High-Order Bit

C B

D DD...

A

F

B’

E

D D C’...

Page 6: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

This is not a constraint.

• This is automatic relationship maintenance.

• Not numerical constraints.

• Not logic programming.

• Propagation-based systems – Not solved “from scratch”

Page 7: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Related Work

• Sutherland’s Sketchpad• Borning’s DeltaBlue, SkyBlue, Indigo• Vander Zanden’s QuickPlan + studies• Hudson’s Eval/Vite• Myers and Guise’s KR solver• Patterson & Hill : AVL, etc.

• Smalltalk’s active values

Page 8: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

UI Applications

• User interfaces are trees

• Roughly: one tree is one “window”

Page 9: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Scenario: Org Hacker

Steve McManAccounting

A A& B Software Org Chart

Alice JonesPresident, CEO

Bob SmithCTO

Chris HopkinsCFO

Tom KattDirector Of Eng.

Ian SmithDistinguished Eng.

Kathy WahlDirector Of Finance

Page 10: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Bad Design

Steve McManAccounting

A& B Software Org Chart

Alice JonesPresident, CEO

Bob SmithCTO

Chris HopkinsCFO

Tom KattDirector Of Eng.

Ian SmithDistinguished Eng.

Kathy WahlDirector Of Finance

Pilot DisplayArea

Page 11: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Improved Design

Org Chart Reports To

CEO, President (A. Jones)

CTO (R. Smith)CFO (C. Tompkins)

Page 12: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

The Set-Up

• Two (or more) different “views”

• Each view is created/maintained by a tree

• Views are different, but related– Interactors are not one to one– Overall shapes are different

• Views change over time…

• Declare constraints!

Page 13: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Reports ToOrg Chart

President (John)

VP of Eng. (Jane)

Principal Sci. (Mary)

Staff Eng. (Bill)

VP of Finance (Fred)

View2View 1

Approach

Scroller

Tree Control

Tree Node

Tree Node Tree Node

Pilot App

Palette Scroller

Line RectRect...

Window

Page 14: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Ultraman

Page 15: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Ultraman Design-Time

• Tool for expressing relationships

• Designer uses a pattern language

• Language converted to a grammar

• Grammar (and support code) compiled and linked with your app

Page 16: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Ultraman Run-Time

• After each event…

• Source tree is flattened

• Flattened form is “parsed”

• New result tree “generated” by matching patterns

• Screen updated

Page 17: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

“The Magic Finger”

Page 18: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

State-Preservation

• “Generating” interface B from A implies no state local to A

• Each time B changes A’s state gets “trampled”

• E.g. State of the “open-close” objects on Pilot interface

Page 19: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Incrementality

• Given a small change in the source tree, make the correct, small change to the target tree

A

B C D

C

C

A

E

Page 20: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Approach

• “Generate” a new target tree each time…

• Identify the nodes that are the same

• Preserve those nodes that haven’t changed

A

B C D

C

C

A

E

C

C

A

E

+ =

C

C

A

E

Page 21: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Sameness?

• What does sameness mean?– Same location in the target tree?– Same type?– Result from the same constraint?– Result from the same object in the source tree?– Because they say so?

Page 22: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Solution

• Precompute where sensible

• Three conditions on sameness:– Produced from the same constraint– Produced from the same portion of the source– Compatible types

• If two nodes are the same, they are merged to preserve state

Page 23: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Value Numbering

• Bottom-up change metric run on the parse tree– Leave open possibility of VN on result tree

• Technique derived from common subexpression elimination

Page 24: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Fun Things To Do

• Good library of constraints

• Grammar analysis

• Toolkit for audio display

• User-controlled error handling

• Lazy toolkits

Page 25: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Flexible UIs

• SubArctic -- Java UI toolkit

• UI Toolkits are not a collection of widgets!

• Building new interactions should be easy!

• Built-in support for lenses (UIST ‘97)

• Downloadable, dynamic styles (UIST ‘97)

• Animation as a first class entity (UIST ‘93)

Page 26: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Style

Page 27: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

SubArctic and Me

• ~60K lines of code

• Responsible for design and impl. of major API sections

• Bug fixing

• Documentation

• Release Engineering

• Student management

Page 28: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Media Spaces

• Media spaces : audio/video/textual environments for awareness

• Privacy tradeoff – Cryptography helps...

• Disturbance tradeoff

Page 29: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Mumbling

• “Mumbling” is a privacy tradeoff

• Remove large amounts of information content

• Leave some interesting, but not sensitive, bits in the stream

• Audio: 1 integer per 500ms with an amplitude approximation

Page 30: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Mumbling Video

Page 31: Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998.

Thanks

• Special thanks to my hosts:Mike SalisburySteve Cousins

• Thanks to Alex Zhao & Keith for giving me some screen shots.

• Thank you for coming!

• Thanks to Ultraman...