Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Constraints On Trees And A Forest Of Other Problems Ian Smith Georgia Tech May 21, 1998."— Presentation transcript:

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

2 Story

3 Talk Terrain Map Introduction Approach State Preservation Flexible UIsMedia Spaces “Mumbling”

4 Relationships JOB INTERVIEW Text Width Inner Width Inner X

5 High-Order Bit CB DDD... A F B’ E DDC’...

6 This is not a constraint. This is automatic relationship maintenance. Not numerical constraints. Not logic programming. Propagation-based systems –Not solved “from scratch”

7 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

8 UI Applications User interfaces are trees Roughly: one tree is one “window”

9 Scenario: Org Hacker Steve McMan Accounting A Org Hacker A& B Software Org Chart Alice Jones President, CEO Bob Smith CTO Chris Hopkins CFO Tom Katt Director Of Eng. Ian Smith Distinguished Eng. Kathy Wahl Director Of Finance

10 Bad Design Steve McMan Accounting A& B Software Org Chart Alice Jones President, CEO Bob Smith CTO Chris Hopkins CFO Tom Katt Director Of Eng. Ian Smith Distinguished Eng. Kathy Wahl Director Of Finance Pilot Display Area

11 Improved Design Org ChartReports To CEO, President (A. Jones) CTO (R. Smith) CFO (C. Tompkins)

12 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!

13 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 Pilot App PaletteScroller LineRect... Window

14 Ultraman

15 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

16 Ultraman Run-Time After each event… Source tree is flattened Flattened form is “parsed” New result tree “generated” by matching patterns Screen updated

17 “The Magic Finger”

18 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

19 Incrementality Given a small change in the source tree, make the correct, small change to the target tree A BCD C C A E

20 Approach “Generate” a new target tree each time… Identify the nodes that are the same Preserve those nodes that haven’t changed A BCD C C A E C C A E + = C C A E

21 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?

22 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

23 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

24 Fun Things To Do Good library of constraints Grammar analysis Toolkit for audio display User-controlled error handling Lazy toolkits

25 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)

26 Style

27 SubArctic and Me ~60K lines of code Responsible for design and impl. of major API sections Bug fixing Documentation Release Engineering Student management

28 Media Spaces Media spaces : audio/video/textual environments for awareness Privacy tradeoff –Cryptography helps... Disturbance tradeoff

29 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

30 Mumbling Video

31 Thanks Special thanks to my hosts: Mike Salisbury Steve Cousins Thanks to Alex Zhao & Keith for giving me some screen shots. Thank you for coming! Thanks to Ultraman...


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

Similar presentations


Ads by Google