User control of the trade-off between rate of navigation and ease of acquisition in a graphical user interface
Abstract
The invention provides a method for dynamic user control over the layout of a graphical user interface. The method includes the steps of receiving a description of the way in which a control region in the interface is allocated to a plurality of virtual objects, without object overlap, receiving the position of a user point, reallocating a fraction of the control region from at least one object to a different object, based on the user point position, allocating a part of a display region in the interface to at least one of the objects, based on the current allocation of the control region to said object, but with control-display decoupling, and repeating the previous three steps fast enough that the user will perceive the changes as substantially continuous.
Claims
exact text as granted — not AI-modified1 . A method for dynamic user control over the layout of a graphical user interface, which includes the steps of:
receiving a description of the way in which sectors of a control region associated with an input device in the interface are allocated to a plurality of virtual objects, without object overlap; receiving a description of the way in which a display region associated with an output device in the interface is allocated to a plurality of virtual objects and displaying objects, if any, accordingly; receiving the position of a user point; reallocating a fraction of the control region from at least one object to a different object, every time the user point position changes; reallocating a part of the display region in the interface to at least one of the objects, every time there is a change in the allocation of the control region to said object, but with control-display decoupling such that the reallocation of the control region is characterized by a distortion function of position and/or of time; repeating the previous three steps fast enough that the user will perceive the changes as substantially continuous; and using a control algorithm and/or heuristic to effect the reallocation and pointing or navigation between objects in the control region, the control algorithm and/or heuristic is set up in such a way that memory is employed to enable the control algorithm and/or heuristic to depend directly or indirectly on past values of the position coordinates of the user point.
2 . The method as claimed in claim 1 , wherein the virtual objects represent one or more control functions.
3 . The method as claimed in claim 1 , wherein the motor advantage for ease of selection is inversely related to the motor advantage for rate of navigation.
4 . (canceled)
5 . The method as claimed in claim 1 , wherein reallocating the part of the display region, makes use of a display algorithm and/or heuristic, including drawing a graphical representation of the object on the display.
6 . The method as claimed in claim 1 , wherein those objects whose control region allocations are further from the user point have a stronger control-display decoupling.
7 . The method as claimed in claim 1 , wherein the repetition rate is 20 times per second or faster.
8 . The method as claimed in claim 1 , wherein the control algorithm and/or heuristic to effect the reallocation and pointing or navigation between objects in the control region is further configured so that:
the reallocation of the fraction of the control region is controlled directly or indirectly by one position coordinate of the user point; and the pointing or navigation is controlled directly or indirectly by another, preferably orthogonal, position coordinate of the user point.
9 . The method as claimed in claim 8 , wherein the method uses coordinates that are orthogonal to each other.
10 . The method as claimed in claim 9 , wherein the control algorithm uses polar coordinates with the radial position coordinate of the user point controlling the reallocation of the control region and the transversal (angular) coordinate controlling the navigation in the control region.
11 . The method as claimed in claim 1 , wherein the reallocation of the control region is viewed as changes in the position coordinates of the objects in the control region, using a line connecting the current position of the user point with a reference point in the control region, as a fixed line to anchor the changes in the object control positions, and the new position of any particular object is then calculated as a function of the user point position, the anchor line, the previous positions of the objects, and additionally the previous position of the user point.
12 . The method as claimed in claim 1 , wherein the reallocation of the control region is viewed as changes in the position coordinates of the objects in the control region and the next position of any particular object is then calculated as a function of the user point position, the anchor line, the previous positions of the objects, and additionally a control weight assigned to each object, with current values of the control weight, which in turn depend on past control weight values and the current position of the user point.
13 . The method as claimed in claim 12 , which method includes using a control weight algorithm and/or heuristic to determine a new control weight for each object according to the radial distance of the user point position relative to the reference point and/or relative to each object control position;
using a control region sector algorithm and/or heuristic to determine a new unique control region sector for each object according to the control weight of each object; using a control position algorithm and/or heuristic to determine a new object control position for each object according to:
the user point position angle with respect to the reference line or
the current object control position of the nearest object to the user point, and/or
the control weight of each object; and
mapping the new object control positions to new object display region positions and updating the display of the object representations.
14 . The method as claimed in claim 1 , wherein each object is respectively positioned, in the control region, on the border of a convex space to provide a unique position and a unique sector of the control region for each object.
15 . The method as claimed in claim 14 , which method includes using an algorithm and/or heuristic to determine the new control position and unique control region sector for each object, using the current object control position and angle as a fixed line to anchor the change in the object control position and sectors.
16 . The method as claimed in claim 15 , which method includes using an algorithm and/or heuristic to determine the new control position and unique control region sector for each object, using the current object control position of the nearest object to the user point to draw a fixed line to anchor the change in the object control position and sectors.
17 . The method as claimed in claim 12 , wherein the determination of the new control weight is based on an absolute pointer position.
18 . The method as claimed in claim 17 , which method includes a step of setting a maximum control weight for an object above which no control region sector is allocated in the control region for the object.
19 . The method as claimed in claim 12 , wherein the step of allocating a control weight to an object and/or the step of determining a new control weight for an object includes:
allocating and updating respective weights to objects independently; allocating and updating respective weights to objects based on a function of the objects' structure in memory; and allocating and updating values to objects based on some property of control region itself.
20 . The method as claimed in claim 1 , which method includes a step of using an action algorithm and/or heuristic to determine an action to be performed, if any.
21 . The method as claimed in claim 20 , wherein, if an action to be performed has been determined by the action algorithm and/or heuristic, the method includes a step of performing the action.
22 . The method of claim 13 , including mapping the object control positions to display positions in the display region and displaying a representation of the objects in relation to their display positions, the method further includes displaying one or more objects at positions removed from their display region positions and therefore removed from their control region positions.
23 . The method as claimed in claim 1 , which method includes a step of selecting an object or allowing an object to be selected.
24 . The method as claimed in claim 1 , which method includes the step of establishing a threshold in the control region and another step of selecting and object when the threshold is crossed.
25 . The method as claimed in claim 1 , which method includes the step of tracking the history of the user point with respect to the reference point in the control region to enable reversing input action by a user.
26 . The method as claimed in claim 25 , which method includes sensing the user point at or near to the reference point in the control region to reset the objects to their original positions in the display region.
27 . The method as claimed in claim 26 , wherein, in the case of a touch sensitive screen, the reference point position is made dependent on a user's first point of touch.
28 . The method as claimed in claim 12 , which method uses an algorithm and/or heuristic to determine a new control weight for each object, and includes a function whereby the control weight of an object can be increased or reduced as a function of time or navigation distance, towards a standard value of control weight.
30 - 33 . (canceled)
34 . The method of claim 1 , further comprising interpreting a touch on a touch-sensitive screen as a typical GUI object selection, after the finger has been lifted from the touch-sensitive screen.
35 . The method of claim 15 , wherein the unique control region sector in relation to the control position of each object radiates and extends past the boundary of the convex space turning approaches to points on the boundary from the inside of the convex space into symmetrically reflected approaches from the outside of the convex space.
36 . The method of claim 14 , wherein an algorithm and/or heuristic to determine a new object control position for each object translates those positions, including those approaching the user point position, in such a way that the positions will remain on the boundary of a convex space.Join the waitlist — get patent alerts
Track US2015355827A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.