`Vol- 34 No- 7A Deeembel’ 1991
`
`PAUSE PREVIEW: A TECHNIQUE FOR IMPROVING THE INTERACTIVITY OF DIRECT
`MANIPULATION
`
`An illustrative sequence, showing how Pause Preview could be used
`in a copy operation within a text editor application.
`
`for improving the interactivity of
`Pause Preview
`direct manipulation user interfaces.
`It allows the user to preview
`the effects cl direct manipulations by pausing during the continuous
`phase of the manipulation.
`Our usability tests have shown that it
`that works.
`
`I-"igure 1. The phrase ‘is a technique‘ has been selected and is being dragged,
`to specify a copy operation. The vertical bar indicates the moving
`insertion point.
`
`j.
`
`Pause Preview is a technique for improving the interactivity of
`direct manipulation user interfaces.
`It allows the user to preview
`the effects of direct manipulations by pausing during the continuous
`phase of the manipulation.
`Our usability tests have shown that it
`that works
`
`Figure 2. The user pauses with the insertion point after the last sentence.
`The display previews the effect of completing the copy.
`
`
`for improving the interactivity of
`Pause Preview
`direct manipulation user interfaces.
`It allows the user to preview
`the effects of direct manipulations by pausing during the continuous
`phase of the manipulation.
`Our usability tests have shown that it
`that works.
`
`Figure 3. The user moves the mouse away from the insertion point, and the
`display reverts.
`
`Users of direct manipulation user interfaces may be uncertain Of
`the
`effects of some manipulation, for a variety of reasons. . Pause Preview
`is a technique for providing visual feedback before a direct manipula-
`tion is completed. Pause Preview allows costly do/undo/redo sequences
`to be replaced by conversation-like preview/reject/continue sequences.
`
`IBM Corp. 1991
`
`1
`
`20
`
`MS 1007
`
`1
`
`MS 1007
`
`
`
`PAUSE PREVIEW: A TECHNIQUE FOR IMPROVING THE INTERACTIVITY OF DIRECT
`MANIPULATION — Continued
`
`Illustrative copy sequence. continued.
`
`for improving the interactivity of
`Pause Preview
`direct manipulation user interfaces.
`It allows the user to preview
`the effects of direct manipulations by pausing during the continuous
`hase of the manipulation.
`Our usability tests have shown that it
`hat works.
`
`Figure 4. The user moves the insertion point to before "that works’.
`
`
`technique for improving the interactivity of
`Pause Preview is
`direct manipulation user interfaces.
`It allows the user to preview
`the effects of direct manipulations py pausing during the continuous
`phase of the manipulation.
`Our usability tests have shown that it
`that works-
`
`Figure 5. The user pauses, and the display shows a preview of the new copy.
`
`
`Pause Preview is a technique for improving the interactivity of
`direct manipulation user interfaces-
`it ailows the user to preview
`the effects of direct manipuiations by pausing during the continuous
`phase of the manipulation.
`Our usability tests have shown that it
`is a technique that works.
`
`Figure 6. The user releases the mouse button to accept the preview.
`
`Current direct manipulation interfaces allow many user actions,
`like move, copy and delete,
`to be accomplished by "dragging" interface
`objects with a mouse.
`In a typical design, an object is first "picked
`up", by some sequence that ends with a mouse button depressed.
`"Drag-
`ging" means moving the mouse with this button still depressed.
`Re-
`leasing the mouse button at a target
`location completes the action
`specification.
`
`This interaction design allows separate effects to be realized lby
`a consistent action sequence and has been widely touted as a success-
`ful piece of interface technology. However, it leads to some problems
`for the user.
`
`The user cannot see what will actually happen until releasing the
`dragged object.
`Even when the command semantics are directly related
`to the action, such as with moving and copying,
`the user is typically
`only shown some impoverished representation of
`the picked—up object,
`such as a shimmering outline. When the command semantics are more
`dependent on the destination, as with deletion,
`the same model
`is
`used, and now the intended effect only becomes visible at all on com-
`pletion of the action, i.e., on release of the mouse button. This is
`
`21
`
`Vol. 34 No. 7A December 1991
`
`I
`131*! Technical Disclosure Bulletin
`
`2
`
`
`
`PAUSE PREVIEW: A TECHNIQUE FOR IMPROVING THE INTERACTIVITY OF DIRECT
`MANIPULATION — Continued
`
`the destination
`the specification of
`particularly problematic if (a)
`must be precise,
`such as when moving a graphic object
`to align with
`another, or
`(b) when the boundaries of meaningful destination loca-
`tions on the screen are not clearly marked (this problem is exacerb-
`ated if adjacent
`locations have very different effects), or
`(c) when
`the user is uncertain of the semantics of moving to some destination.
`Furthermore,
`inaccurate or inadvertent actions can often only be re-
`paired,
`if at all, by undoing the entire sequence, which imposes a
`substantial redo cost: a correction move
`to a different, nearby des-
`tination will often involve undoing, reselecting, and redragging.
`To
`overcome these interactive problems with direct manipulation, we sug-
`gest
`that
`any graphic effects of actions should be visible before
`button release (or whatever action is the syntactic marker of action-
`completion).
`The problem this raises is one of computational cost -
`the graphic computations required to show the effects changing as the
`mouse
`is moved are prohibitive,
`and would,
`in any case, present a
`confusing, unstable display.
`
`To solve this problem this article reveals a technique in which
`previews of results are driven by the rhythm of user actions.
`If the
`user pauses
`for
`some criterion time in a uuse movement,
`then the
`preview can be computed.
`The rhythmic criterion for previewing could
`be refined, or adapted to the user, but
`the general
`idea remains the
`same.
`Under
`this pause—preview design, mouse button release plays
`the role of knowingly accepting an action's effects.
`By simply moving
`away, before acceptance,
`the user can reject the preview and so auto-
`matically repair unwanted effects, allowing small changes in destina-
`tions to be effected with minimal respecification.
`
`Pause Preview combines two interface desiderata: a) It should be
`possible to preview the effects of actions as well as possible before
`completing them. b) Do/Undo/Redo should be forestalled whenever pos-
`sible by a dynamic Preview/Reject/Continue.
`
`The Pause Preview concept is applicable to most of the wide range
`of direct manipulation interactions.
`As a proof of concept, we have
`implemented Pause Preview for
`text operations
`in a prototype text
`editor, and for cell-manipulation in a prototype spreadsheet.
`In the
`text editor, strings of
`text can be selected then dragged to a new
`location.
`(Holding down the CTRL key makes
`this "move" operation a
`“copy".)
`In the spreadsheet, cells, and configurations of cells can
`likewise be moved or copied. During text dragging the user sees a
`special cursor,
`and an insertion-marker
`that marks where
`the text
`would be inserted if the mouse button were
`released. During cell
`dragging the user sees an outline of the "picked up" cell or cells.
`Depending on the selection,
`an entire configuration of cells may be
`moved at once, making the effects particularly hard to predict.
`
`In the Pause Preview implementation for either application the
`user can preview the effect of move/copy by pausing for one second at
`
`Vol. 34 No.
`
`7A December 1991
`
`IBM Technical Disclosure Bulletin
`
`22
`
`,___l..-.—-——-—..a--
`
`3
`
`
`
`PAUSE PREVIEW: A TECHNIQUE FOR IMPROVING THE INTERACTIVITY OF DIRECT
`MANIPULATION - Continued
`
`If this
`an insertion point, with the mouse button still depressed.
`effect is not desired,
`the command can be declined by simply dragging
`away.
`As
`in the standard interaction, move/copy is actually effected
`by releasing the mouse button, which can be done without pausing or
`after or during a pause—preview.
`The figures show a possible sequence
`of use of Pause Preview in a text copy operation.
`
`Both our prototype implementations have been evaluated for ef-
`ficacy. Three naive participants performed a series of direct manipu-
`lation tasks with and without pause preview available.
`Two
`further
`subjects, who were experienced with the system before Pause Preview
`had been added, performed the tasks with the pause preview facility
`available. All
`5 of our subjects reported being favorably impressed
`with the pause preview facility. All subjects chose to use Pause
`Preview for some
`tasks throughout
`the experimental sessions
`(though
`not for all tasks), although it was explicitly stated by the experi-
`menter that they need not use the facility.
`
`to use Pause Preview, we
`On those tasks where subjects chose not
`found no evidence of
`interference from the pause—detection software,
`nor did subjects report any such interference.
`
`the naive subjects made errors using the system without
`Each of
`Pause Preview that
`they subsequently or previously used Pause Preview
`to avoid.
`
`All subjects made spontaneous
`Preview facility.
`For example,
`
`favorable remarks about
`
`the Pause
`
`"It's great...
`S1:
`happen";
`
`I don't need to remember exactly what will
`
`S2:
`
`"That helps a lot";
`
`S4:
`
`"That feels comfortable."
`
`In sumary, both subjective and objective measures suggested that
`pause preview has the potential for improving the usability of direct
`manipulation interfaces.
`
`Notes on an Implementation of Pause Preview
`
`We have implemented pause-previewing in an object—oriented pro-
`graming environment
`on a PS/2* under OS/2* Presentation Manager*
`(PM).
`In PM, all mouse events result
`in messages sent
`to an appli-
`cation.
`In our prototype applications,
`for example,
`the actions re-
`quired to move an object
`involve pressing the second mouse button
`while on top of
`the object, moving the mouse while still depressing
`mouse button 2, and releasing the button at
`the target
`location;
`PM
`informs an application of these user actions by sending button—2—down,
`
`23
`
`Vol. 34 No. 7A December 1991
`
`IBM Technical Disclosure Bulletin
`
`4
`
`
`
`PAUSE PREVIEW: A TECHNIQUE FOR IMPROVING THE INTERACTIVITY OF DIRECT
`MANIPULATION - Continued
`
`a stream of button—2-move, and button—2-up messages. We have created a
`monitoring object, called the Pausefianager, which is informed each
`time any of these messages is received.
`The following pseudo-code and
`subsequent explanation portray the basic algorithm employed by the
`PauseManager
`in response
`to these messages
`in order
`to implement
`pause—previewing:
`
`button-2—down
`
`tell the application to save its current state for possible later
`undo,
`initialize local variables (such as button2MoveTime, but-
`ton2MovePosition, paused, undoRequired)
`
`button—2—move
`
`if current cursor position = button2MovePosition (i.e., if cursor
`is in same position as last
`time button-2-move message was
`re-
`ceived)
`
`if already paused, return (i.e., do nothing)
`if time now — button2HoveTime > = pauseThreshold
`send the 'userPausing' message to the application in-
`forming it that the
`user has paused and it should perform its pause-
`preview behavior,
`undokequired = true,
`paused := true,
`return
`
`else return (i.e., do nothing)
`else button2MovePosition := current cursor position,
`button2MoveTime := time now,
`paused := false,
`if undoRequired
`inform the application to do an undo button-2—up reset
`all variables
`(e.g., paused := undoRequired := false,
`etc.)
`
`When a user pauses in one location for greater than a pre-speci-
`fied threshold length of
`time (e.g., one second),
`the pause-preview
`occurs.
`If the user then continues to move the mouse with mouse but-
`
`the application window reverts to its pre~preview
`ton—2 still down,
`appearance. The above pseudo—code implements this by first saving the
`application window's state at
`the point of button—2-down. When
`a
`button-2—move first occurs,
`the current
`time and cursor location are
`recorded.
`Each time a button-2«move occurs,
`the PauseManager deter-
`mines whether the cursor is in the same position as previously (note:
`PM sends the button—2—move message so long as the button is depressed,
`even if no actual. movement has occurred).
`If so,
`the PauseManager
`dmcks
`if the pause threshold has been surpassed,
`that
`is, has
`the
`user paused at
`the same location for the threshold amount of time? If
`so,
`the PauseManager
`sends
`a umssage to the application object
`in-
`forming it of a user pause event
`(the application object is known by
`determining which window is under the cursor at its current location).
`
`Vol. 34 No. 7A December 1991
`
`IBM Technical Disclosure Bulletin
`
`24
`
`P
`
`f
`E
`3
`i
`é
`
`‘
`
`;
`1
`(
`£
`I
`[
`{
`[
`R
`
`1
`
`5
`
`
`
`PAUSE PREVIEW: A TECHNIQUE FOR IMPROVING THE INTERACTIVITY OF DIRECT
`MANIPULATION - Continued
`
`the process essentially be-
`If the cursor is at a new location,
`gins once again, with the new location and current
`time saved for
`later examination; also‘, if the user had been paused and has now moved
`the cursor,
`the application is told to perform an undo operation,
`thereby reversing the application's window to its previous state.
`The
`pseudo—code presented here omits minor details not necessary for our
`discussion. Note also that,
`for all of the above to work, each ap-
`plication implements its own pause—previewing behavior in responselto
`the 'userPausing' message, plus the ability to save its current state
`and undo.
`
`* Trademark of IBM Corp.
`
`25
`
`Vol. 34 No. 7A December 1991
`
`IBM Technical Disclosure Bulletin
`
`6