throbber
Chapter
`
`General
`
`Interaction Techniques
`
`some cases you can include these properties by implication
`example requesting the properties of
`text selection can also pro
`in which the text
`vide access to the properties of the paragraph
`selec
`
`For
`
`tion is included
`
`Another way to provide access to an objects properties is to create
`representation of the object For example the properties of
`page
`be accessed
`could
`graphic or other representation of the
`through
`special area for example the status bar of the window
`
`page in
`
`to consider
`
`is to include specific
`Yet another
`technique
`property
`on the menu of
`related object For example the pop-up
`entries
`menu of
`menu entry for
`text selection could
`include
`paragraph
`Or consider using the cascading
`submenu
`of the Properties conmTland
`individual menu entries
`but only if the properties arc not easily
`f(cid:0)r
`made accessible otherwise Adding entries
`for individual properties
`end up clutl ering menu
`can easily
`
`The Properties command is not
`the exclusive means of providing
`access to the properties of an object For example folder views
`properlies of objects stored in the file system In
`display certain
`you can use toolbar controls to display properties of
`selected objects
`
`addition
`
`Pen-Specific Editing Techniques
`
`device When
`pen is more than just
`pointing
`device is installed the system provides special
`
`standard
`pen
`and editing
`
`interfaces
`
`techniques
`
`Editing in Pen-Enabled Controls
`
`If
`
`pen is installed the system automatically
`provides
`special
`to make text editing as easy as
`called the writing tool
`interface
`possible enhance
`and streamline correction of
`accuracy
`recognition
`errors The writing tool
`as shown
`in Figure 5.7 adds
`interface
`re
`text controls Because
`button to your standard
`this effectively
`area of the text box take this into consideration
`duces
`the visible
`when designing their size
`
`66
`
`The Windows Interface
`
`Guidelines
`
`fur Software Design
`
`88
`
`

`

`General
`
`Interaction Techniques Chapter
`
`Writing
`
`tool button
`
`Figure
`
`5.7
`
`standard text box with writing tool button
`
`Figure 5.8 shows how you can atso add writing tool support
`as multiline text box
`of your software such
`special needs
`
`for any
`
`14 Mabt St
`
`iiitgfie1d
`
`Figure
`
`5.8 Adding the writing tool button
`
`When
`the text box control has the focus
`selection handle
`appears
`to make
`as shown in Figure 5.9 The user can drag this handle
`selection
`
`Selection
`
`handle
`
`Figure
`
`5.9 Text box displaying
`
`pen selection
`
`handle
`
`pen or clicking it with
`the writing tool button with
`Tapping
`text editing window as shown in Figure
`mouse presents
`special
`5.10 Within this window the user can write text
`is recognized
`automatically
`
`that
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`67
`
`89
`
`

`

`Chapter
`
`General
`
`Interaction Techniques
`
`1e
`
`IT1
`
`iii
`
`il14
`
`1PJa1 in St
`LS4Lrin.gfie1d
`
`HndoJK LJ LJJ
`
`OK
`
`Figure
`
`5.10 Single
`
`and
`
`rnultiline writing
`
`tool windows
`
`In the writing tool editing window each character
`is displayed
`within
`in the original
`special cell If the user selects
`text
`text
`the writing tool window reflects
`The user can
`that selection
`reset
`selection to an insertion point by tapping between characters This
`can be dragged
`selection handle
`also displays
`to select multiple
`that
`as shown
`characters
`
`field
`
`the
`
`in Figure 5.11
`
`PJ lJndoJ
`
`Glee
`
`Figure
`
`5.11 Selecting
`
`text with
`
`the selection
`
`handle
`
`The user can
`
`select
`
`double-tapping
`
`to select
`
`single character
`in its cell by tapping or
`word When
`single charac
`the user taps
`list of alternative
`ter an action handle displays
`characters
`shown in Figure 5.12
`
`as
`
`68
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software
`
`Design
`
`90
`
`

`

`General
`
`Interaction Techniques Chapter
`
`Action
`
`handle
`
`Figure
`
`5.12 An action
`
`handle with
`
`list of alternatives
`
`replaces the selected character and removes
`Choosing an alternative
`also removes
`character or tapping elsewhere
`the list Writing
`over
`the list The new character
`replaces the existing one and resets
`the
`to the left of the new character
`to an insertion point placed
`
`selection
`
`selects
`
`this choice
`selected and
`
`The list also includes an item labeled Wordlist When
`the user
`the word that contains the character becomes
`as shown in Figure
`list of alternatives
`is displayed
`appears when the user selects
`word by
`complete
`replaces the selected word
`Choosing an alternative
`
`5.13 This list also
`
`double-tapping
`
`Figure
`
`5.13 Tapping displays
`
`list of alternatives
`
`in the window an action handle
`Whenever
`selection exists
`appears
`the user can use it to perform other operations on the selected items
`For example using the action handle moves
`the selection
`or copies
`by dragging or the pop-up menu for the selection can be accessed
`tapping on the handle as shown
`in Figure 5.14
`
`by
`
`For more
`information
`pop-up menus
`see Chapter
`Menus Controls and Toolbars
`
`about
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`69
`
`91
`
`

`

`Chapter
`
`General
`
`Interaction Techniqnes
`
`Action
`
`handle
`
`Lfrido
`
`Figure
`
`5.14 Tapping on Ihe handle displays
`
`pop-up menu
`
`The buttons on the writing tool window provide for scrolling
`as well as common functions
`as Undo Backspace
`Insert Space
`such
`for closing the text window
`Insert Period and Close
`multiline
`writing tool window includes Insert New Line
`
`the text
`
`The writing tool windaw also provides
`keyboard as
`to entering characters with the
`onscreen
`an alternative
`pen as shown in Figure 5.15 The user taps the button with the cor
`keyboard glyph on it and the writing tool onscreen
`key
`responding
`board pop up window replaces the normal writing tool window
`
`button for access to an
`
`Figure
`
`5.15 The writing tool onscreen
`
`keyboard window
`
`70
`
`The Windnws
`
`Interface
`
`Gnidelines
`
`fnr Software
`
`Design
`
`92
`
`

`

`General
`
`Interaction Techniques Chapter
`
`remembers
`The writing tool
`input or as
`its previous use
`for text
`in the appropriate editing win
`and opens
`keyboard
`an onscreen
`note that when the user
`dow when subsequently
`used In addition
`writing tool window it gets
`focus so avoid
`the input
`displays
`using the loss of input
`focus
`field as an indication that
`the user is
`to
`finished with that
`field or that all
`text box
`
`text editing occurs
`
`directly within
`
`Pen Editing Gestures
`
`device
`
`if
`
`selections
`
`The pen when used
`pointing
`supports editing techniques
`as
`defined for the mouse When used
`the pen sup
`as writing device
`for Undo operate posi
`ports gestures for editing Gestures except
`tionally acting upon the objects on which they are drawn If the user
`gesture on an unselected
`draws
`even
`object
`it applies to that object
`elsewhere within the same selection area Any
`selection exists
`become
`unselected
`user draws
`gesture over
`If
`pending
`both selected and unselected
`objects however
`it applies only to the
`gesture is drawn over only ne element
`selected ones If
`of the
`selection it applies to the entire selection If the gesture is drawn in
`empty space on the background
`it applies to any existing
`selection
`within that selection scope If no selection exists the gesture has
`no effect
`
`For most gestures the hot spot of the gesture determines
`which object
`the gesture applies to If the hot spot occurs
`selection it applies to the whole selection
`of
`
`specifically
`on any part
`
`Table 5.2 lists the common pen editing gestures For these gestures
`the hot spot of the gesture is the area inside the circle stroke of the
`
`gesture
`
`The Winduws Interface
`
`Guidelines
`
`for Software Design
`
`71
`
`93
`
`

`

`gestures may be local
`in certain
`international
`ized
`versions In Japanese
`is used
`circled-k
`
`versions the
`
`to convert
`
`fl These
`
`gesture
`Kana to Kanji
`
`Chapter
`
`General
`
`Interaction Techniques
`
`Table
`
`5.2 Pen Editing Gestures
`
`Gesture
`
`Name
`
`Operation
`
`circled check
`
`Edit displays the writing
`dow for text Properties
`
`tool editing win
`
`for all other objects
`
`circled
`
`Copy
`
`circled-d
`
`Delete or Clear
`
`circled-rn
`
`Menu
`
`circled
`
`New line
`
`circled-p
`
`Paste
`
`circled
`
`Insert
`
`space
`
`circled-t
`
`Insert
`
`tab
`
`circled
`
`Undo
`
`circled
`
`Cut
`
`circled
`
`Insert
`
`text
`
`Transfer Operations
`
`involve or can be derived
`Transfer operations are operations that
`from moving copying and linking objects from one location to
`transfer op
`form of
`For example printing an object
`another
`it can be defined as copying
`eration because
`printer
`
`an object
`
`to
`
`is
`
`Three components make up
`to be
`the object
`transfer
`operation
`the destination of the transfer and the operation to be
`transferred
`performed You can define these components either explicitly
`or
`implicitly depending on which interaction
`you use
`technique
`
`72
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software Design
`
`94
`
`

`

`General
`
`Interaction Techniques Chapter
`
`transfer
`
`is determined
`
`define
`
`The operation defined by
`by the destination
`Because
`transfer may have
`possible interpretations you can
`several
`on
`default operation and other optimal operations
`based
`and the compat
`by the source of the transfer
`information
`provided
`ibility and capabilities
`of the destination
`For example
`attempting to
`in one of the following
`an object
`transfer
`alternatives
`
`to
`
`container
`
`can result
`
`Rejecting the object
`
`Accepting
`
`the object
`
`subset or
`
`transformed form of the object for ex
`Accepting
`or properties but discard its present
`ample extract
`its content
`new type
`containment or convert
`the object
`into
`
`Most
`
`transfers
`
`are based
`
`on one of the following
`
`three fundamental
`
`operations
`
`Operation
`
`Description
`
`Move
`
`Relucates
`
`ur repositions
`
`the basic
`
`it does
`the selected object Because
`of an object move operation
`not change
`identity
`and deleting
`the same as copying an object
`
`is not
`
`the
`
`original
`
`Copy
`
`Makes
`
`duplicate
`
`of
`
`nf an nhject The resulting nhject
`does not always
`
`is
`
`of
`
`independent
`Duplication
`its original
`clone Some of
`produce an identical
`the properties
`object may be different
`For
`from the original
`duplicated
`different name
`example copying
`an object may result
`in
`date Similarly if some component
`or creation
`then only the unrestricted
`copying
`be copied
`
`restricts
`
`of
`the object
`elements may
`
`Link
`
`Creates
`
`connection
`
`between
`
`two objects The result
`
`is
`
`usually
`
`an object
`
`in the destination
`
`that provides
`
`access
`
`to
`
`the original
`
`There are two different methods for supporting the basic transfer
`the command method and the direct manipulation method
`interface
`
`The Windows Interface
`
`Guidelines
`
`for Software
`
`Design
`
`73
`
`95
`
`

`

`Chapter
`
`General
`
`Interaction Techniqoes
`
`Command Method
`
`The command methoc for transferring objects uses the Cut Copy
`and Paste commands Place these commands on the Edit drop-down
`menu and on the pop-up menu for
`selected object You can also
`these commands
`include toolbar buttons to support
`
`To transfer
`
`an object
`
`the user
`
`Makes
`
`selection
`
`Chooses either Cut or Copy
`
`to the destination and sets the insertion location
`Navigates
`appropriate
`
`if
`
`Chooses
`
`Paste operation
`
`transfers
`
`it or
`Cut removes the selection and transfers
`reference to it to the
`the selection or
`reference to it and
`Clipboard Copy duplcates
`it to the Clipboard Paste completes
`the transfer
`operation
`For example when the user chooses Cut and Paste remove the se
`lection from the source
`and relocate it to the destination
`For Copy
`duplicate of the selection and leave
`and Paste insert
`an independent
`When the user chooses
`and Paste Link
`the original unaffected
`Copy
`or Paste Shortcut
`an object at the destination that
`insert
`
`is linked to
`
`the source
`
`how the object will
`form of Paste command that
`Choose
`indicates
`Use the Paste command by itself
`be transferred into the destination
`the object will be transferred as native content
`You
`forms of the Paste command for other 05
`can also use alternative
`form
`sible transfers using the following
`general
`
`to indicate that
`
`74
`
`The Windnws
`
`Interface
`
`Guidelines
`
`for Software
`
`Design
`
`96
`
`

`

`General
`
`Interaction Techniques Chapter
`
`information
`
`about
`
`For more
`names
`their
`including
`see Chapter 10 Inte
`the System
`
`object
`name
`type
`grating with
`
`For more
`
`these
`
`Paste
`
`about
`information
`command forms
`box
`and
`Special
`dialog
`see Chapter 11 Working with OLE
`Embedded
`and OLE
`Linked Objects
`
`the
`
`Paste
`
`Pastc
`
`name
`
`type name
`
`to object name
`
`For example Paste Cells as Word Table where
`and Word Table is the converted
`type name
`
`name is Cells
`
`The following
`
`summarizes common forms of the Paste command
`
`Command
`
`Function
`
`Paste
`
`Paste
`
`Paste
`
`as Icon
`
`Paste Link
`
`name
`
`name
`
`Paste Link to
`name
`
`Paste
`
`Shortcut
`
`Inserts the object
`content data
`
`on the Clspboard as natsve
`
`on the Clipboard as an OLE
`Inserts the object
`embedded object The OLE embedded object
`be activated
`directly within
`
`the destination
`
`can
`
`on the Clipboard as an OLE
`Inserts the object
`embedded object The OLE embedded object
`as an icon
`
`displayed
`
`ss
`
`that was copied to
`Inserts
`data link to the object
`the Clipboard The objects value
`transformed as native
`content within
`
`is integrated
`
`or
`
`the
`
`destination
`
`but remains linked
`
`to the original
`
`object
`
`so that changes
`destination
`
`to it are reflected in the
`
`Inserts an OLE linked
`object displayed
`as
`copied to the Clipboard The
`the object
`picture of
`is linked
`to the object
`copied to the
`representation
`that any changes
`Clipboard so
`tu the original
`object will be reflected in the destination
`
`source
`
`as
`
`Inserts an OLE linked
`object displayed
`icon to the object
`that was copied to the
`shortcut
`Clipboard The representation
`is linked
`to the
`copied to the Clipboard so
`that any
`object will be
`to the original
`in the destination
`
`object
`
`changes
`reflected
`
`source
`
`Paste
`
`Special
`
`box that gives
`the user explicit
`Displays
`dialog
`control uer how to insert
`un the
`the ubjcct
`
`Clipboard
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`75
`
`97
`
`

`

`Chapter
`
`General
`
`Interaction Techniques
`
`what forms of the Paste
`Use the destinations
`to determine
`context
`on what options it can offer to the user
`operation to include based
`on the available forms of the object
`which in turn may depend
`that
`It can also be dependent on the
`its source location object provides
`For example
`defines
`
`nature or purpose
`
`of the destination
`
`printer
`
`the context of transfers
`
`to it
`
`you will need only Paste and Paste Special commands
`Typically
`The Paste command can be dynamically modified to reflect
`the
`default or preferred form by inserting
`destinations
`the transferred
`as native data or as an OLE embedded
`for example
`object
`The Paste Special command can be used
`to handle
`any special
`context makes
`of transfer Although if the destinations
`it reason
`specialized form of transfer
`able to provide fast access to another
`include that command
`as Paste Link you can also
`
`object
`
`forms
`
`such
`
`Use the destinations
`
`effects
`
`type of object being
`
`context also
`to determine
`the appropriate side
`You may also need to consider
`the
`of the Paste operation
`inserted by the Paste operation and the relation
`are some common
`The following
`type to the destination
`
`ship of that
`
`scenarios
`
`specific
`
`in text or
`
`When
`destination that supports
`the user pastes into
`insertion location
`replace the selection in the destination with the
`transferred data For example
`list contexts where the
`selection repiesents
`replace the
`insertion location
`spccific
`In text contexts where there is an
`destinations
`active selection
`but there is no existing selection place the
`insertion point after
`the inserted object
`
`insertion location
`
`contexts where
`ordered
`or
`For destinations with nonordered
`add the pasted object and make
`there is no explicit
`insertion point
`it the active selection Also use the destinations
`to deter
`mine where to place the pasted object Consider
`any appropriate
`For example if the user chooses
`the
`user contextual
`information
`pop-up menu ou can use the pointers
`Paste command from
`location when the mouse button is clicked to place the incoming
`If the user supplies no contextual
`clues place the object at
`object
`the location that best fits
`the context of the destination
`for
`
`context
`
`example
`
`at the next grid position
`
`76
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`98
`
`

`

`General
`
`Interaction Techniques Chapter
`
`If the new object
`linked to the active
`connected
`is automatically
`graph you may insert
`data and
`selection for example table
`the
`new object
`in addition to the selection and make the inserted
`the new selection
`object
`
`to display an OLE em
`whether
`You also use context
`to determine
`or OLE linked object
`view or picture of the
`bedded
`as content
`intemal data or as an icon For example you can decide
`objects
`what presentation to display based
`on what Paste operation the user
`implies pasting an OLE link as an icon Simi
`selects Paste Shortcut
`larly the Paste Special command includes options that allow the
`user to specify how the transferred object should
`be displayed If
`the destination application de
`there is no user-supplied
`preference
`the default For documents
`display the inserted
`you typically
`fines
`OLE object
`fit the con
`in its content
`If icons better
`presentation
`text of your application make the default Paste operation display the
`transferred OLE object
`as an icon
`
`as
`
`Paste command should not affect
`The execution
`of
`of
`the content
`the Clipboard This allows data on the Clipboard to be pasted mul
`tiple times although
`Paste operations should
`always
`subsequent
`in copies of the original However
`subsequent Cut or Copy
`result
`command replaces the last entry on the Clipboard
`
`Direct Manipulation Method
`The command method is useful when
`operation requires
`transfer
`and destination However for
`between source
`the user to navigate
`natural and quick method In
`many transfers direct manipulation
`and drags an object
`transfer the user selects
`direct manipulation
`this method requires motor skills
`the desired location
`that may be difficult
`for some users to master avoid using it as
`the
`exclusive transfer method The best interfaces
`the transfer
`support
`command method for basic operations and direct manipulation
`shortcut
`fer as
`technique
`
`is
`
`but because
`
`to
`
`trans
`
`used
`
`as
`
`or when it drags an
`When
`pen is being
`device
`pointing
`the same conventions
`action handle it follows
`as dragging with
`mouse button
`For pens with barrel buttons
`use the barreldrag
`action as the equivalent of dragging with mouse button
`no keyboard interface
`transfers
`
`for direct manipulation
`
`There is
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`77
`
`99
`
`

`

`Chapter
`
`General
`
`Interaction Techniques
`
`You can support direct manipulation
`to any visible
`object
`transfers
`window or
`The object for example
`icon need not be currently
`in an inactive win
`active For example the user can drop an object
`dow The drop action activates
`the window If an inactive object
`transfer it or its container
`cannot
`direct manipulation
`to the user
`
`accept
`should provide feedback
`
`How the transferred object
`is integrated and displayed in the drop
`by the destinations
`dropped
`context
`destination is determined
`as native data an OLE object
`object can be incorporated
`form of the object
`or
`such
`its properties
`trans
`partial
`whether
`to add to or replace an exist
`formed object You determine
`on the context of the operation
`ing selection based
`using such
`the destinations
`the formats available for the object
`and any user-supplied
`information
`such
`the specific
`purpose
`the user drops or commands or modes that
`location that
`has selected For example an application can supply
`of tool
`the properties of objects
`
`as
`
`the user
`
`particular
`
`type
`
`either
`
`as
`
`factors
`
`as
`
`for copying
`
`Default Drag and Drop
`
`an object using mouse button
`Default drag and drop transfers
`How the operation is interpreted is determined
`by what
`the destina
`As with the com
`tion defines as the appropriate default operation
`mand method the destination determines
`on information
`this based
`the object and the formats available for the object
`and the
`about
`context of the destination itself Avoid defining
`destructive opera
`the default When
`message box
`is unavoidable display
`that
`tion as
`to confirm the intentions of the user
`
`transfer
`
`technique the user can directly
`Using this transfer
`objects
`between documents defined by your application as well
`as to system
`and printers Support
`drag and drop follow
`such
`resources
`as
`folders
`the system supports the user presses but
`ing the same conventions
`down on an object moves
`the mouse while holding the button
`ton
`down and then releases
`the button at the destination
`For the pen the
`by the location where the user lifts
`the pen
`destination is determined
`tip from the input surface
`
`78
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software Design
`
`100
`
`

`

`General
`
`Interaction Techniques Chapter
`
`transfer
`
`operation is Move but the desti
`The most common default
`the operation to be what
`nation dropped on object
`can reinterpret
`ever is most appropriate
`you can define
`default drag
`Therefore
`and drop operation to be another
`operation such
`general
`transfer
`command such
`as Print or Send
`Cupy ur Link
`destination specific
`To or even
`specialized form of transfer
`as Copy Properties
`such
`
`as
`
`Nondefault Drag and Drop
`
`an object using mouse button
`drag and drop transfers
`Nondefault
`In this case rather than executing
`default operation the destination
`pop up menu when the user releases
`the mouse button as
`displays
`shown in Figure 5.16 The pop up menu contains the appropriate
`commands
`completion
`transfer
`
`100.00
`
`r9hFlDHtrpim
`
`He
`
`Copy Here
`
`Link
`
`Heta
`
`Cancel
`
`Figure
`
`5.16
`
`nondetault drag and drop operation
`
`com
`which transfer
`The destination always
`determines
`completion
`pop up menu usually factoring in
`mands
`to include on the resulting
`information
`the object supplied by the source location
`
`about
`
`The form for nondefault
`
`as
`
`drag and drop transfer
`verbs
`completion
`the Paste command Use the common
`follows similar conventions
`verbs Move Here Copy Here and Link Here
`completion
`when the object being
`transferred is native data of the destination
`When it is not
`include the type name You can also display altema
`verbs that communicate the context of the destina
`tive completion
`
`transfer
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`79
`
`101
`
`

`

`Chapter
`
`General
`
`Interactinn Techniqnes
`
`Print Here command
`tion for example
`printer displays
`commands that support only
`transformation
`partial aspect or
`an object use more descriptive indicators
`for example Copy
`Properties Here or Transpose Here
`
`For
`
`of
`
`Use the following
`commands
`
`general
`
`form for nondefault
`
`drag and drop transfer
`
`Name Ftype name
`
`object name Here
`
`type name
`
`summarizes common forms for nondefault
`The following
`commands
`
`completion
`
`transfer
`
`Command
`
`Move Here
`
`Copy Here
`
`Function
`
`Moves the selected
`
`destination
`
`as native
`
`to the
`object
`content data
`
`Creates
`
`copy of
`the destination
`as native
`
`the selected
`
`object
`content
`
`in
`
`Link Here
`
`Creates
`
`data link between
`
`the selected
`
`and the destination
`object
`objects value is integrated
`transformed as native
`data within the
`but remains linked
`
`destination
`
`to the
`
`The original
`
`or
`
`original
`
`object
`
`so that changes
`
`to it are
`
`reflected
`
`in the destination
`
`Move
`Copy
`
`name Here
`name Here
`
`as an
`
`Moves or copies
`the selected
`object
`OLE embedded object The OLE
`embedded object
`in its
`is displayed
`and can be activated
`
`content
`
`presentation
`directly within
`
`the destination
`
`Link
`
`name Here
`
`Creates
`
`an OLE linked
`object
`displayed
`the selected object The
`is linked
`to the selected
`
`as
`
`picture of
`
`representation
`to the original
`that any changes
`so
`object
`object will be reflected in the destination
`
`80
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software Design
`
`102
`
`

`

`General
`
`Interaction Techniques Chapter
`
`Continued
`
`Command
`
`Move
`Copy
`
`name Here
`name Here
`
`as Icon
`as Icon
`
`Create Shortcut
`
`Here
`
`Function
`
`Moves or copies
`the selected
`OLE embedded object
`an icon
`
`object
`and displays
`
`as an
`
`it as
`
`Creates
`
`an OLE linked
`selected object displayed
`icon The representation
`
`object
`
`to the
`
`as
`
`shortcut
`
`is linked
`
`to the
`
`selected
`
`original
`
`so that any changes
`object
`object will be reflected in the
`
`to the
`
`destination
`
`and appropriately display one of the commands in the pop-up
`Define
`This is the com
`menu to be the default drag and drop command
`mand that corresponds
`and dropping with
`to the effect of dragging
`mouse button
`
`about
`For more
`information
`how to display default menu
`see Chapter 13 Visual
`commands
`Design
`
`Canceling
`
`Drag and Drop Transfer
`
`the
`
`cancel
`
`the transfer
`
`When
`an object back on itself
`user drags and drops
`interpret
`transfer Similarly
`action as cancellation of
`direct manipulation
`if the user presses the ESC key during
`drag trans
`command in the pop-up menu of
`include
`Cancel
`fer In addition
`this com
`nondefault drag and drop action When
`the user chooses
`mand cancel
`the operation
`
`Differentiating
`
`Transfer and Selection When Dragging
`
`Because
`
`performs both selection and transfer
`operations
`dragging
`between
`convention
`that allows the user to differentiate
`provide
`is most
`The convention
`you use depends on what
`these operations
`appropriate in the current context of the object
`or you can provide
`for selection or transfer The most common tech
`specialized handles
`uses the location of the pointer at the beginning
`of the drag
`nique
`is within an existing selection
`operation If the pointer
`interpret
`drag to be
`If the drag begins outside of an exist
`transfer
`operation
`ing selection on the backgrounds white space interpret
`the drag as
`selection operation
`
`the
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`81
`
`103
`
`

`

`Chapter
`
`General
`
`Interaction Techniques
`
`Scrolling When Transferring by Dragging
`When the user drags and drops
`from one scrollable
`area
`an object
`such as window pane or list box to another
`some tasks may
`require transferring the object outside the boundary
`of the area
`tasks may involve dragging
`location not cur
`the object
`Other
`to
`in view In this latter case it is convenient
`the area also known as automatic
`scrolling or autoscroll
`when the user drags the object
`to the edge of that scrollable area
`You can accommodate
`both these behaviors
`by using the velocity of
`the object
`if tbe user is dragging
`action For example
`the dragging
`slowly at the edge of the scrollable
`the area if the
`area you scroll
`do not scroll
`
`rently
`
`scroll
`
`to automatically
`
`object
`
`is being
`
`dragged quickly
`
`Distance
`
`as
`
`this algorithm
`
`implemented
`true Car
`is not
`
`in
`
`tesian
`
`distance
`
`This
`
`implementation
`
`absyl
`
`uses
`
`during
`
`this technique
`
`To support
`drag operation you sample the
`time the mouse
`of the drag each
`position at the beginning
`pointers
`moves and on an application-set
`timer every 100 milliseconds
`rec
`ommended If you use OLE drag and drop support
`you need not set
`timer Store each
`enough
`to hold at
`value in an array large
`least
`three samples replacing existing samples with later ones Then cal
`on at least
`two locations
`the last
`culate the pointers
`velocity based
`
`of the pointer
`
`sum the distance between the points in
`To calculate the velocity
`sample and divide the total by the sum of the time
`each
`adjacent
`elapsed between samples Distance
`is the absolute value of the dif
`x2
`or absxl
`ference between the
`and
`locations
`y2 Multiply this by 1024 and divide it by the elapsed time to pro
`1024 multiplier prevents
`the loss of accuracy
`the velocity
`by integer division
`
`duce
`
`caused
`
`The
`
`You also predefine
`the edges of the scrollable
`hot zone
`along
`time-out value Use twice the width of
`and
`vertical
`scroll
`
`area
`
`scroll
`
`bar or height of
`hot zone
`
`horizontal
`
`scroll bar to determine
`
`the width of the
`
`scroll
`
`conditions
`
`the area if the following
`During the drag operation
`are met the user moves
`the pointer within the hot zone the current
`and the scrollable
`is below
`area
`threshold velocity
`it is in
`in the direction associated with the hot zone
`threshold velocity is 20 pixels per second These
`are illustrated in Figure 5.17
`
`velocity
`
`certain
`
`is able to scroll
`The recommended
`
`conventions
`
`82
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`104
`
`an approximation for purposes
`rather
`than
`the
`
`of efficiency
`
`root
`
`of
`
`the
`
`using
`sum of
`the
`square
`yl y2
`x2A2
`squares sqrtxl
`A2 which is more computationally
`expensive
`
`

`

`General
`
`Interaction Techniques Chapter
`
`Auto-scroll
`hot zone
`
`l\
`
`Figure
`
`5.17 Automatic
`
`scrolling
`
`based
`
`on velocity
`
`of draqqing
`
`and rea
`The amount you scroll depends on the type of information
`sonable
`distance For example for text you typically
`time Consider
`using the same scrolling
`one line at
`for the scroll bar arrows
`
`scrolling
`
`vertically
`
`granularity that
`
`is provided
`
`scroll
`
`what
`To support continuous
`the scroll
`scrolling determine
`frequency
`for example four lines per second After
`you want
`to support
`velocity check
`timer
`for
`to initiate auto-scrolling set
`using
`100 milliseconds When the timer expires
`how
`example
`long it has been since the last
`If the elapsed time
`time you scrolled
`frequency scroll another unit If not
`is greater than your scrolling
`again when the timer completes
`your timer and check
`reset
`
`determine
`
`Transfer Feedback
`
`Because
`
`providing
`
`transferring objects is one of the most common user tasks
`Incon
`factor
`appropriate feedback
`is an important
`sistent or insufficient
`feedback
`
`design
`
`can result
`
`in user confusion
`
`For more
`
`information
`
`about
`
`scrolling see Chapter
`Windows
`
`For more
`
`information
`
`about
`
`feedback
`designing
`see Chapter 13 Visual Design
`
`transfer
`
`Command Method Transfers
`
`command method transfer remove the selected object visually
`For
`the Cut command If there are special circum
`when the user chooses
`stances that make removing the objects
`you
`appearance
`instead display the selected object with
`special appearance
`can
`the Cut command was completed
`but
`inform the user that
`
`to
`
`that
`
`the
`
`impractical
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software Design
`
`83
`
`105
`
`

`

`Chapter
`
`General
`
`Interaction Techniques
`
`restore the visual
`
`objects
`
`transfer
`
`in
`
`checkerboard
`
`is pending For example
`the system displays icons
`dither to indicate this state You will also need to
`if the user chooses Cut or Copy
`state of the object
`Paste command
`for another object before choosing
`effectively
`the pending Cut command
`The user will expect Cut to
`canceling
`remove
`selected object
`the impact of incon
`so carefully consider
`sistency if you choose this alternate
`feedback
`
`The Copy command requires no special
`Paste operation
`also requires no further feedback
`than that already provided
`by the
`insertion of the transferred object However if you did not remove
`representation when
`the display of the object and used
`an alternate
`the Cut command you must remove it now
`the user chose
`
`feedback
`
`Direct Manipulation Transfers
`
`During
`direct manipulation
`back for the object
`
`the pointer
`
`provide visual
`transfer
`operation
`and the destination Specifically
`
`feed
`
`Display
`
`transfer
`
`the object with selected appearance while the view it
`in has the focus To indicate that
`appears
`the object
`is in
`transfer
`state you can optionally display the object with some additional
`for move operation
`characteristics
`For example
`appearance
`used by the
`you can use the checkerboard
`dithered appearance
`system to indicate ss hen an icon is Cut Change
`this visual
`state
`on the default completion
`based
`by the desti
`operation supported
`is currently over Retain
`nation the pointer
`the representation of
`the object at the original
`location until
`the user completes
`the
`operation This not only provides
`visual cue to the
`nature of the transfer
`
`operation
`
`it provides
`
`convenient
`
`visual
`
`reference point
`
`that moves with the pointer
`representation of the object
`Display
`Use
`presentation that provides the user with information
`about
`how the information will appear
`in the destination and that does
`not obscure
`the coni ext of the insertion location For example
`when transferring an object
`text context
`into
`it is important
`the insertion point not be obscured
`during the drag operation
`as shown
`translucent or outline representation
`in Figure 5.18
`
`that
`
`84
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software Design
`
`106
`
`

`

`General
`
`Interaction Techniques Chapter
`
`works well because
`
`it allows the underlying
`
`insertion location to
`
`information
`be seen while also providing
`and nature of the object being dragged
`
`about
`
`the size position
`
`LJ
`
`FoIdridj
`
`Figure
`
`5.18 Outline
`
`and translucent
`
`representations
`
`tor transfer operations
`
`object
`
`that
`
`The objects existing source location provides the transferred
`the
`initial appearance but any destination can change
`objects
`to provide feed
`appearance Design the presentation of the object
`as to how the object will be integrated by that destination
`back
`For example if an object will be embedded
`as an icon display the
`as an icon If the object will be incorporated as part of the
`native content
`of the destination
`then the presentation of the object
`that For example if
`the destination displays should
`reflect
`document will be incorporated as
`dragged
`being
`table
`into
`form of
`table the representation could be an outline or
`translucent
`the table On the other hand
`if the table

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket