This invention relates to the field of human-computer interfaces, specifically those relating to methods of intuitively controlling interactions such as scrolling and zooming.
Computing technology has seen a many-fold increase in capability in recent years. Processors work at ever higher rates; memories are ever larger and faster; mass storage is larger and cheaper every year. Computers now are essential elements in many aspects of life, and are often used to present three dimensional worlds to users, in everything from games to scientific visualization.
The interface between the user and the computer has not seen the same rate of change. Screen windows, keyboard, monitor, and mouse are the standard, and have seen little change since their introduction. Many computers are purchased with great study as to processor speed, memory size, and disk space. Often, little thought is given to the human-computer interface, although most of the user's experience with the computer will be dominated by the interface (rarely does a user spend significant time waiting for a computer to calculate, while every interaction must use the human-computer interface).
Present human-computer interfaces generally rely on visual feedback. A document in a word processor or editor, for example, is displayed to the user. The user can position a cursor by moving a mouse; visual feedback of the display of a cursor allows the user to effectively control the cursor position. The user can also edit the document by typing, cutting, or pasting, for example, again using visual feedback to effectively control the computer application.
Using visual feedback for all aspects of a human-computer interface, however, can require that the user constantly change the visual focus. For example, in a word processor, the user can focus on the text, directing visual attention to the text and the edits the user is making. Movement of the cursor, or scrolling through the document, requires that the user divert attention from the text editing and to the cursor control or scrolling operation. Once the cursor has been repositioned or the document scrolled to the appropriate place, then the user must once again redirect attention from the scrolling and cursor interaction to the editing interaction. The overload of the visual feedback path (by sharing it for various different functions) can result in decreased human-computer interaction efficiency. Further, fine control of scrolling can be difficult using just visual feedback, a difficulty made even worse by the overload of the visual feedback path.
Accordingly, there is a need for new methods of human-computer interaction that make use of other feedback paths, reducing the overload of the visual feedback path.
The present invention provides a method of human-computer interfacing that provides haptic feedback to control interface interactions such as scrolling or zooming within an application. Haptic feedback in the present method allows the user more intuitive control of the interface interactions, and allows the user's visual focus to remain on the application. The method comprises providing a control domain within which the user can control functions such as scrolling or zooming. For example, a haptic boundary can be provided corresponding to scrollable or scalable portions of the application domain. The user can position a cursor near such a boundary, feeling its presence haptically (reducing the requirement for visual attention for control of scrolling of the display). The user can then apply force relative to the boundary, causing the interface to scroll the domain. The rate of scrolling can be related to the magnitude of applied force, providing the user with additional intuitive, non-visual control of scrolling.
The method also comprises providing a control domain, corresponding to scrollable or scalable directions in the application domain. The user can control scrolling or zooming in the application domain by interacting with the control domain as discussed previously for the application domain scrollable boundaries.
Advantages and novel features will become apparent to those skilled in the art upon examination of the following description or may be learned by practice of the invention. The objects and advantages of the invention may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims.
The accompanying drawings, which are incorporated into and form part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
a is an illustration of a computer display and associated haptic boundaries.
b is an illustration of the haptic space of a computer interface.
c is an illustration of a computer display with a separate control zone.
d is an illustration of a haptic space having an attendant control zone.
The present invention provides a method of human-computer interfacing that provides haptic feedback to control interactions such as scrolling or zooming within an application. Haptic feedback in the present method allows the user more intuitive control of interactions, and allows the user's visual focus to remain on the application. The method comprises providing a control domain within which the user can control interactions. For example, a haptic boundary can be provided corresponding to scrollable or scalable portions of the application domain. The user can position a cursor near such a boundary, feeling its presence haptically (reducing the requirement for visual attention for control of scrolling of the display). The user can then apply force relative to the boundary, causing the interface to scroll the domain. The rate of scrolling or zooming can be related to the magnitude of applied force, providing the user with additional intuitive, non-visual control of scrolling.
Haptic Control of Scrolling
The portion of the item displayed 102 can be defined by visual boundaries 111, 112, 115, 116, defining ranges 121, 122. Visual boundaries can be part of the display presented to the user, or can correspond to edges of the display itself, or can be not normally visible (as discussed later). The user can experience the document as though there were a window into the document. The user's view of the document is therefore limited by the boundaries of the window. The user can control the relative positioning of the window and document by controlling movement of the document, the window, or both. Relative motion in the plane of the document to expose various portions of the document provides an interaction commonly called scrolling. Relative motion normal to the plane of the document can control the apparent distance from the window to the document, changing the scale of the portion displayed (an interaction commonly called zooming). Both scrolling and zooming are contemplated by the term “interaction” as used herein.
Conventional scrolling and zooming controls require the user to either explicitly control the interaction (e.g., by pushing arrow keys or moving a mouse over an object) or manipulate the visual cursor (e.g., by moving the visual cursor past the visual boundaries); manipulation of the visual cursor requires that the attention of the user be diverted from the document to the cursor control. The present invention can provide haptic boundaries to make interaction control more efficient. As with the haptic/visual cursors, the haptic boundaries do not have to correspond with the visual boundaries, but for ease of exposition we will consider them as corresponding. Consequently, in
The rate of scrolling can be determined from the force applied by the user. For example, if the user does not apply force greater than a threshold force, then the interface can determine that the user is just feeling the presence of the boundary and does not desire scrolling, and consequently can leave the visual display un-scrolled. Force in excess of the threshold can indicate that the user is pushing against the boundary of the window and desires that the window be moved (equivalent to scrolling, as discussed above), and the interface can change the display of the item to a portion adjacent the boundary. The scrolling rate can also be adjusted according to the magnitude of the force applied by the user. For example, greater applied force can initiate faster scrolling, providing an intuitive interface characteristic of “push harder to scroll faster”.
The method of the present invention is suitable for use in interfaces with various haptic or force feedback devices. It can be implemented in computer hardware or computer software, using conventional programming tools and computer systems.
Haptic Control of Scrolling or Zooming Using a Control Zone
The user can indicate a transition into the control zone in various ways. Several examples are presented below.
One Dimensional Control Zone
a is an illustration of a computer display and associated haptic boundaries. The display comprises a control zone 331 near the right edge. The control zone 331 has haptic boundaries near its upper 332 and lower 333 extremes. The user can interact with the item (e.g., edit a document) when the cursor is not in the control zone. The user can move the cursor across the left boundary of the control zone, then push against either of the control boundaries 332, 333 to haptically control scrolling. The transition into the control zone can be determined by the user, as examples, by visual feedback, or by applying a haptic resistive force that the user must overcome before allowing the cursor into the scrolling zone. Similar control zones can be provided for scrolling in other dimensions. The control zone itself can be left out of the visible display; the user then feels the transition to the control zone, then feels the control of the scrolling (freeing up the visual feedback path for attention to the item).
An interface according to this example can be implemented according to the pseudocode below.
b is an illustration of the haptic space of a computer interface. A control zone 335 allows control as discussed above: pushing against the haptic walls 336 from within the control zone controls scrolling in the corresponding direction. The haptic walls 336 extend from the base of the zone, so that, once in the zone, the user cannot easily slip out (the walls can also be inclined inward to make it even harder to accidentally slip out). The walls also discourage unintended scrolling. When the user moves a cursor near a haptic wall, the interface can apply a resistive force to discourage the cursor from traversing the wall. The user moving a cursor across the haptic space along a path that encounters the walls 336 will be prevented by the walls from entering the zone. Entry into the control zone requires explicit motion by the user to move over the walls (e.g., an explicit command or a three-dimensional cursor movement).
The control zone can also comprise a closed portion of the space (e.g., a three dimensional box). The user can push through the walls to enter and exit, can supply an explicit command (e.g., voice or keyboard) for entry and exit, can touch a specific portion of the control zone (e.g., a switch inside the control zone) for entry or exit, or any combination. The use of a closed control zone allows a single control.zone to be used to control interactions in all dimensions relevant to a document; e.g., scroll left and right using the sides of the control zone, scroll up and down using the top and bottom of the control zone, and zoom in and out using the front and back of the control zone.
An interface according to this example can be implemented according to the pseudocode below.
c is an illustration of a computer display with a separate control zone 341. The control zone in this example can be made not accessible by simple cursor motion, eliminating the possibility of inadvertent cursor motion scrolling. The interface can provide for transition of the cursor into the control zone responsive to explicit direction from the user, for example, by voice command, keyboard control, or activation of a switch or button. Once in the control zone, the user can control scrolling by applying force against the boundaries of the zone, as discussed above. The interface can provide for transition out of the control zone by explicit direction, for example by the same mechanism as for entry, or by a simple inverse thereof.
An interface according to this example can be implemented according to the pseudocode below.
d is an illustration of a haptic space having an always-attendant control zone 343, 344. The user can indicate a transition to control as discussed in the preceding example. The control zone 343 surrounds the cursor, but the zone's haptic boundaries are not active until the user indicates a transition to control. When the user indicates a transition to control, the control zone 344 is made active surrounding the position of the cursor when the transition was indicated (adjusted, perhaps, when the cursor is too near some constraint such as an boundary of the computer space). The user has the control facility always available, and always in a consistent relationship to the cursor when called on. Once the control zone is activated, the user can control scrolling by applying force to the boundaries of the zone. The interface can provide for transition out of the control zone by a similar mechanism as used to enter, for example by a simple inverse (e.g., if pushing a button causes the zone to become active, then releasing the button can cause the zone to become inactive). The control zone accordingly need not consume any of the available display space when inactive, and, if made part of the haptic space but not the visual space, need never consume any of the available visual display space. An always-attendant control zone comprising a closed space can provide an intuitive interaction control: the control zone can be reliably accessed whenever needed, and all interaction controls provide the same intuitive haptic characteristics.
An interface according to this example can be implemented according to the pseudocode below.
The particular sizes and equipment discussed above are cited merely to illustrate particular embodiments of the invention. It is contemplated that the use of the invention may involve components having different sizes and characteristics. It is intended that the scope of the invention be defined by the claims appended hereto.
This application claims the benefit of U.S. Provisional Application No. 60/202,448, filed on May 6, 2000, and as a continuation-in-part of U.S. patent application Ser. Nos. 08/834,642 and 08/834,616, now U.S. Pat. No. 6,208,349, each of which was filed on Apr. 14, 1997, all of which are incorporated herein by reference.
This invention was made with Government support under Contract DE-AC04-94AL85000 awarded by the U.S. Department of Energy. The Government has certain rights in the invention.
| Number | Name | Date | Kind |
|---|---|---|---|
| 4766423 | Ono | Aug 1988 | A |
| 5296871 | Paley | Mar 1994 | A |
| 5459382 | Jacobus et al. | Oct 1995 | A |
| 5506605 | Paley | Apr 1996 | A |
| 5555366 | Teig | Sep 1996 | A |
| 5576727 | Rosenberg et al. | Nov 1996 | A |
| 5629594 | Jacobus et al. | May 1997 | A |
| 5714977 | McNeil | Feb 1998 | A |
| 5734373 | Rosenberg et al. | Mar 1998 | A |
| 5734805 | Isensee | Mar 1998 | A |
| 5739811 | Rosenberg et al. | Apr 1998 | A |
| 5781172 | Engel | Jul 1998 | A |
| 5784052 | Keyson | Jul 1998 | A |
| 5825308 | Rosenberg et al. | Oct 1998 | A |
| 5831408 | Jacobus et al. | Nov 1998 | A |
| 5844392 | Peurach et al. | Dec 1998 | A |
| 5874956 | LaHood | Feb 1999 | A |
| 5889670 | Schuler et al. | Mar 1999 | A |
| 5929607 | Rosenberg | Jul 1999 | A |
| 5956484 | Rosenberg et al. | Sep 1999 | A |
| 5973670 | Barber et al. | Oct 1999 | A |
| 5990869 | Kubica et al. | Nov 1999 | A |
| 6028593 | Rosenberg et al. | Feb 2000 | A |
| 6101530 | Rosenberg et al. | Aug 2000 | A |
| 6125385 | Wies et al. | Sep 2000 | A |
| 6131097 | Peurach et al. | Oct 2000 | A |
| 6147674 | Rosenberg et al. | Nov 2000 | A |
| 6154198 | Rosenberg et al. | Nov 2000 | A |
| 6154201 | Levin et al. | Nov 2000 | A |
| 6161126 | Wies et al. | Dec 2000 | A |
| 6166723 | Schena et al. | Dec 2000 | A |
| 6232891 | Rosenberg | May 2001 | B1 |
| 6259382 | Rosenberg | Jul 2001 | B1 |
| 6353850 | Wies et al. | Mar 2002 | B1 |
| 6496200 | Snibbe et al. | Dec 2002 | B1 |
| Number | Date | Country | |
|---|---|---|---|
| 60202448 | May 2000 | US |
| Number | Date | Country | |
|---|---|---|---|
| Parent | 08834642 | Apr 1997 | US |
| Child | 09785696 | US | |
| Parent | 08834616 | Apr 1997 | US |
| Child | 08834642 | US |