The present invention is directed to user interfaces and more Particularly, to a method of navigation and interaction with a user interface. Such interaction and navigation involve operating an input device such as a mouse, a trackball or a three-dimensional (hereinafter “3D”) pointing remote device. The operation of the input device includes at least one of scroll, point, click, gesture, etc.
User interfaces, such as graphical user interfaces (GUIs) are well known. Virtually all computers include (or, enable) a graphical user interface in order to make the interaction with the computer more “user friendly”. This is accomplished by reducing, if not eliminating, the number of keystrokes a user is required to enter (or depress or input, etc.) in order to perform a function such as launching an application residing on the computer. An increasing number of other electronic devices, from cell phones to user controls on appliances, rely on various graphical user interfaces that facilitate a user interaction with the particular device.
Traditional methods of using a GUI (on a computer for example) include the use of an input device such as a mouse or a track ball. A movement of the mouse or the track ball results in a corresponding graphical cursor (sometimes called a cursor or a pointer) moving on the graphical user interface. The graphical cursor (or pointer) can thus be navigated to an object (represented by an icon) on the GUI that corresponds to an executable task such as launching a software application for example.
Once the graphical cursor is navigated to an icon, the corresponding task can be executed by clicking (depressing) on an actuating button that is integrated within the input device. For example, if the icon on the GUI corresponds to a word processing application, clicking on the icon results in launching the word processing application. The graphical cursor can also be used to rapidly scroll through pages of text within a word processing document for example.
More recently, other input devices such as the Free Space Pointing Device™ developed by Hillcrest™ Labs of Rockville, Md. (assignee of the present application) have incorporated functionality associated with a mouse or track ball. The Free Space Pointing Device is a handheld device similar to that illustrated in
By holding the Free Space Pointing Device and through hand and arm gestures or movement (twisting or waving of the hand for example) of the user, the graphical cursor can be navigated to the desired buttons for selection and actuation.
The precision of the Free Space Pointing Device enables detection of the slightest movements of a user. The graphical cursor may be navigated to an icon (or a button) by user hand movement and the user may contemplate his or her next action prior to actuating the icon. During this time, slight movements of the user hand, given the precision of the device, may lead to drifting of the graphical cursor from the highlighted or selected (but not yet actuated) icon. This may take place, for example, during a presentation or a tutorial in which the user may be explaining to an audience the functionality associated with a highlighted (or selected) icon prior to actuating the icon. In order to actuate the icon, additional user action (such as movement) may be required to reposition the graphical cursor on the icon of interest before actuation of the icon.
Some embodiments provide controlled navigation of a graphical cursor on a user interface.
Methods according to the present invention address these needs and others by providing a method for maintaining the position of a graphical cursor within the bounds of an icon or a visual graphic object.
According to one exemplary embodiment of the present invention, a method for actuating a button on a graphical user interface (GUI) includes navigating a graphical cursor corresponding to an input device onto the button, activating a fence around a border of the button if the navigation occurs via a pre-defined portion of the border and navigating the graphical cursor away from the button via a pre-defined area of the button.
In another embodiment a method for controlling a widget bar on a display includes navigating a graphical cursor corresponding to an input device to a pre-defined location of the display to make visible a widget bar, activating a fence around the border of the widget bar and actuating at least one of a plurality of buttons on the widget bar wherein the pre-defined location corresponds to an opening along a border of the widget bar.
The accompanying drawings illustrate exemplary embodiments of the present invention, wherein:
The following detailed description of the invention refers to the accompanying drawings. The same reference numbers in different drawings identify the same or similar elements. Also, the following detailed description does not limit the invention. Instead, the scope of the invention is defined by the appended claims.
For purposes of this invention, terms such as “button” and “icon” may be used interchangeably. Similarly, terms “actuation” may also to refer to “clicking” of a button or an icon. The terms “fence” and “corral” may also be used interchangeably. Each of the terms “graphical cursor”, “cursor” and “pointer” may refer to the same element.
In exemplary embodiments, borders of buttons may be utilized to provide controlled navigation of a graphical cursor on a user interface. A button may correspond to or represent a number on a keypad for example. The keypad may be displayed on a user interface and the individual keys can be actuated. A button may also represent a function such as a ‘play’ button on a DVD menu (for operating functions of a DVD player). The DVD menu may also be displayed on a user interface. A button may represent other functions in addition to those listed herein.
Upon corral activation, the graphical cursor may remain within the corral (fence) 110 surrounding button 100 even if a user makes large movements such as moving her hand for example. The button may then be actuated in a manner described in further detail below.
The graphical cursor may also be navigated onto button 100 via portions of the border outside of opening 120 (such as from the top, the right or the bottom of button 100 in
As described above, the graphical cursor may be navigated onto button 100 via opening 120 to enable button actuation. In order to provide additional control over navigation of the graphical cursor, button 100 may be actuated by navigating the graphical cursor away from button 100 over a pre-defined area of the button such as area 105 of
The pre-defined area in one embodiment corresponds to the funnel-like (or the inverted-V-shaped) area 105 of button 100 defined by fence 110 and gate 115 along the middle of the left side of button 100 in
By navigating a graphical cursor onto button 100 via the opening 120 and then away from the button via area 105 of button 100 (and opening 120) in an approximate clockwise movement, the button may be actuated. The actuation may correspond to a function associated with the button being performed similar to clicking on an icon for example.
Other variations of navigating a pointer to actuate a button may include navigating the button along the left side border and off the button via area 105 (and opening 120) as illustrated by arrow 130 in
Fence 110 may be deactivated by navigating the graphical cursor out of button 100 via opening 120 utilizing the path illustrated by arrow 135 in
In other embodiments, an opening for entering the button for actuation may be defined by an entire side of the button. The opening for leaving the button may be limited to a portion of the side. As illustrated in
All buttons or icons on a user interface may be designed in this manner to facilitate a consistent user experience on a user interface. The user may develop a navigation habit for actuating the icons by utilizing the clockwise gesture as described. Similarly, a navigation habit for moving the graphical cursor away from the button utilizing the counter clockwise gesture may also be developed by the user.
The fence or corral described above may be applicable within a user interface in combination with other button actuation methods in some embodiments. For example, as illustrated in
An opening, such as opening 620, may facilitate navigating a graphical cursor onto widget bar 600 in order to display the widget bar and to provide a user access to functions on the widget bar. The opening may be pre-defined as being located in the lower left hand corner of the display screen for example.
Widget bar 600 may include, in this purely illustrative and exemplary embodiment, functions associated with controlling a DVD player as illustrated in
During normal viewing, widget bar 600 may be invisible on the screen. The widget bar 600 may become visible (or displayed on the screen) by a user navigating a graphical cursor to the lower left hand corner of the display. The lower left corner in an exemplary embodiment may represent the opening 620 for the widget bar. Once the widget bar 600 becomes visible on the screen, corral 610 may be activated around widget bar 600 along with gate 615 on the lower left side of the widget bar.
As described, once corral activation takes place, user gestures or movement have no effect on the position of the graphical cursor unless the graphical cursor is navigated out of the button 600 via area 605 defined by the junction of corral 610 and gate 615. Absent such movement through area 605, the graphical cursor may remain within the widget bar 600. If the user wishes to leave the widget bar, a counter clockwise gesture as described may result in the graphical cursor leaving the widget bar and the widget bar may become invisible.
As the widget bar 600 becomes visible on the screen, the graphical cursor may be navigated to each of the functional buttons 640 to 695. Button 640 corresponding to “mute” may be actuated in the manner described above; that is, the graphical cursor may be navigated off button 640 in a clockwise gesture via area 605 defined by corral 610 and gate 615.
The remaining functional buttons (i.e. buttons 645 to 695) may be actuated in the traditional manner; that is, they may be actuated by navigating the graphical cursor over to the desired button and the button may be clicked on to execute the corresponding functionality.
A widget bar as described may also be included within a programming guide or menu as illustrated in
The arrow path in
The widget bar 600 may be further enhanced to include voice feedback to the user as the graphical cursor is navigated over each of the buttons 640 to 695. The functionality of each of these buttons may be announced to the user.
Methods in accordance with exemplary embodiments as described above may be illustrated as process or flow chart 900 in
The gestures incidental to actuation (approximately clockwise) and exit (approximately counter clockwise) are purely illustrative and other gestures or movements may become incident based on the location of the gate along the button border. For example, if the gate is located along the right side of a button, a graphical cursor navigation path approximating a counter clockwise movement may lead to button actuation and a graphical cursor navigation path approximating a clockwise movement may lead to the graphical cursor moving off a button without actuation and deactivating the corral. The location of the opening for a button is also arbitrary; it need not be in the upper left hand corner as illustrated in exemplary embodiments.
Method described may be implemented using known Java language programming techniques.
The above-described exemplary embodiments are intended to be illustrative in all respects, rather than restrictive, of the present invention. Thus the present invention is capable of many variations in detailed implementation that can be derived from the description contained herein by a person skilled in the art. All such variations and modifications are considered to be within the scope and spirit of the present invention as defined by the following claims. No element, act, or instruction used in the description of the present application should be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items.
This application claims priority from U.S. Provisional Patent Application No. 60/589,466 filed on Jul. 20, 2004 and entitled “Easy To Use Button-Less Interaction With A Pointing Device”. This application is also related to U.S. patent application Ser. No. 10/768,432. The subject matter of each of these applications is incorporated herein in their entirety by reference.
Number | Name | Date | Kind |
---|---|---|---|
5598183 | Robertson et al. | Jan 1997 | A |
5710574 | Jaaskelainen, Jr. | Jan 1998 | A |
5786805 | Barry | Jul 1998 | A |
5963191 | Jaaskelainen, Jr. | Oct 1999 | A |
6295049 | Minner | Sep 2001 | B1 |
6628315 | Smith Dawkins et al. | Sep 2003 | B1 |
6664989 | Snyder et al. | Dec 2003 | B1 |
6788284 | Culler | Sep 2004 | B1 |
6867790 | Brooks | Mar 2005 | B1 |
6995746 | Aymeric | Feb 2006 | B2 |
7194702 | Peasley | Mar 2007 | B1 |
20020133310 | Tamura | Sep 2002 | A1 |
20020151327 | Levitt | Oct 2002 | A1 |
20030197744 | Irvine | Oct 2003 | A1 |
20040268393 | Hunleth et al. | Dec 2004 | A1 |
Number | Date | Country |
---|---|---|
1 094 383 | Apr 2001 | EP |
Number | Date | Country | |
---|---|---|---|
20060020905 A1 | Jan 2006 | US |
Number | Date | Country | |
---|---|---|---|
60589466 | Jul 2004 | US |