METHODS AND SYSTEMS FOR SCROLLING AND POINTING IN USER INTERFACES
Systems and methods according to the present invention address these needs and others by providing a structure for navigating in a GUI with a handheld device, e.g., a 3D pointing device, which incorporates buttons and a scroll wheel.
This application is a Divisional of U.S. patent application Ser. No. 11/417,764 filed on May 4, 2006, which is related to and claims priority from, U.S. Provisional Patent Application Ser. No. 60/677,516 filed on May 4, 2005, entitled “Scroll-Wheel Interaction Design” and U.S. Provisional Patent Application Ser. No. 60/683,963 filed on May 24, 2005, entitled “Scroll-Wheel Interaction Design”, the disclosures of which are incorporated here by reference.
BACKGROUNDThis application describes, among other things, scroll-wheel interactions combined with pointing techniques, systems and devices.
Technologies associated with the communication of information have evolved rapidly over the last several decades. Television, cellular telephony, the Internet and optical communication techniques (to name just a few things) combine to inundate consumers with available information and entertainment options. Taking television as an example, the last three decades have seen the introduction of cable television service, satellite television service, pay-per-view movies and video-on-demand. Whereas television viewers of the 1960s could typically receive perhaps four or five over-the-air TV channels on their television sets, today's TV watchers have the opportunity to select from hundreds, thousands, and potentially millions of channels of shows and information. Video-on-demand technology, currently used primarily in hotels and the like, provides the potential for in-home entertainment selection from among thousands of movie titles.
The technological ability to provide so much information and content to end users provides both opportunities and challenges to system designers and service providers. One challenge is that while end users typically prefer having more choices rather than fewer, this preference is counterweighted by their desire that the selection process be both fast and simple. Unfortunately, the development of the systems and interfaces by which end users access media items has resulted in selection processes which are neither fast nor simple. Consider again the example of television programs. When television was in its infancy, determining which program to watch was a relatively simple process primarily due to the small number of choices. One would consult a printed guide which was formatted, for example, as series of columns and rows which showed the correspondence between (1) nearby television channels, (2) programs being transmitted on those channels and (3) date and time. The television was tuned to the desired channel by adjusting a tuner knob and the viewer watched the selected program. Later, remote control devices were introduced that permitted viewers to tune the television from a distance. This addition to the user-television interface created the phenomenon known as “channel surfing” whereby a viewer could rapidly view short segments being broadcast on a number of channels to quickly learn what programs were available at any given time.
Despite the fact that the number of channels and amount of viewable content has dramatically increased, the generally available user interface, control device options and frameworks for televisions has not changed much over the last 30 years. Printed guides are still the most prevalent mechanism for conveying programming information. The multiple button remote control with up and down arrows is still the most prevalent channel/content selection mechanism. The reaction of those who design and implement the TV user interface to the increase in available media content has been a straightforward extension of the existing selection procedures and interface objects. Thus, the number of rows in the printed guides has been increased to accommodate more channels. The number of buttons on the remote control devices has been increased to support additional functionality and content handling, e.g., as shown in
In addition to increases in bandwidth and content, the user interface bottleneck problem is being exacerbated by the aggregation of technologies. Consumers are reacting positively to having the option of buying integrated systems rather than a number of segregable components. An example of this trend is the combination television/VCR/DVD in which three previously independent components are frequently sold today as an integrated unit. This trend is likely to continue, potentially with an end result that most if not all of the communication devices currently found in the household will be packaged together as an integrated unit, e.g., a television/VCR/DVD/internet access/radio/stereo unit. Even those who continue to buy separate components will likely desire seamless control of, and interworking between, the separate components. With this increased aggregation comes the potential for more complexity in the user interface. For example, when so-called “universal” remote units were introduced, e.g., to combine the functionality of TV remote units and VCR remote units, the number of buttons on these universal remote units was typically more than the number of buttons on either the TV remote unit or VCR remote unit individually. This added number of buttons and functionality makes it very difficult to control anything but the simplest aspects of a TV or VCR without hunting for exactly the right button on the remote. Many times, these universal remotes do not provide enough buttons to access many levels of control or features unique to certain TVs. In these cases, the original device remote unit is still needed, and the original hassle of handling multiple remotes remains due to user interface issues arising from the complexity of aggregation. Some remote units have addressed this problem by adding “soft” buttons that can be programmed with the expert commands. These soft buttons sometimes have accompanying LCD displays to indicate their action. These too have the flaw that they are difficult to use without looking away from the TV to the remote control. Yet another flaw in these remote units is the use of modes in an attempt to reduce the number of buttons. In these “moded” universal remote units, a special button exists to select whether the remote should communicate with the TV, DVD player, cable set-top box, VCR, etc. This causes many usability issues including sending commands to the wrong device, forcing the user to look at the remote to make sure that it is in the right mode, and it does not provide any simplification to the integration of multiple devices. The most advanced of these universal remote units provide some integration by allowing the user to program sequences of commands to multiple devices into the remote. This is such a difficult task that many users hire professional installers to program their universal remote units.
Some attempts have also been made to modernize the screen interface between end users and media systems. However, these attempts typically suffer from, among other drawbacks, an inability to easily scale between large collections of media items and small collections of media items. For example, interfaces which rely on lists of items may work well for small collections of media items, but are tedious to browse for large collections of media items. Interfaces which rely on hierarchical navigation (e.g., tree structures) may be speedier to traverse than list interfaces for large collections of media items, but are not readily adaptable to small collections of media items. Additionally, users tend to lose interest in selection processes wherein the user has to move through three or more layers in a tree structure. For all of these cases, current remote units make this selection process even more tedious by forcing the user to repeatedly depress the up and down buttons to navigate the list or hierarchies. When selection skipping controls are available such as page up and page down, the user usually has to look at the remote to find these special buttons or be trained to know that they even exist. Accordingly, organizing frameworks, techniques and systems which simplify the control and screen interface between users and media systems as well as accelerate the selection process, while at the same time permitting service providers to take advantage of the increases in available bandwidth to end user equipment by facilitating the supply of a large number of media items and new services to the user have been proposed in U.S. patent application Ser. No. 10/768,432, filed on Jan. 30, 2004, entitled “A Control Framework with a Zoomable Graphical User Interface for Organizing, Selecting and Launching Media Items”, the disclosure of which is incorporated here by reference.
Of particular interest for this specification are the remote devices usable to interact with such frameworks, as well as other applications, systems and methods for these remote devices for interacting with such frameworks. As mentioned in the above-incorporated application, various different types of remote devices can be used with such frameworks including, for example, trackballs, “mouse”-type pointing devices, light pens, etc. However, another category of remote devices which can be used with such frameworks (and other applications) is 3D pointing devices with scroll wheels. The phrase “3D pointing” is used in this specification to refer to the ability of an input device to move in three (or more) dimensions in the air in front of, e.g., a display screen, and the corresponding ability of the user interface to translate those motions directly into user interface commands, e.g., movement of a cursor on the display screen. The transfer of data between the 3D pointing device may be performed wirelessly or via a wire connecting the 3D pointing device to another device. Thus “3D pointing” differs from, e.g., conventional computer mouse pointing techniques which use a surface, e.g., a desk surface or mousepad, as a proxy surface from which relative movement of the mouse is translated into cursor movement on the computer display screen. An example of a 3D pointing device can be found in U.S. patent application Ser. No. 11/119,663, now U.S. Pat. No. 7,239,301, the disclosure of which is incorporated here by reference.
However, there is significant room for improvement in the area of handheld device interactions with user interfaces, generally, and interactions between 3D pointers having scroll-wheels and their associated user interfaces, more specifically.
SUMMARYSystems and methods according to the present invention address these needs and others by providing a handheld device, e.g., a 3D pointing device, which incorporates buttons and a scroll wheel.
According to one exemplary embodiment of the invention, a method for switching between a scrolling mode and a pointing mode in a user interface includes the steps of: moving a remote control device to generate a corresponding movement in a cursor while in the pointing mode, rotating a scroll wheel to enter the scrolling mode and move the cursor, and disabling the pointing mode in response to the rotating step.
According to another exemplary embodiment, a method for switching between a scrolling mode and a pointing mode in a user interface includes the steps of: rotating a scroll wheel to enter the scrolling mode and move a cursor, moving at least one of a cursor and a highlighting of an object in response to the rotation of the scroll wheel, and disabling the pointing mode for a first predetermined time period after the rotation of the scroll wheel.
According to yet another exemplary embodiment, a method for scrolling through objects includes the steps of rotating a scroll wheel at a first rotation rate, selecting sequential objects in response to the first rotating step, rotating the scroll wheel at second rotation rate, and selecting non-sequential objects in response to the second rotating step.
According to yet another exemplary embodiment, a method for scrolling though objects includes the steps of: rotating a scroll wheel on a remote control device, and skipping object selection based on a speed of rotation of the scroll wheel.
According to yet another exemplary embodiment, a method for jump scrolling through objects includes the steps of: detecting a jump scroll gesture, and skipping a group of objects which are positioned next in a scrolling sequence relative to a current cursor position to select another object in response to the jump scroll gesture.
According to still another exemplary embodiment of the present invention, an electronic program guide includes a grid having a first group of channel number objects displayed as rectangular boxes in the grid and a second group of show name objects, also displayed as rectangular boxes in the grid, wherein a scroll order, associated with an order in which objects displayed on the electronic program guide are selected via scrolling, provides for the second group of show name objects to follow the first group of channel number objects.
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.
In order to provide some context for this discussion, an exemplary aggregated media system 200 in which the present invention can be implemented will first be described with respect to
In this exemplary embodiment, the media system 200 includes a television/monitor 212, a video cassette recorder (VCR) 214, digital video disk (DVD) recorder/playback device 216, audio/video tuner 218 and compact disk player 220 coupled to the I/O bus 210. The VCR 214, DVD 216 and compact disk player 220 may be single disk or single cassette devices, or alternatively may be multiple disk or multiple cassette devices. They may be independent units or integrated together. In addition, the media system 200 includes a microphone/speaker system 222, video camera 224 and a wireless I/O control device 226. According to exemplary embodiments of the present invention, the wireless I/O control device 226 is a 3D pointing device. The wireless I/O control device 226 can communicate with the entertainment system 200 using, e.g., an IR or RF transmitter or transceiver. Alternatively, the I/O control device can be connected to the entertainment system 200 via a wire.
The entertainment system 200 also includes a system controller 228. According to one exemplary embodiment of the present invention, the system controller 228 operates to store and display entertainment system data available from a plurality of entertainment system data sources and to control a wide variety of features associated with each of the system components. As shown in
As further illustrated in
More details regarding this exemplary entertainment system and frameworks associated therewith can be found in the above-incorporated by reference U.S. Patent Application “A Control Framework with a Zoomable Graphical User Interface for Organizing, Selecting and Launching Media Items”. Alternatively, remote devices and interaction techniques between remote devices and user interfaces in accordance with the present invention can be used in conjunction with other types of systems, for example computer systems including, e.g., a display, a processor and a memory system or with various other systems and applications.
As mentioned in the Background section, remote devices which operate as 3D pointers are of particular interest for the present specification, although the present invention is not limited to systems including 3D pointers. Such devices enable the translation of movement of the device, e.g., linear movement, rotational movement, acceleration or any combination thereof, into commands to a user interface. An exemplary loop-shaped, 3D pointing device 3000 is depicted in
According to exemplary embodiments of the present invention, it is anticipated that 3D pointing devices 3000 will be held by a user in front of a display 3008 and that motion of the 3D pointing device 3000 will be translated by the 3D pointing device into output which is usable to interact with the information displayed on display 3008, e.g., to move the cursor 3010 on the display 3008. For example, such 3D pointing devices and their associated user interfaces can be used to make media selections on a television as shown in
Referring again to
Exemplary embodiments of the present invention describe how to create a navigation systems and methods for a use with a graphical user interface (GUI) and which employ scrolling, pointing or some combination thereof to facilitate the navigation experience. Considering scrolling first, note that the scroll-wheel 3006 of 3D pointing device 3000 operates in discrete steps. According to exemplary embodiments of the present invention, the wheel 3006 is spring loaded and provides force feedback for each indexable quantum of rotation, however other methods of providing feedback through the wheel 3006 are also possible. The user receives sensory feedback as the wheel reaches each position; this single step is referred to as a “single click”. Two significant factors exist with this indexing capability. The first is that a user can easily and reliably move a single click in either direction. Secondly, a user receives tactile feedback which is more direct then other alternatives, such as visual cues.
Another characteristic of scroll-wheel 3006 is that the scroll-wheel can be rotated at different, user-controlled speeds. It is easy for users to distinguish between, and use, two scroll wheel rotation speeds, which in this specification are designated as “fast” and “not fast”. The fast rotation speed can be used in exemplary embodiments of the present invention to take large steps through a set of objects displayed on the user interface. This large step behavior is referred to as “skipping” or “jumping”. “Not fast” can include many slower rates of scroll-wheel rotation which are used for taking single steps through a set of objects. This single step behavior is referred to as “visiting a list”. The scroll-wheel 3006 has the advantage of being able to move in single steps very accurately. Scrolling can be used to move the cursor from one object to the next very accurately even when the objects are very small. However, the scrolling distance achievable by a user in a single motion is limited by how many click-rotations can be achieved before the user has to lift up his thumb (or finger) and reposition it. This repositioning action is referred to as “clutching”.
Another method of navigating with an exemplary handheld device is 3D pointing. The 3D pointing function has the advantage of moving along any vector at high speed. For example, pointing can rapidly move the cursor across the screen on a diagonal. The limitation of pointing is that it can be hard for some users to quickly and accurately reach and maintain a position over a small target, especially if there are a large number of objects (e.g., media items such as movie covers) displayed on, e.g., the television, at a particular time.
All target objects in exemplary GUIs according to the present invention can be reached through either pointing only, scrolling only or some combination thereof. Preferably, the user will be free to use pointing, scrolling or a combination of the two methods without having to undergo a difficult changeover process to switch between modes. According to exemplary embodiments of the present invention scrolling and pointing are integrated, and changing methods is easily performed at anytime. During pointing, objects are highlighted or hovered (referring to a technique whereby an object is magnified when a cursor pauses over that object) when the cursor arrives at the target object. During scrolling, the cursor moves to stay within the currently highlighted target object. Both methods of navigation can be synchronized at all times. The following sections will describe how these functions are achieved in more detail.
Prior to describing these exemplary navigation methods, a brief description of an exemplary GUI is presented. The GUI can contain one or more target objects (also referred to herein as graphical objects or simply “objects”). The target objects can be organized in many different ways on a display such as: (1) single buttons or zoomable objects arbitrarily positioned on the screen, (2) one dimensional lists of buttons or zoomable objects which may be scrollable, (3) two dimensional grids of objects possibly scrollable and pannable, (4) three dimensional matrices of objects possibly scrollable and (5) various combinations of the above. It may be desirable for some GUI objects to be immediately available at all times because of their functionality, while others may be displayed only in response to, e.g., user command or movement of a cursor to a predetermined portion of the display. In the exemplary GUIs described herein, such objects include things like volume control, transport control and communications control.
According to exemplary embodiments of the present invention, scroll-wheel and pointing methods are used by the handheld device to navigate the GUI on a display. A cursor is used to indicate the current location associated with the pointing method. When the cursor enters the area occupied by a selectable object, that object is highlighted. Highlighting is visible through a color change, a hover-zoom effect, or any other visual method that makes the object distinguishable from other objects on the display. The highlighted object is the object on the GUI that has the focus of both the user and the system. A “select” button, e.g., one of the buttons on 3D pointing device 3000, can be associated with the current highlighted (or focused) object to enable the user to actuate, or otherwise further interact with, that object.
According to one exemplary embodiment of the present invention, scrolling takes place beginning with the last highlighted object. Pointing or scrolling may be used to arrive at this position. Moving the thumb in a top-to-bottom direction over the scroll-wheel causes the cursor to move in a left-to-right or a top-to-bottom direction. Moving the thumb in a bottom to top direction over the scroll-wheel causes the cursor to move in a right-to-left or a bottom-to-top direction. Scrolling movement takes place on whole objects in a discrete fashion, e.g., one click of the wheel moves to the adjacent whole object.
In any view, e.g., a discrete GUI display screen of objects, according to exemplary embodiments of the present invention, objects are assigned a scrolling order. The order is typically an approximation of top to bottom and left to right within the graphical layout, although some GUI screens may have functionality that suggests a different scroll order. Scrolling can traverse objects in a forward or reverse order depending on the direction of scroll-wheel rotation. Additionally, the scrolling sequence wraps around for collections of objects which bridge GUI screens. For example, in the forward scrolling direction the next object visited on the new screen after the last on the previous screen will appear at the top left. In the reverse scrolling direction the next object visited on the new screen after the first on the previous screen will appear at the bottom right. Scrolling causes the next object to be highlighted. When a user rotates the scroll-wheel one index position then, at that point in time, the currently highlighted object is the object which was previously the next object in the scrolling order for that view. Scrolling also moves the cursor to the current highlighted object, thereby keeping both pointing and scrolling synchronized on the same object.
As previously described, exemplary navigation systems according to the present invention have both a pointing mode and a scrolling mode. The system automatically determines whether the pointing mode or the scrolling mode is in effect at any time. When the scrolling mode is in effect, the pointing mode can be disabled. This exemplary determination function allows the system to avoid the confusion of the two methods attempting to operate at the same time. Since the determination function is automatic, the user is not necessarily aware of one mode temporarily being disabled in favor of the other mode. Additionally, the exemplary navigation systems and techniques allow for easy and automatic switching between modes which will be described in further detail below with respect to the flow chart of
Therein, at step 400, the process begins with entry into the pointing mode. It should be noted, however, that according to other exemplary embodiments of the present invention, the default mode could be the scrolling mode. While in the pointing mode, the user interface can highlight objects as the cursor passes over them (either directly or in response to a subsequent user input, e.g., a button press) at step 402.
According to exemplary embodiments, rotating the scroll-wheel triggers the entry into scroll mode at step 404. The cursor is moved to the new highlighted object (408) and frozen for a short period of time, preferably less than one second, e.g., 300 ms, at step 410. This hard freeze period can be included after the rotation of the user's scroll-wheel because users are apt to move the handheld device (in particular 3D pointing devices) to some degree when rotating the scroll-wheel which could cause inadvertent pointing of the handheld device. Additionally the time period used for the hard freeze should be short enough to be unperceivable by the user, although this is not required.
When the hard freeze period expires, the cursor enters a soft freeze state at step 412. This soft freeze state aids the user to keep the highlighting on the last scrolled target object even if his or her hand moves slightly while holding, e.g., a 3D pointing device 3006. In the soft freeze state the cursor remains frozen (relative to pointing, not scrolling) but can be “tugged” loose when the torque applied by a user exceeds a predetermined threshold. In this context the term “torque” generally refers to the amount of force applied by the user to move the handheld device 3006. Thus the torque threshold can, for example, be expressed as a function of movement over time relative to the mass of the handheld device 3006. The amount of torque required to free the cursor from the scrolling mode in the soft freeze state (and to then enter the pointing mode) should be large enough to prevent inadvertent pointer movement from causing object reselection while at the same time being small enough that it does not hamper the user in changing cursor position when desired. In exemplary implementations, the predetermined torque threshold can be set in the user interface software as either a velocity (e.g., angular velocity) or an acceleration threshold (e.g., angular velocity over time) for a handheld device 3006 having a known mass. For example, using one exemplary handheld device 3006, trials found that a setting of 25 degrees/s (or, alternatively, a change in handheld device 3006's output of 25 mickeys/s) was enough to allow the cursor to be parked when desired yet still remaining very easy to tug loose. For example, with a setting of 25 degrees/s a user was able to tug the cursor loose with a wrist rotation of approximately 8 degrees in 0.16 seconds moving from left to right. In a second trial with the same exemplary threshold, the user was able to tug loose with a wrist rotation of approximately 5 degrees in 0.14 seconds moving from right to left. In a third trial with this exemplary threshold, the user was able to tug loose with a wrist rotation of approximately 5 degrees on the vertical axis in 0.2 seconds. The torque setting needed to tug the cursor loose can be adjusted, even to the point of making the setting so low that the user may not even be conscious that it exists. The predetermined torque threshold may be modified through the user interface and may, optionally, be settable by the user to enable them to personalize the sensitivity between scrolling and pointing.
Regardless of the manner in which the soft freeze torque threshold is implemented, the system checks, at step 414, to determine whether torque associated with movement of the pointing device is greater than the threshold. If so, the flow returns to step 400 and the system enters pointing mode once again. Otherwise, there is a check performed at step 416 to determine whether the scroll-wheel has been rotated. If so, then the flow returns to step 408 wherein cursor movement is determined as part of the scroll mode operation. If not, then the system remains in its soft freeze state until either the user provides enough torque to indicate a return to pointing mode, or the scroll-wheel is rotated again.
According to another exemplary embodiment of the present invention, users can use scrolling alone to operate the system. Scrolling can reach all selectable target objects, or in other words, all selectable objects are members of the scrolling list. Certain objects, such as the transport controls described below, are not always visible on the screen, however, transport controls (and all other objects not currently visible) are members of the scrollable list. Continued scrolling will at some point make the object visible. Depending upon the quantity of targetable objects, different methods of scrolling are available. For single objects and small groups scrolling to each one in turn is easy to accomplish. For larger lists, a user will most likely find it to be undesirable to have to scroll through every item on the list. Two scroll-wheel gestures are defined according to exemplary embodiments of the present invention to be used to traverse through larger lists. The two gestures are fast scrolling and jump scrolling.
High speed (or fast) scrolling is used to traverse long lists. According to exemplary embodiments, the system detects the high speed of rotation of the scroll-wheel and can then skip over some objects, which is particularly effective for moving across a large block of channels for channel selection. The pointing mode is disabled during high speed scrolling. Fast scrolling can be used when a user wants to move quickly through a large number of objects by using the scroll-wheel. Fast scrolling is triggered when the time between scroll-wheel indexes occur less than a predetermined short period of time, e.g., 20 ms, apart. The nominal number of objects to skip could be a factor of ten, or it could depend on content, or the nominal number of objects to skip could depend upon the number of visible objects in a list. For example, consider a GUI screen which displays a channel list containing six visible objects. When in fast scrolling mode, fast scrolling would jump six objects per fast click. In another example, a two dimensional grid contains 24 visible objects, so fast scrolling would jump 24 objects per click. In fast scrolling mode the first visible object of the newly paged group is highlighted. The above examples for short period of time and nominal number of objects to skip are purely illustrative, and can be modified as desired.
Jump scrolling is another method for navigating through large groups or lists. Jump scrolling allows a user to skip over the remainder of one group in order to reach another item in a different group. A jump-forward and jump-back wheel gesture moves past all remaining items in the current group and continues on to whatever object is next. According to one exemplary embodiment of the present invention, to jump-forward the gesture comprises scrolling back one object (e.g., one click of the scroll wheel 3006) followed by scrolling forward. According to another exemplary embodiment of the present invention, to jump-back the gesture comprises scrolling forward one object followed by scrolling back. When the system detects either of these patterns the system will perform the jump scroll according to this exemplary embodiment.
According to exemplary embodiments of the present invention, an example of jump scrolling will be described as shown in
The jump-scroll pattern works in the forward direction as well according to exemplary embodiments of the present invention. To activate the jump-forward function while scrolling in a forward direction, scrolling back one item, and then scrolling forward one scroll-wheel click causes a jump forward. As described in the jump-back method, the jump forward method will skip all objects in the current group and the cursor will move accordingly. Additionally, scrolling over two or more objects in the same direction resets the scroll jumping pattern.
Thus far, the description has focused on general pointing/scrolling interaction and some special scroll functions. Next, these interactions will be discussed in the context of specific (yet still illustrative) user interfaces and/or GUI screens.
For example, according to another exemplary embodiment of the present invention a Circle-of-Icons view is displayed, as illustrated in
According to another exemplary embodiment of the present invention, another type of view exists entitled a New Releases View as shown in
These graphical interaction methods include: (1) global navigation buttons, (2) scrolling lists of categories, (3) control of sort order by date or alphabetically, (4) page index indicating relative position within the total set of objects, (5) pannable, pageable and zoomable two dimensional grid, and (6) a ‘more’ button to control paging. “Pan”, “pannable” or “panning” as these terms are used herein refer to the progressive translating of a displayed object or objects (or a portion thereof) that gives the visual impression of lateral movement in the image. Additionally, other methods could be used or variations and combinations of the above graphical interaction methods. Some common denominators exist for this type of layout, for example, according to one exemplary embodiment all objects are arranged into a scrollable list no matter how complex the layout or lengthy the list.
Referring to
The next group of objects is the ‘page index’ group, numbered 730, 732, 734 and 736. Scrolling to and selecting any one of these objects causes the corresponding page to be displayed in the two dimensional grid area starting with objectl8 738. The two dimensional grid is a pannable page of objects, e.g., movie covers, albums, etc. Scrolling continues from left to right until it reaches object24 740. Object25 742 is not currently visible, but scrolling to object 742 will cause the grid to pan to the right. Upon scrolling to object 742 of
Object25 742 (not visible) is the right most object in the first row of the grid. Continuing this example and also referring to
According to one exemplary embodiment of the present invention, scrolling past the end of the page does not automatically trigger the ‘more’ button function. Instead, the user needs to select the ‘more’ button 1012 to turn the page. According to an alternative embodiment of the present invention, the page would be turned automatically when scrolling past the last item on the page, rather than wrapping back around to the first global navigation object.
If there were only two pages of items in this portion of the user interface, then scrolling to the end of the second page would bring the highlighting to the ‘more’ button 1012 and then on to transport control. If there were many pages it would be undesirable to force the user to have to scroll through them all just to reach transport control. This is another example of an instance where the jump scroll function described above can be used to enable a user to quickly and easily navigate through the system.
According to another exemplary embodiment of the present invention, objects can be presented in an on-demand view as seen in
Selecting one of the groups will zoom into that group. As illustrated in
According to exemplary embodiments of the present invention, there is a detail view with scrollable categories and a detail view with an integrated text entry search.
According to another exemplary embodiment of the present invention, an electronic programming guide (EPG) is displayed in a 2D grid view, and contains multiple groups of objects, several of which are scrollable, pageable and pannable as illustrated in
Continuing the example from above and illustrated in
The scrolling and paging process continues until the end of the channel list. In the situation where the user does not want to scroll through the entire list, the user can perform a pointing gesture to move off of this group or the user can perform a scroll-jump as described above. Jumping forward brings the cursor to the two dimensional grid of ‘show names’ starting in the upper left labeled object 1504. Scrolling proceeds from left-to-right and top-to-bottom within the two dimensional group of visible ‘show names’. When the cursor reaches the bottom right item 1506, the next forward scroll-wheel click will trigger a page-down. A page-down will display the next twenty four half-hour segments. The next item in sequence is positioned in the upper left of the two dimensional grid. This paging sequence continues through the end of the channel list. Additionally the user can use pointing to move off of this group or use the scroll-jump behavior previously described. Scroll jumping from the two dimensional grid, will move the cursor to the next visited object which is the quick-pix list item 1508. Scrolling forward proceeds through the quick-pix list, items 1510 through 1516. Since the quick-pix list is short and not pannable, the scroll-jump feature can be disabled. Referring to
The transport control and communications control are on the end of the scroll list as on other layouts. According to the exemplary embodiment displayed in
According to another exemplary embodiment of the present invention, the screen layout can be a full screen video view (Live TV) as shown in
When only video is showing on the screen, the first scroll-wheel click will highlight the left-most button 1802 of the Global Navigation and succeeding forward scrolling will proceed through the other navigation buttons 1804 and 1806 as illustrated in
The transport control depicted in
Communications control 2102 is typically the last item in the scrollable sequence. A scroll-wheel click forward from communications control 2102 will bring the cursor back to the first global navigation icon 2104. According to various exemplary embodiments of the present invention allow for hot corners or hot sides which allow a cursor to be placed in a certain location to make a control visible, or to have the control icons only made visible through scrolling, or some combination thereof. An alternate exemplary embodiment would provide a mapping solution that provides a singular hot corner. For example, pointing into the bottom left corner would cause the communication control icon 2102 to become visible. When communication control icon 2102 is visible, one scroll-wheel click backwards would reach channel control and one scroll-wheel click forwards would reach transport control. This method provides rapid access to all controls. Additionally, once the controls become visible pointing or scrolling can be used to operate the controls.
According to exemplary embodiments of the present invention, the scroll-wheel can be used as a button to toggle the visibility of the volume control object 2202 displayed in
The communications control object is one of the controls that are available at all times on all views. As such, it is a member of the scrollable list for all views just like the transport control widget. Scrolling to the communication control widget makes a small icon in the communication control corner visible. Since it is a single object, the user can scroll past it with a single click. To access more details of the current state of communication alerts the user should select the communication icon. The communication icon can become visible for at least any of the following three reasons: (1) a communications event causes the communication icon to appear temporarily as an alert, (2) the user points into the corner where communication events are displayed, or (3) the user scrolls to the communication icon.
Channel control, as previously described, is part of the Live TV view. The channel control widget is on the scrollable list of the Live TV view. Scrolling in the Live TV view will make the channel control, transport control and communications control icons visible in turn. The channel control widget contains the metadata browser and associated controls which are also on the scrollable list. An idle timer causes the channel control widget to become invisible. A right-click while in the Live TV view causes all control widgets to become invisible. The metadata browser currently becomes visible in conjunction with channel control. The metadata browser contains links to other controls such as DVR and On-Demand. A full view transition takes place when zooming to these additional areas.
According to another exemplary embodiment a passcode system can be used to allow access to a variety of items. An exemplary passcode widget is displayed in
According to the following exemplary embodiment of the present invention, an alternate method for passcode entry is illustrated in
According to another exemplary embodiment of the present invention, the scroll algorithm previously described can be applied to a photo application.
Managing and displaying photos can be a complex problem. A high level list of functions into which scroll-wheel algorithms can be associated therewith is as follows: (1) visual browser (two dimensional), (2) integrated search, (3) hyper links, (4) favorites, (5) image manipulation, (6) image touch-up, (7) slide show, (8) smart slide show, (9) import/export, (10) playlist (time based), (11) printing, (12) sharing and (13) integrated radio.
According to another exemplary embodiment of the present invention, scroll-wheel functions can be associated with the problem of managing and displaying music. A similar layout as described above with respect to photos could be used. Additionally a high level list of functions into which scroll-wheel algorithms can be associated therewith is as follows: (1) visual browser of textual items (three click), (2) integrated search, (3) hyperlinks, (4) favorites, (5) playlists (construction and management), (6) home networking, (7) equalizer, (8) visualizer, (9) music store, (10) construct music library, (11) import/export and (12) integrated radio.
According to another exemplary embodiment, text entry is a selection from an ordered list and in alphabetical order is convenient for scrolling purposes. An exemplary text entry widget is illustrated in
Within the context of hand held pointing devices, text entry is often associated with a search. Text entry is one of several methods in which a user may initiate a search, and searching is one of several methods to select an item from a group of items. An exemplary embodiment of the present invention is shown in
Other methods of searching include visual browsing, key word selection, recommendations and find-similar functions. All methods of searching are well integrated into the graphical user interface.
Systems and methods for processing data according to exemplary embodiments of the present invention can be performed by one or more processors executing sequences of instructions contained in a memory device. Such instructions may be read into the memory device from other computer-readable mediums such as secondary data storage device(s). Execution of the sequences of instructions contained in the memory device causes the processor to operate, for example, as described above. In alternative embodiments, hard-wire circuitry may be used in place of or in combination with software instructions to implement the present invention.
Numerous variations of the afore-described exemplary embodiments are contemplated. 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, used herein, the article “a” is intended to include one or more items.
Claims
1. A method for switching between a scrolling mode and a pointing mode in a user interface comprising the steps of:
- rotating a scroll wheel to enter said scrolling mode and move a cursor;
- moving at least one of a cursor and a highlighting of an object in response to said rotation of said scroll wheel; and
- disabling said pointing mode for a first predetermined time period after said rotation of said scroll wheel.
2. The method of claim 1, wherein said first predetermined time period is less than one second.
3. The method of claim 2, wherein said first predetermined time period is 300 ms.
4. The method of claim 1, further comprising the step of:
- after said first period of time has expired, entering a soft freeze state.
5. The method of claim 4, further comprising the step of:
- during said soft freeze state, entering said pointing mode if a user supplies greater than a predetermined amount of torque to a handheld pointing device.
6. The method of claim 5, further comprising the step of entering said pointing mode during soft freeze state if a user moves a remote control device a predetermined distance within a predetermined second time period.
7. The method of claim 6, wherein said predetermined distance within a predetermined second time period is 25 degrees/second.
8. The method of claim 5, wherein said predetermined amount of torque is user-settable.
9. A method for scrolling through objects comprising the steps of:
- rotating a scroll wheel at a first rotation rate;
- selecting sequential objects in response to said first rotating step;
- rotating said scroll wheel at second rotation rate; and
- selecting non-sequential objects in response to said second rotating step.
10. The method of claim 9, wherein said step of selecting non-sequential objects in response to said second rotating step further comprises wherein each non-sequential object is the next non-visible object.
11. The method of claim 9 wherein said step of rotating said scroll wheel at second rotation rate further comprises rotating said scroll wheel such that a time between each scroll-wheel index is no more than 20 milliseconds.
12. The method of claim 9, wherein said step of selecting non-sequential objects in response to said second rotating step further comprises the step of:
- skipping a number of objects between selections, wherein said number is selected based upon a number of objects on a GUI screen that is currently being displayed.
13. A computer-readable medium containing instructions which, when executed on a computer, perform the steps of:
- detecting rotation of a scroll wheel;
- entering a scrolling mode in response to said detecting step and moving at least one of a cursor and a highlighting of an object in response to said rotation of said scroll wheel; and
- disabling a pointing mode for a first predetermined time period after said rotation of said scroll wheel.
14. The computer-readable medium of claim 13, wherein said first predetermined time period is less than one second.
15. The computer-readable medium of claim 14, wherein said first predetermined time period is 300 ms.
16. The computer-readable medium of claim 13, further comprising the step of:
- after said first period of time has expired, entering a soft freeze state.
17. The computer-readable medium of claim 16, further comprising the step of:
- during said soft freeze state, entering said pointing mode if a user supplies greater than a predetermined amount of torque to a handheld pointing device.
18. The computer-readable medium of claim 17, further comprising the step of entering said pointing mode during soft freeze state if a user moves a remote control device a predetermined distance within a predetermined second time period.
19. The computer-readable medium of claim 18, wherein said predetermined distance within a predetermined second time period is 25 degrees/second.
20. The computer-readable medium of claim 17, wherein said predetermined amount of torque is user-settable.
21. A computer-readable medium containing instructions which, when executed on a computer, perform the steps of:
- detecting rotation of a scroll wheel at a first rotation rate;
- selecting sequential objects displayed on a user interface in response to said first rotating step;
- detecting rotation of said scroll wheel at second rotation rate; and
- selecting non-sequential objects displayed on said user interface in response to said second rotating step.
22. The computer-readable medium of claim 21, wherein said step of selecting non-sequential objects in response to said second rotating step further comprises wherein each non-sequential object is the next non-visible object.
23. The computer-readable medium of claim 21, wherein said step of rotating said scroll wheel at second rotation rate further comprises rotating said scroll wheel such that a time between each scroll-wheel index is no more than 20 milliseconds.
24. The computer-readable medium of claim 21, wherein said step of selecting non-sequential objects in response to said second rotating step further comprises the step of:
- skipping a number of objects between selections, wherein said number is selected based upon a number of objects on a GUI screen that is currently being displayed.
Type: Application
Filed: Dec 16, 2014
Publication Date: Apr 9, 2015
Inventor: Frank J. WROBLEWSKI (Gaithersburg, MD)
Application Number: 14/571,842
International Classification: G06F 3/038 (20060101); G06F 3/0484 (20060101); G06F 3/0485 (20060101); G06F 3/0482 (20060101);