Download presentation
Presentation is loading. Please wait.
Published byPiers Rice Modified over 9 years ago
1
A Negotiation Architecture for Fluid Documents
2
2 Reading Bay-Wei Chang, Jock D. Mackinlay, Polle T. Zellweger, Takeo Igarashi, “A Negotiation Architecture for Fluid Documents”, Proceedings of UIST ’98, Nov. 1998, San Francisco, pp. 123-132. http://doi.acm.org/10.1145/288392.288585
3
3 Never enough screen space This paper looks at making “fluid documents” –dynamically change the allocation of space (and other saliency resources) between primary and secondary materials Architecture to implement this –based on negotiation of (potentially conflicting) requirements
4
4 Fluid documents Assumes primary and secondary material –footnotes, annotations, or hyperlinks Provides a nice mechanism for presenting secondary material on demand
5
5 What the system does Mediate salience (visual prominence) of primary and secondary material –Allow user to smoothly change focus between them Animation important –Specific techniques for modifying and sharing salience
6
6 Video Demonstration From UIST ‘98 video proceedings
7
7 Advantages Good use of space (user driven) Minimal shift of attention –Close to primary In context –Attempts to disturb primary presentation as little as possible –Smooth transitions between views Lightweight interactive control
8
8 Initially primary material is focus Takes most of space Captures most of user’s attention Secondary represented by small visual cue only
9
9 Shifting focus Shifting focus to secondary material: increase salience –Increase size –Move to prominent place –Boldface –etc.
10
10 Primary material must adjust Reduce salience Examples –Decrease size –Move away from center –Fade to a lighter shade
11
11 Negotiation process to decide who will do what Four Steps 1) Start with only visual cue (anchor) for supporting material 2) Reader indicates interest in supporting, triggering shift 3) Negotiate salience properties 4) Animate to new state
12
12 Initial Visual Cue Can follow various conventions –Underlined most common –Also footnote marker –Could also present small preview –Anything that represents the secondary material in small and unobtrusive way
13
13 UI for Expressing Interest Needs to be lightweight –Stated (but not obtained) goal: just as easy as looking at it System uses rollover + dwell –Roll away and display reverts –Click to hold secondary material open
14
14 Adjusting Material Most of work here Skip for a second
15
15 Animated transition Short (1/2 second) –overlaps reaction time Smooth changes –maintain continuity –maintain perception of “object constancy” this is a critical property
16
16 Adjusting Material Primary and secondary adjust display to change saliency and shift focus Biggest aspect: provide space for secondary Also: pick displays that fit the space & have right saliency
17
17 Providing space Several approaches (for text) –Block movement (splitting) –Deformation change interline spacing, warp –Outside allocation place secondary away from anchor visually connect (line)
18
18 Providing space More approaches (for text) –Overlay –Reuse of space May have extra space left over from some other space allocation –Combing techniques e.g., move + interline space e.g., interline space + overlay
19
19 Multiple expansions (and nesting) May require changes in all participants –Negotiation gets harder –Algorithm will deal with this piece-wise to keep simple
20
20 Negotiation Primary and secondary material may be of different types with different kinds of display capabilities –All examples are text, but the architecture handles general things –Two parts don’t have specific knowledge of all other types built in
21
21 Negotiation -- GChar Objects Uses a “GChar” object –“Graphical Characteristics” –Describes desired/proposed/granted display properties –Always includes space, but normally also includes other salience properties (e.g., color) Exact properties are display type dependent
22
22 Negotiation -- GChar Objects Primary & Secondary may be different display types –Again: encapsulated -- one type does not know about every other type would make new types very hard How do they communicate capabilities and requirements?
23
23 Negotiation -- GChar Objects Solution is to use hierarchical classes of GChar objects –All subclass of GChar which has only size information –Specific display types add additional information to specific subclasses e.g. text adds color and font info –Communicate via closest superclass of the GChar’s that two objects use
24
24 Negotiation -- GChar Objects Two kinds of GChar objects used –Specific / Exact (SpecificGChar) used for specific proposal / result –Range (RangedGChar) use to communicate acceptable bounds for various properties
25
25 Negotiation -- Proposal Objects Proposal object has (at least) –SpecificGChar for preferred state –RangedGChar for acceptable range –These always include space aspects –May also include other aspects e.g. color, font properties
26
26 Negotiation Objects Process of negotiation represented by a Negotiation object –Used to represent result –Drives animation & return animation –Used as basis for future negotiation Basically a cache
27
27 Encapsulation of Negotiation Each material object has a list of possible presentation strategies –Typically a prioritized list –Each can evaluate a RangedGChar can it do it what is closest / best that fits it Display strategy info remains encapsulated in each object
28
28 Encapsulation of Negotiation Each potential primary object (essentially all) also has set of space-making strategies –Similar story on capabilities and encapsulation
29
29 Negotiation Steps Four steps in negotiation –Initial proposal (by secondary) –Guideline selection (by primary) –Presentation strategy choice (sec) –Space-making strategy choice (prim)
30
30 Negotiation -- Initial Proposal Secondary indicates to primary that it would like to expand –Submits a Proposal object SpecificGChar: a priori preferred size & salience properties RangedGChar: sizes and properties it can do display with
31
31 Negotiation -- Guideline Selection Primary determines which subclass of GChar to use Considers its set of space making strategies –Tentatively picks one –Typical policy: one with most space Tries to provide most flexibility
32
32 Negotiation -- Guideline Selection Sends a proposal back –Ranged: the guidelines max space that can be given property ranges with most leeway –Specific: a specific recommendation takes into account preferred state of both primary and secondary important for expressing properties
33
33 Negotiation -- Presentation Strategy Choice Secondary picks a final presentation strategy –Original choice may work –May have to consider its list of possible presentations to find one Fits within space given As close as possible to suggested properties
34
34 Negotiation -- Presentation Strategy Choice Secondary sends back proposal with final choice –Specific GChar only
35
35 Negotiation -- Space-Making Strategy Choice Based on final choice of secondary, primary picks a space-making strategy –May be tentative choice –May be able to do better if secondary did not use all its space, etc. Strategy does placement
36
36 Negotiation Critical: details of decision algorithms embedded in objects –Allows type specific strategies, but still fitting in general framework –Set of strategies for each type Neither dictates, but not symmetrical –E.g., secondary never knows about primary’s presentation (size, etc.)
37
37 Negotiation Multi-level negotiations handled pair-wise –Negotiation with grandparent is handled inside “guideline” and “space choice” steps of parent –Negotiation with grandchildren similarly handled inside “initial” and “presentation choice” steps of child
38
38 Negotiation Negotiation stops after one round of four steps –can fail fallback strategy e.g., separate window –claimed rare because primaries build to provide wide ranges Could renegotiate based on knowledge of needs –still limited rounds fail fallback strategy
39
39 Recap Good use of space Keeps disruption of attention to a minimum Negotiation makes best use of available resources Architecture encapsulates details allows extension
40
40
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.