# Patent

## Title
Systems and methods for user interfaces designed for rotary input devices

## Abstract

Systems and methods for providing visual navigation cues in user interfaces for use with rotary input devices are described. One described method comprises causing a plurality of graphical objects to be displayed in an arc. The curvature of the arc is configured to convey the ordinal relationship for navigating between each of the plurality of graphical objects with a rotary input device. The curvature of the arc is independent of the spatial relationship between the rotary input device and a display.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims priority to U.S. Provisional Application No. 60/466,284 filed Apr. 28, 2003, the entire disclosure of which is incorporated herein by reference.


NOTICE OF COPYRIGHT PROTECTION
A section of the disclosure of this patent document and its figures contain material subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document, but otherwise reserves all copyright rights whatsoever.
FIELD OF THE INVENTION
The present invention generally relates to user interface design. The present invention more particularly relates to design of user interfaces for use with rotary input devices.
BACKGROUND
Rotary inputs, such as knobs, are common in a multitude of everyday devices. Historically, rotary inputs have been mechanically linked to the component they control. Any indication of the current setting was provided by markings on the housing of the device where the rotary input is installed.
For example, in a conventional analog radio, the volume control includes a knob with alignment markings on the front panel of the radio. When the knob is rotated, alignment of a mark on the knob with one of the marks on the panel indicates the volume setting. In such a configuration, it is obvious to the user of the radio how to increase the volume; typically, clockwise rotation of the knob increases the volume.
The configuration of the rotary input in a conventional digital device may be different than the configuration of an analog device. For example, many conventional digital electronic devices, such as those found in homes, automobiles, and portable devices, include a display for displaying the state of the device. The display includes information corresponding to the position of the rotary input device. In such a device, the knob's location relative to the display provides the user with an indication of which direction to turn the knob to increment a setting. For example, in an automotive radio with a conventional digital display the fader control is typically represented by a bar graph with the front of the car to the left and the rear to the right. The middle of the graph represents an equal balance between the front and rear speakers of the car. The bar graph is typically located above the knob so that by turning the knob clockwise, the signal and the corresponding bar graph is shifted towards the rear of the car. If the spatial relationship between the control and the display is not well designed, the direction that the user is supposed to turn the input may be ambiguous, i.e., the user will be unsure whether to turn the rotary input clockwise or counter clockwise to select the next item in a list.
In one conventional interface design, a virtual knob displayed in the interface provides the user with a visual cue regarding how to move the physical knob located on the console. The physical knob is vertically aligned with and located below the screen and is turned based on the representation shown on the screen, i.e., a clockwise motion implies leftward movement; a counterclockwise motion implies a rightward movement. While this combination provides an intuitive interface, it also requires a large display in order to display both the menu items and the virtual knob. In some sections of the interface, the virtual knob is not displayed. If the knob is placed below (or above) the display, the position of the knob indicates which direction to turn the knob to select form a horizontal list; if the knob is placed beside the display, the position indicates which direction to turn the knob for a vertical list. However, if the knob is placed below (or above) the display, it is unclear in which direction to turn the knob to select from a vertical list. Similarly, if the knob is placed next to the display, it in unclear in which direction to turn the knob to select from a horizontal list.
As electronic devices continue to evolve, the complexity and number of features they include continues to increase. The increase in complexity makes it difficult to place a number of rotary input locations that provide the user with visual cues for how to operate the device. Additionally, the size of the devices and of the displays for providing information and navigational cues to the user continues to decrease. The decrease in size makes it difficult or impossible to provide a virtual knob in the display to provide a visual cue.
Thus a need exists for providing a user with a visual cue for using a rotary input device in complex electronic devices.
SUMMARY
Embodiments of the present invention provide systems and methods for providing visual navigation cues in user interfaces for use with rotary input devices. One embodiment of the present invention implements a method comprising causing a plurality of graphical objects to be displayed in an arc. The curvature of the arc is configured to convey the ordinal relationship for navigating between each of the plurality of graphical objects with a rotary input device. The curvature of the arc can be based at least in part on the spatial relationship between the rotary input device and a display.
Further details and advantages of embodiments of the present invention are set forth below.



BRIEF DESCRIPTION OF THE FIGURES
These and other features, aspects, and advantages of the present invention are better understood when the following Detailed Description is read with reference to the accompanying drawings, wherein:
FIGS. 1A and 1B illustrate conventional horizontal displays and corresponding rotary inputs;
FIGS. 2A and 2B illustrate conventional vertical displays and corresponding rotary inputs;
FIG. 3 illustrates another conventional display in which placement of the rotary input provides a visual cue to a user regarding navigation of a list of elements;
FIG. 4 is an illustration of an exemplary environment for one embodiment of the present invention in an automobile interior;
FIG. 5 is an illustration of a menu for accessing functions of electronic devices in an automobile in one embodiment of the present invention;
FIG. 6 is an illustration of another embodiment of the present invention for displaying the menu shown in FIG. 5;
FIG. 7 is an illustration of a radio balance control representation in one embodiment of the present invention; and
FIG. 8 is a flowchart, illustrating a process for navigating a list in one embodiment of the present invention; and
FIG. 9 is a flowchart, illustrating the process of generating an output signal for each of two displays in one embodiment of the present invention.



DETAILED DESCRIPTION
Referring now to the drawings in which like numerals indicate like elements throughout the several figures, FIGS. 1–4 illustrate conventional configurations of interface elements utilizing a rotary input device, such as a rotary switch. FIGS. 1A and 1B illustrate conventional horizontal displays and corresponding rotary inputs. Placement of the knob in relation to the display provides the user with a visual cue regarding movement of the knob in relation to progression through the displayed elements. By utilizing a rotary degree of freedom for control of the interaction with the display, the interface designer is requiring the user to recognize an ordinal relationship between the various elements displayed. In other words, when a user utilizes a rotary input device, the user moves through elements sequentially. In contrast, in a system utilizing a mouse or other pointing device, the user is able to navigate between the displayed elements without regard to order.
In the embodiment shown in FIG. 1A, an interface design includes a knob 102 located below a horizontal display 104. The horizontal display comprises multiple elements. Clockwise (“CW”) rotation of the knob 102 results in movement from left to right along arrow 106. Receiving and interpreting the movement of a rotary device is well known to those of skill in the art and will therefore not be described in detail herein. The relationship between movement of the knob and navigation through the list is obvious to a user because of the position of the knob 102 relative to the horizontal display 104, i.e., the position of the knob 102 provides a visual cue to the user. In the embodiment shown in FIG. 1B, the interface includes a knob 108 located above a horizontal display 110. Clockwise rotation of the knob 108 results in movement from right to left along arrow 112. In the embodiment shown, counterclockwise rotation results in movement in the opposite direction (i.e., from left to right). This same behavior is exhibited in other exemplary embodiments described herein.
Arrangement of the knob with a corresponding vertical display can also provide a cue to a user as illustrated by the embodiments shown in FIGS. 2A and 2B. In FIG. 2A, the interface includes a knob 202 located to the right of a vertical display 204. Clockwise rotation of the knob results in movement from the bottom of the list of elements to the top along arrow 206. In the embodiment shown in FIG. 2B, a knob 208 is located to the left of a vertical display 210. Clockwise rotation of the knob 208 results in a top-to-bottom movement through the list along arrow 212.
FIG. 3 illustrates another conventional interface in which placement of the rotary input provides a visual cue to a user regarding navigation of a list of elements. In the embodiment shown, a knob 302 is located in the middle of a square display 304. The square display 304 is equivalent to combining the vertical and horizontal displays illustrated in FIGS. 1 and 2. The list of elements is presented in a clockwise fashion around the knob 302. Clockwise rotation of the knob results in clockwise rotation through the elements presented in the display along arrows 306a-d. 
FIG. 4 is an illustration of an exemplary environment for one embodiment of the present invention in an automobile interior. The embodiment shown includes a dashboard 402. Installed in the dashboard is a display screen 404. Display screens such as the one shown have become common in automotive applications as the number and complexity of controls increase. In some implementations, a screen operates with a single device, such as the radio or the climate control system. In some embodiments, one screen performs the display function for several devices. In other embodiments, multiple screens may be used to display the same or similar information, either concurrently or at different times based on the combination of information a user requests to view. For example, navigation information may appear in the dashboard display screen 404 and on a heads up display projected on the windshield in front of the driver. Similar embodiments may be implemented in other applications, such as in airplane control systems.
The embodiment shown also includes a knob 406 linked to rotary input device (not shown) for navigating functions displayed on the display screen 404. The rotary input device may, for example, be an analog potentiometer, a simple rotary encoder, or may be a more complex device that has the capability to translate laterally, acting as a joystick, or to translate along the axis of rotation, providing the capability to push the knob down or pull the knob up. A knob including rotation, lateral, and translatiional degrees of freedom is described in U.S. application Ser. No. 09/783,936, filed Feb. 14, 2001, the entirety of which is incorporated herein by reference.
The embodiment shown also includes a processor (not shown) for receiving input signals from the knob (406) or from other input devices and for sending output signals to the display (404) or to other visual, audio, or haptic output devices. The knob (406), and corresponding rotary input device, or the display (404) may include an integrated processor, such as an Application Specific Integrated Circuit (ASIC). If so, this integrated processor may be utilized alone or in combination with another processor.
Alternatively, the processor may be separate from either device and may or may not be utilized by other systems. The processor may include, for example, digital logic processors capable of processing input, executing algorithms, and generating output as necessary in response to the inputs received from the knob (406) or from other input devices.
Such processors may include a microprocessor, an ASIC, and state machines. Such processors include, or may be in communication with, media, for example computer-readable media, which stores instructions that, when executed by the processor, cause the processor to perform the steps described herein. Embodiments of computer-readable media include, but are not limited to, an electronic, optical, magnetic, or other storage or transmission device capable of providing a processor, such as the processor in communication with a touch-sensitive input device, with computer-readable instructions. Other examples of suitable media include, but are not limited to, a floppy disk, CD-ROM, magnetic disk, memory chip, ROM, RAM, an ASIC, a configured processor, all optical media, all magnetic tape or other magnetic media, or any other medium from which a computer processor can read instructions. Also, various other forms of computer-readable media may transmit or carry instructions to a computer, including a router, private or public network, or other transmission device or channel, both wired and wireless. The instructions may comprise code from any computer-programming language, including, for example, C, C++, C#, Visual Basic, Java, and JavaScript.
In the embodiment shown, the knob 406 is located directly below the display screen 404. The diameter of the knob 406 is smaller than both the height and the width of the display 404. Accordingly, a vertical list of elements on the display 404 may be directly above the knob, to the right of the knob, or to the left of the knob 406. A vertical list of elements on the display 404 will be above the knob 406. The spatial relationship may or may not provide a cue to the user at to how to navigate the list of elements using the knob 406. For example, if a vertical list of elements is presented directly above the knob, the user may be unsure as to which direction to turn the knob 406 to move in the desired direction. Also, the vertical list of elements may be presented in multiple displays, further complicating the user's task of determining in which direction to turn the knob 406.
FIG. 5 is an illustration of a menu for accessing functions of electronic devices in an automobile in one embodiment of the present invention. In the embodiment shown, the menu 502 is displayed on the display (402) directly above the knob (406). The menu 502 includes a plurality of menu options 504a-f. In a conventional system in which the menu is not curved, the direction in which the knob is turned to move from one menu option to the next is ambiguous because the menu display does not provide a visual cue to the user. However, in the embodiment shown, the curvature of the graphical display provide a visual cue to the user that clockwise rotation of the knob (406) results in movement from the bottom of the list of menu option to the top along arrow 506.
FIG. 6 is an illustration of another embodiment of the present invention for displaying a menu comprising the menu items shown in FIG. 5. In the embodiment shown, the display (404) displays a menu 602. The menu 602 includes a list of elements 604a–f. The menu 602 has the shape of a rectangle, having the list of elements 604a–f displayed vertically. To provide a visual cue to aid the user, the embodiment shown includes a curved enclosure 606 around the menu 604. Based on the curvature of the enclosure 606, it is obvious to a user that clockwise rotation of the knob (406) will result in movement from top to bottom through the list of elements 604a-f along arrow 608. An embodiment such as the one shown is relatively simple to implement. It also can be used with existing systems with minimal changes to the code for creating, displaying, and navigating the menu 604.
FIG. 7 is an illustration of a radio balance control representation in one embodiment of the present invention. In the embodiment shown, the graphical elements of the balance representation 702 are arranged in a curve, providing a visual cue to the user. Clockwise rotation of the knob (406) results in right to left movement between the various elements of the representation 702 along arrow 704. The embodiment shown in
FIG. 7 illustrates that the representation may comprise a plurality of elements arranged in a curve. The embodiment shown includes no outline, and the elements are not contiguous.
The embodiment shown in FIG. 7 may be implemented in the automobile environment shown in FIG. 4. In such an environment, the balance representation 702 appears on the display (404) above the control knob (406). In such an embodiment, the user would typically expect to turn the knob (406) clockwise to increase the volume of the right side speaker(s) while simultaneously decreasing the volume of the left side speaker(s). However, the visual cue provided by the arc instructs the user to instead turn the knob (406) counterclockwise to increase the volume of the right side speaker(s).
FIG. 8 is a flowchart, illustrating a process for navigating a list in one embodiment of the present invention. The process may be implemented via processor-executable code stored in a computer-readable medium. In the embodiment shown, the processor first receives clockwise input from the rotary device 802. The clockwise input may be in the form of a change in resistance from a potentiometer, quadrature or binary (gray) coded output from a rotary encoder, or some other type of input provided by the rotary device. The processor then receives the layout and the direction of the curve 804. In the embodiment shown, the layout information includes whether the list of elements is presented in a horizontal or vertical fashion and in what direction the display curves. The processor evaluates this information to determine if the element list is presented horizontally or vertically 806.
If presented vertically, the processor next determines whether the list of elements curves to the right (i.e., having the ends located to the left relative to the middle) or to the left (i.e., having the ends located to the right relative to the middle) based on the layout information. If the list of elements curves to the left and assuming that the list is ordered from top to bottom, the processor decrements or moves to the previous ordinal position in the list 810. The processor may perform additional steps after detecting a movement, such as displaying an undisplayed element when the rotary input device is turned beyond the first or last element displayed; this may be referred to as “scrolling the list.” Once the steps shown are complete, the process ends until additional input is received 814. If the curve of a vertical list is to the right, the processor increments or moves to the next ordinal position 812.
If the list of elements is presented horizontally, the processor determines whether the list of elements curves up (i.e., having the ends located relatively lower relative to the middle) or down (i.e., having the ends located relatively higher relative to the middle) in the display 816. If the list elements are ordered left-to-right and the display curves down towards the bottom of the screen, then the processor decrements or moves to the previous ordinal position within the list of elements 818. If the display curves up, the processor increments or moves to the next ordinal position within the list of elements.
One embodiment of the present invention varies the curvature of the arc based at least in part on the spatial relationship between the knob (406) and a display, such as the display (402). In one such embodiment in which two displays are utilized for displaying a list of elements, the curvature of the arc in which the list of elements is displayed may vary between the two displays if the spatial relationship between each of the displays and the rotary input device varies. FIG. 9 is a flowchart illustrating the process of generating output signals in one such embodiment of the present invention. In the embodiment shown, a list of elements is to be displayed on two displays approximately simultaneously. The processor receives an input signal indicating the position of the input device 902. The processor also receives the position of the first display 904. Based on the two positions, the processor determines the spatial relationship between the rotary input device and the first display 906. For example, the spatial relationship may indicate that the display is above and to the right of the center of the knob. In other embodiments, the processor receives an input signal that indicates the spatial relationship between the display and the rotary input device and does not determine the relationship based on the location inputs. The processor also receives the location of the second display 908 and determines the spatial relationship between the rotary input device and the second display 910.
The processor generates a first output signal based on the spatial relationship between the input device and the first display 912. The processor also generates a second output signal based on the spatial relationship between the input device and the second display 914. For example, in one embodiment, the first display is directly above the center of the input device, and the second display is to the left of the input device. The processor determines that the curve of the arc should be to the left and generates an output signal for both displays that causes the display to curve the arc to the left. Typically, the curves of the arcs on multiple displays will be in the same direction to minimize confusion of the user.
In the embodiment described in relation to FIG. 9, the two displays generated to display the same list. In another embodiment, two separate lists or menus are generated. The user interacts with one of these two lists, and then switches to the other list by, for example, selecting an option on the first list. The user may further select an option on the second list to return to the first list. The menus may be curved based on a spatial relationship with the knob or may not be; the curve of the display provides the visual cue to the user regardless of the spatial relationship between the knob and the display. Also, the menus may have different orientations from one another (e.g., one vertical and one horizontal) and may be curved differently (e.g., one to the right and one to the left). An embodiment may include more than two menus.
An embodiment of the present invention may be implemented in any interface utilizing a rotary input. Several of the embodiments described herein have been described in relation to an automobile. Airplanes, marine vessels, and other forms of transportation would benefit from similar embodiments. In addition, rotary inputs are common in portable electronic devices, such as cell phones, personal digital assistants, radios, MP3 players, digital cameras, and other similar devices. An embodiment of the present invention may also be utilized in power control applications.
An embodiment of the present invention may also be implemented in a personal computer interface. For example, many users of home computers utilize audio and video editing applications. Many of these applications include interfaces utilizing rotary input, such as varying settings on an appliance, such as volume control, color saturation, navigation within a song or film, and various other features.
The foregoing description of the preferred embodiments of the invention has been presented only for the purpose of illustration and description and is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Numerous modifications and adaptations thereof will be apparent to those skilled in the art without departing from the spirit and scope of the present invention.

## Claims

1. A method comprising:
receiving an input signal indicating the position of a rotary input device relative to a display; and
generating an output signal configured to cause a plurality of graphical objects to be displayed in an arc in the display, the arc having a curvature configured to convey an ordinal relationship for navigating between each of the plurality of graphical objects with the rotary input device, the curvature of the arc being based at least in part on a spatial relationship between the rotary input device and the display, wherein said spatial relationship provides a cue to the user as to how to navigate the graphical objects with the rotary input device.

2. The method of claim 1, wherein the display is a first display, the input signal is a first input signal, and the output signal is a first output signal, and further comprising:
receiving a second input signal indicating the position of the rotary input device relative to a second display; and
generating a second output signal configured to cause the plurality of graphical objects to be displayed in an arc in the second display, the arc having a curvature configured to convey an ordinal relationship for navigating between each of the plurality of graphical objects with the rotary input device, the curvature of the arc being based at least in part on a spatial relationship between the rotary input device and the second display.

3. The method of claim 1, wherein the arc is an arc of less than 360 degrees.

4. The method of claim 1, wherein the plurality of graphical objects comprises a plurality of list elements.

5. The method of claim 1, wherein the arc is curved to the right and further comprising:
receiving a signal indicating a clockwise rotation of the rotary input device; and
causing a subsequent graphical object of the plurality of graphical objects to be selected.

6. The method of claim 1, wherein the arc is curved to the right and further comprising:
receiving a signal indicating a counter-clockwise rotation of the rotary input device; and
causing a previous graphical object of the plurality of graphical objects to be selected.

7. The method of claim 1, wherein the arc is curved to the left and further comprising:
receiving a signal indicating a clockwise rotation of the rotary input device; and
causing a previous graphical object of the plurality of graphical objects to be selected.

8. The method of claim 1, wherein the arc is curved to the top and further comprising:
receiving a signal indicating a clockwise rotation of the rotary input device; and
causing a subsequent graphical object of the plurality of graphical objects to be selected.

9. The method of claim 1, wherein the arc is curved to the bottom and further comprising:
receiving a signal indicating a clockwise rotation of the rotary input device; and
causing a previous graphical object of the plurality of graphical objects to be selected.

10. The method of claim 1, wherein the rotary device comprises one of a jog shuttle, a control wheel, a rotary switch, and a scroll wheel.

11. The method of claim 1, wherein the arc is curved to the right and further comprising:
receiving a signal indicating a clockwise rotation of the rotary input device; and
causing an index of the plurality of graphical objects to be incremented.

12. The method of claim 1, wherein the arc is curved to the left and further comprising:
receiving a signal indicating a clockwise rotation of the rotary input device; and
causing an index of the plurality of graphical objects to be decremented.

13. The method of claim 1, wherein the signal is a first signal and the arc is a first arc, and further comprising generating a signal configured to cause a plurality of graphical objects to be displayed in a second arc, the second arc having a curvature configured to convey the ordinal relationship for navigating between each of the plurality of graphical objects with the rotary input device, the curvature of the second arc being independent of the spatial relationship between the rotary input device and the display and independent of the curvature of the first arc.

14. The method of claim 13, further comprising switching between the first arc and the second arc.

15. A computer-readable medium on which is encoded processor-executable program code, comprising:
program code for receiving an input signal indicating the position of a rotary input device relative to a display; and
program code for generating an output signal configured to cause a plurality of graphical objects to be displayed in an arc in the display, the arc having a curvature configured to convey an ordinal relationship for navigating between each of the plurality of graphical objects with the rotary input device, the curvature of the arc being based at least in part on a spatial relationship between the rotary input device and the display, wherein said spatial relationship provides a cue to the user as to how to navigate the graphical objects with the rotary input device.

16. The computer-readable medium of claim 15, wherein the display is a first display, the input signal is a first input signal, and the output signal is a first output signal, and further comprising:
program code for receiving a second input signal indicating the position of the rotary input device relative to a second display; and
program code for generating a second output signal configured to cause the plurality of graphical objects to be displayed in an arc in the second display, the arc having a curvature configured to convey an ordinal relationship for navigating between each of the plurality of graphical objects with the rotary input device, the curvature of the arc being based at least in part on a spatial relationship between the rotary input device and the second display.

17. The computer-readable medium of claim 15, wherein the arc is curved to the right and further comprising:
program code for receiving a signal indicating a clockwise rotation of the rotary input device; and
program code for causing a subsequent graphical object of the plurality of graphical objects to be selected.

18. The computer-readable medium of claim 15, wherein the arc is curved to the right and further comprising:
program code for receiving a signal indicating a counter-clockwise rotation of the rotary input device; and
program code for causing a previous graphical object of the plurality of graphical objects to be selected.

19. The computer-readable medium of claim 15, wherein the arc is curved to the left and further comprising:
program code for receiving a signal indicating a clockwise rotation of the rotary input device; and
program code for causing a previous graphical object of the plurality of graphical objects to be selected.

20. The computer-readable medium of claim 15, wherein the arc is curved to the top and further comprising:
program code for receiving a signal indicating a clockwise rotation of the rotary input device; and
program code for causing a subsequent graphical object of the plurality of graphical objects to be selected.

21. The computer-readable medium of claim 15, wherein the arc is curved to the bottom and further comprising:
program code for receiving a signal indicating a clockwise rotation of the rotary input device; and
program code for causing a previous graphical object of the plurality of graphical objects to be selected.

22. The computer-readable medium of claim 15, wherein the arc is curved to the right and further comprising:
program code for receiving a signal indicating a clockwise rotation of the rotary input device; and
program code for causing an index of the plurality of graphical objects to be incremented.

23. The computer-readable medium of claim 15, wherein the arc is curved to the left and further comprising:
program code for receiving a signal indicating a clockwise rotation of the rotary input device; and
program code for causing an index of the plurality of graphical objects to be decremented.

24. The computer-readable medium of claim 15, wherein the signal is a first signal and the arc is a first arc, and further comprising program code for generating a signal configured to cause a plurality of graphical objects to be displayed in a second arc, the second arc having a curvature configured to convey the ordinal relationship for navigating between each of the plurality of graphical objects with the rotary input device, the curvature of the second arc being independent of the spatial relationship between the rotary input device and the display and independent of the curvature of the first arc.

25. The computer-readable medium of claim 24, further comprising program code for switching between the first arc and the second arc.