The present specification relates generally to computing and more specifically relates to an apparatus and method for controlling a display to provide content navigation.
As traditional content platforms such as television, radio, compact disc players, video disc players, books, and magazines wane, there is a concurrent increase in the use of computers as a replacement and converged platform.
Systems currently exist for navigating through the aforementioned content. However, these exiting systems are, in certain ways, difficult to use. For example, in common content navigation systems, it is easy to lose track of content menus, with the result that the user will have to hunt around with his mouse pointer on the display to find a menu that he had previously opened. Second, the benefits of existing content navigation systems are often difficult for the user to discover. For example, some common content navigation systems (e.g. tabbed browsers in Windows™) allow queuing of content (such as webpages), but that functionality requires the user to know that he must right-click on a link and select “open in new tab”. Third, browsing between menus is often difficult. In the example of tabbed browsers, to switch between tabs, a user has to hover the mouse into the tab area of the browser window, and where many tabs are open, scrolling may be required to reach the desired tab, making browsing difficult and inconvenient.
Therefore, what is desired is an apparatus and method for controlling a display to provide content navigation which facilitates efficient, convenient and organized content navigation.
According to one aspect of the invention, there is provided a computer-implemented method of controlling a display to provide content navigation, comprising the steps of: (a) controlling said display to activate a first graphical cascade to show a root menu in said first graphical cascade, said root menu comprising a first set of menu items; (b) in response to a selection of one of the first set of menu items, controlling the display to (I) activate a second menu, corresponding to said one of the first set of menu items, so as to automatically show the second menu in a foreground of the first graphical cascade, and (II) automatically move the root menu so as to show the root menu in a background of the first graphical cascade; said second menu comprising a second set of menu items; and in response to a selection of one of the second set of menu items, controlling said display to automatically activate a third menu in a second graphical cascade adjacent to said first graphical cascade, the third menu corresponding to the one of the second set of menu items, and comprising a third set of menu items. Preferably, the method further comprises the step of in response to a selection of another of the second set of menu items, controlling the display to (I) activate a fourth menu corresponding to said other of the second set of menu items, so as to automatically show the fourth menu in a foreground of the second graphical cascade; and (II) automatically move the third menu to show the third menu in a background of the second graphical cascade; the fourth menu comprising a fourth set of menu items. Optionally, the method may comprise the step of, in response to a selection of one of the third set of menu items, automatically activating a third graphical cascade, including an activated content link corresponding to the one of the third set of menu items.
According to one aspect of the invention, there is provided a computer-implemented method of controlling a display to provide content navigation, comprising the steps of: (a) in response to a user selection, controlling said display to automatically activate a menu in a foreground of a first graphical cascade, said menu comprising a first set of menu items; (b) in response to a selection of one of the first set of menu items, controlling the display to (I) activate a next menu, corresponding to said one of the first set of menu items, so as to automatically show the next menu in a foreground of the first graphical cascade, and (II) automatically move the menu so as to show the menu in a background of the first graphical cascade; said next menu comprising a second set of menu items; and (c) in response to a selection of one of the second set of menu items, controlling said display to automatically activate a further menu in a second graphical cascade adjacent to said first graphical cascade, the further menu corresponding to the one of the second set of menu items, and comprising a third set of menu items. Optionally, the method further comprises the step of: in response to a selection of another of the second set of menu items, controlling the display to (I) activate an additional menu corresponding to said other of the second set of menu items, so as to automatically show the additional menu in a foreground of the second graphical cascade; and (II) automatically move the next menu to show the next menu in a background of the second graphical cascade; the additional menu comprising an additional set of menu items. Optionally, the method further comprises the step of: in response to a selection of one of the third set of menu items, automatically activating a third graphical cascade, including an activated content link corresponding to the one of the third set of menu items. Optionally, each menu item in said first set and said second set has associated therewith metadata identifying it as being in a first category of items the selection of which automatically activates a new menu in the graphical cascade in which said each menu item is located, or a second category of items the selection of which automatically activates a new menu in another graphical cascade. Optionally, the method further comprises the steps of (1) upon selection of said one of said first set of menu items, determining that said one of said first set of menu items is in the first category, and (2) upon selection of said one of said second set of menu items, determining that said one of said second set of menu items is in the second category.
According to another aspect of the invention, there is provided a computer-implemented method of displaying a graphical cascade array, the method comprising the steps of (a) receiving a content index (b) identifying a root of the index (c) identifying content links in the index (d) building a graphical cascade array and (e) using the array, displaying a graphical cascade, the graphical cascade including a plurality of menus, a root menu corresponding to a root of the index being shown in a background of the graphical cascade, and another menu corresponding to a node at a sublevel of the index being shown at a foreground of the graphical cascade.
According to another aspect of the invention, there is provided a computer-implemented method for navigating within a graphical cascade, the graphical cascade comprising a plurality of menus in a stack, wherein a first one of the plurality of menus is shown in a foreground, and the rest of the plurality of menus are in the background, the graphical cascade being displayed on a touchscreen display, the method comprising the steps of (a) swiping the touchscreen on or near the cascade in a first direction to remove the first one of the plurality of menus from the display, and cause a next menu in the stack to be displayed in the foreground and (b) swiping the touchscreen on or near the cascade in a first direction to remove the next menu from the display and cause a following menu in the stack to be displayed in the foreground. Preferably, the method further comprises the step of swiping the screen in a second direction on or near the cascade to return the next menu to the display and cause the next menu to be shown in the foreground. Preferably, the method further comprises the step of swiping the screen in a second direction on or near the cascade to return the first one of the plurality of menus to the display and cause the first one of the plurality of menus to be shown in the foreground. Optionally, the graphical cascade is displayed adjacent to a first side edge of the touchscreen display, swiping the touchscreen in the first direction comprises swiping the touchscreen in a direction from the vertical centre-line of the display toward the first side edge, and swiping the touchscreen in the second direction comprises swiping the touchscreen in a direction from the first side edge toward the vertical centre-line of the display. Optionally, the graphical cascade is displayed adjacent to one of a top edge or a bottom edge of the touchscreen display, swiping the touchscreen in the first direction comprises swiping the touchscreen from right to left, and swiping the touchscreen in the second direction comprises swiping the touchscreen from left to right. Preferably, the method further comprises maintaining the first one of the plurality of menus in a memory operatively connected to the display after the first one of the plurality of menus has been removed from the display. Preferably, the method further comprises maintaining the next menu in a memory operatively connected to the display after next menu has been removed from the display.
According to another aspect of the invention, there is provided a computer-implemented method for navigating within a first graphical cascade and a second graphical cascade, each graphical cascade comprising a plurality of menus in a stack wherein a first one of the plurality of menus is shown in a foreground and the rest of the plurality of menus are in the background, each graphical cascade being displayed on a touchscreen display, the first graphical cascade being positioned to the left side of the display and second graphical cascade being displayed on the right side of the display, the method comprising the steps of (a) swiping the touchscreen from right to left on or near the first cascade to remove the first cascade's first one of the plurality of menus from the display, and cause a next menu in the stack of the first cascade to be displayed in the foreground (b) swiping the touchscreen from left to right on or near the second cascade to remove the second cascade's first one of the plurality of menus from the display, and cause a next menu in the stack of the second cascade to be displayed in the foreground. Preferably, the method comprises the steps of (1) swiping the touchscreen from left to right on or near the first cascade to return the first cascade's first one of the plurality of menus to the display and cause the first cascade's first one of the plurality of menus to be shown in the foreground, and (2) swiping the touchscreen from right to left on or near the second cascade to return the second cascade's first one of the plurality of menus to the display and cause the second cascade's first one of the plurality of menus to be shown in the foreground. Preferably, the method further comprises maintaining the first and second cascades' first ones of the plurality of menus in a memory operatively connected to the display after the first and second cascades' first ones of the plurality of menus has been removed from the display.
Referring now to
It will be understood that the exact configuration of display 54 and apparatus 58 can vary according to the type of platform. Accordingly, display 54 can be implemented using any desired display technologies, including as a liquid crystal display, an organic light emitting diode (OLED) display, a cathode ray tube or a projector. By the same token apparatus 58 can be implemented using any computing hardware structures that are capable of controlling display 54. A non-limiting, and simplified example of such a computing hardware structure for apparatus 58 is shown in
Processor 62 can be based on any known or future contemplated microprocessor(s), including those offered by Intel™, Advanced Microdevices™, Motorola™, or others. A plurality of processors 62 may be employed, or multiple core processors may be employed or combinations thereof. For example, it is common on a personal computer to have a central processing unit, as well as a separate microprocessor located on a video controller card. Such configurations, and variations thereon, are contemplated.
Persistent storage device 66 can comprise any type of persistent storage, including but not limited to one or more of a hard disc drive, an optical disc drive, FLASH, or a redundant array of inexpensive disks (RAID). Persistent storage device 66 can also be located remotely from processor 62, such as on a remote file server or web server, in which case the link between processor 62 and persistent storage device 66 can be based on the Internet or any other network topography. Again, the type of persistent storage device 66 will typically complement the platform of system 50. As will be discussed further below, persistent storage device 66 maintains a data representation of a graphical cascade array 78 and content 82.
Volatile storage 70 can comprise random access memory (RAM) or the like.
Input devices 74, in the present example, comprise a keyboard 74-1, a mouse 74-2, a touchpad 74-3, a touchscreen 74-4 and a remote control 74-5. It should be understood that only one input device of one of these types need be provided, and also that other types of input devices, not shown, such as video game controllers, are contemplated. The links between input devices 74 and processor 62 can be wired or wireless.
Referring specifically to keyboard 74-1, it should be understood that QWERTY or reduced keyboards are contemplated. Also, it should be understood that touchscreen 74-4 is implemented as a membrane or the like overlaid upon display 54. Remote control 74-5 can be a television remote control, or a wireless remote control game controller as currently used on Wii™ video game consoles from Nintendo™.
In sum the configuration of apparatus 58 can vary and depend on the type of platform used to implement system 50.
Referring now to
Block 210 comprises receiving a content index. Such a content index, in system 50, is received at processor 62. The format in which the content index is received, and the source thereof, is not particularly limited. In one contemplated implementation, method 200 is applied to indexing of media content which can comprise, without limitation, photos, movies, books and music. Other type of content is contemplated, including electronic magazines, electronic news papers, blogs, web pages, and even software applications. In general, any type of content that can be generated on a display of a computer is contemplated. For purposes of further discussion, content is focused on photos, movies, books and music, but it is to be emphasized these are just examples for illustration purposes.
It will now be apparent that the source of the content index can be locally developed by processor 62 based on an identification of actual content, or the content index can be created elsewhere.
Block 215 comprises identifying a root of the content index received at block 210. Often the root of the content index is inherent within the data structure and accordingly block 215 comprises examining the data content index 300 to ascertain the root. In data content index 300, the root is labeled as home 304.
Block 220 comprises identifying sub-levels of the content index received at block 210. Again, often the sub-levels of the content index received at block 210 are inherent within the data structure and accordingly block 220 comprises examining data content index 300 to ascertain the various sub-levels. Also as part of block 220, the number of sub-levels will also be ascertained.
In content index 300, two sublevels are present: the first sub-level is sublevel 308 and the second sub-level is sublevel 308. First sub-level 308 comprises photos 308-1, movies 308-2, books 308-3, and music 308-4. Accordingly first sub-level 308 identifies broad classes of types of media that are indexed by content index 300. Second sub-level 312 comprises sunsets 312-1 and scuba diving 312-2, which are particular folders or groupings of photographs. Accordingly, second sub-level 312 identifies logical groupings within the broader classes of media types. The specific example in
Block 225 comprises identifying content links within the content index received at block 310. Such content links are also typically inherently ascertainable within the data structure of the particular content index, as such content links do not themselves point to another location in the index, but instead point to a content source external from the index. Note in variations, it is contemplated that the actual content may also be placed in the index, but this is not the present typically contemplated implementation.
In content index 300, the content links are labeled generally as 316. Specific example content links 316 are labeled as Carmel-by-the-sea 316-1, Victoria BC 316-2, which depend from Sunsets 312-1, and Cozumel 316-3 and Phuket 316-4 which depends from Scuba Diving 312-2. For illustrative convenience, the actual content links 316 specifically point to data files within content 82. However, it is to be understood that content 82 need not be maintained within any single source or location, and can in fact be distributed across the Internet or other network topology. Thus, content links may, by way of non-limiting example, be uniform resource locators (URLs) that point to specific web-content. Other forms of content links will now occur to those skilled in the art. In general, it should be understood that the form, structure, number of levels, number of links and other aspects of the content index are not particularly limited.
Block 230 comprises building a graphical cascade array based on the processing performed at the previous blocks. In the example implementation of system 50, the resulting graphical cascade corresponds to graphical cascade 78 and its creation will be discussed further below.
Block 405 comprises generating a root menu based on the results of block 215 and part of the results of block 220. More particularly, a root menu is generated at block 405 to create a menu of choices based on the headings within each first sub-level 308. Exemplary performance of block 405 is shown in
As seen in
Block 410 comprises generating one or more first sub-level menus based on the results of block 220. More particularly, one or more first sub-level menus are generated to create, for each sub-level, a menu specific to that sub-level. Exemplary performance of block 410 is shown in
As seen in
Also note that, for illustrative convenience, only sub-menu 508-1 is shown as having specific exemplary icons 516, while sub-menu 508-2, sub-menu 508-3 and sub-menu 508-4 each have ellipsis (“ . . . ”), corresponding to the ellipsis used in
Block 415 comprises grouping the root menu from block 405 and the first level sub-menus from block 410 into a first graphical cascade, the details of which will be explained further below.
Block 420 thus comprises generating a second level of sub-menus, much in the same fashion as block 410. Exemplary performance of block 420 is shown in
As seen in
Block 425 comprises grouping the second level sub-menus into a second graphical cascade, the details for which will be explained further below.
Block 435 comprises determining if there are further sub-levels within the content index, and if a “yes” determination is made, then block 440 is invoked which generates further sub-level menus in substantially the same fashion as block 420, and those further sub-level menus are grouped at block 445 in substantially the same fashion as block 445. Note that the example content index 300 does not include further sub-levels and so, in the example relating to content index 300, a ‘no’ determination is reached at block 435.
It should now be understood that in variations, block 415 can advance directly to block 435 and thereby obviate block 420 and block 425. In other variations, where a number of levels for a given content index are fixed, then method 400 can be varied to specifically accommodate content indexes of such fixed depth.
Block 450 comprises reserving a final cascade for actual generation of content that corresponds to content links 316, the details of which will be explained further below. Block 455 comprises consolidating cascades into an array.
Referring now to
Block 605 comprises setting a foreground menu level to a root menu level. Block 610 comprises controlling a display to generate a current foreground menu level. When block 610 is invoked directly after block 605, block 610 results in generation of a root menu as the foreground menu.
Exemplary performance of block 610, directly after performance of block 605, is represented in
Referring again to
A “no” determination at block 615 leads to block 620, where a determination is made as to whether input has been received requesting closure of the current foreground menu. A “yes” determination from block 615 will be discussed further below.
Again, the means by which an instructions to close the current foreground menu at block 620 is made is not particularly limited and generally corresponds to the functionality of the particular input device 74. For example, the encircled X icon 550 located in the top right corner of menu 500 may be selected which represents an instruction to close the current foreground menu. A “yes” determination from block 620 will be discussed further below, although in passing it will be noted that in a present embodiment, an attempt to close root menu 500 will lead to regeneration of the root menu at block 610 (via block 625, block 630 and block 635), but this regeneration not required. For example, closure of root menu 500 could lead to closure of an application that is associated with method 600 and thereby terminate method 600.
A “no” determination from block 615 leading to block 620, and a “no' determination from block 620 leading to block 610, results in no change occurring on display 54.
Returning again to block 615, a “yes” determination at block 615 leads to block 640. Such a “yes” determination is made when any of the menu items, in the form of icons 504, are selected via an input device 74.
Block 640 comprises determining if the item selected from the menu is of a type that leads to creation of a new cascade. A “yes” determination leads to block 645, in which case the current menu selection results in invocation of the menu selection in an adjacent cascade. Block 645 will be discussed further below.
In the present example in relation to content index 300, the content links 316 are menu items of a type that lead to creating of a new cascade. However, it will be appreciated that there may be other criteria for identifying menu items whose selection leads to creation of a new cascade. Preferably, there is metadata associated with each menu item that indicates whether selection of a particular menu item will lead to invocation of the menu selection in another cascade, or in the current cascade.
In a variation, it is possible to configure the menu items so that any item positioned in the index more than X levels below the root menu will be invoked in a new cascade, with X being a selectable, and preferably changeable, number.
Accordingly, assume that, as per
Block 650 comprises moving the current foreground menu backwards. In this example, root menu 500 is moved from the foreground into the background, as shown in
In this specification, “background” means a position in which the menu is visible on the display but is shown behind another object also visible on the display. “Foreground” means a position in which the menu is visible on the display 54 and is not shown behind another object also visible on the display.
In this non-limiting illustrative example, it is assumed that photos icon 504-1 corresponding to photos is selected and thus at block 655 the foreground level is incremented by one to correspond with the menu 508-1. From block 655 method 600 returns to block 610, and this exemplary performance of block 610 is shown in
From the view in
Collectively, the foreground menu, which is a submenu of the background menu, together with the background menu itself, is referred to herein as a graphical cascade, which is indicated as 554-1 in
While not specifically illustrated in method 600, it is also contemplated that, in some implementations, the title bars of the background menus may remain active even while in the background, so that, for example, selection of home label 502 from the view in
In the preferred embodiment, the system will incorporate both hierarchical graphical cascades, and order-of-selection graphical cascades. In a hierarchical cascade, the order of the menus, from root to foreground, always reflects the data hierarchy and the node within the data hierarchy where the user is. Thus, the scenario shown in
Returning now to
Invocation of block 645 results in generation of an adjacent cascade. The adjacent cascade can result in performance of its own unique instance of method 600 or a variation thereof. Method 600a in
Of note is that in method 600a, block 615a contemplates reception of a menu selection from the parent graphical cascade 554-1. Such a menu selection in block 615a generally corresponds to a menu selection from the parent graphical cascade 554-1 that would result in invocation of block 645. A “yes” determination at block 615a leads to the addition of a new menu whereby the current foreground menu is moved to the background and the new menu is generated in the foreground.
For illustrative purposes
For further illustrative purposes
Means for further navigation within the second graphical cascade 554-2 will now be apparent. For example, closing the scuba diving menu 520-2 from
Still further navigation from within the second graphical cascade can be effected by a yes determination at block 640a, whereby one of the icons 528 in the current foreground menu 520 is selected. For example, selection of icon 528-3 from menu 520-2 in
A ‘yes’ determination at block 640a leads to block 645a wherein a further child cascade is invoked. Referring now to
Third graphical cascade 554-3 thus comprises a content window 558-1 that has a title bar 562-1 with the content “Cozumel 07-22-96”. Additionally, example content in the form of a photographic image of a shark is shown as generated within content window 558-1.
Exemplary further navigation using the foregoing techniques is shown in
Exemplary further navigation using the foregoing techniques is shown in
It is also contemplated that the graphical cascades 554 may be too wide for certain displays, in which case only one or two graphical cascades 554 may be shown at a time, with a navigation input instruction being reserved to scroll or pan between different graphical cascades.
Further variations are contemplated. For example, it is contemplated that a content index such as content index 300 may include content links on the same level as sub-menus. An example is shown in
As a still further variation, the graphical cascade 554 (e.g. graphical cascade 554-3) that generates content may be provided with further widgets, not shown. Such widgets can include, for example, means (an icon provided on display 54, or accessible on display 54 by minimizing one or more of graphical cascades 54) to directly manipulate the collection of content windows in the graphical cascade 554. Such manipulation can include publishing all of the content windows to a social network site, or emailing all of the content windows, or adding the content windows, in bulk to a favorites folder. Such widgets may also include a means to instruct interaction between various content windows 558. For example one content window may be populated with a plain text search string (e.g. Pizza parlours in Toronto, Ontario), which is then automatically entered into a search field in a plurality of cascaded content windows 558 that contain mapping search engines (e.g. Google Maps™ can be active in one content window 558; Bing™ from Microsoft™ may be active in a second content window; Mapquest™ may be active in another content window 558). The searches then would run in each content window 558 substantially in parallel and the results would be available by navigating through each content window 558. Advantageously, entering the search string multiple times into each content window 558 is obviated.
Note also that the general functionality discussed in relation to
It should be emphasized that the actual content shown in the content graphical cascade (e.g. graphical cascade 554-3) is not limited to any particular type of content, and that heterogeneous forms of content may appear in different content windows within the cascade. The cascade can, for example, have a movie, a web page, an eBook, and a photograph all simultaneously open within the graphical cascade.
The system is further configured to permit navigation through individual graphical cascades by a preferred means other than closing foreground menus and selecting menu items to open new menus. Referring now to
In the preferred method, the user may navigate cascade 2110 by swiping display 54 (which is a touchscreen), most preferably using either a leftward (i.e. right to left) swipe, or a rightward (i.e. left to right) swipe. Typically, to navigate forward (i.e. toward the root menu), the swipe will be from the vertical centre-line 2135 of display 54 toward the side edge 2130 of the display 54 closest to the cascade. Thus, in the case of cascade 2110, a right to left swipe would be used to navigate toward the root menu from the current foreground menu 2115. This direction is shown in
Typically, to navigate in the opposite direction in the cascade (i.e. backward, away from the root menu toward the menus closer to the foreground), an oppositely-directed swipe is used. In the case of cascade 2110 shown in
Thus, to navigate through a cascade that is positioned toward the right side of display 54, the swiping directions would be reversed, since navigating forward is done by swiping from the vertical centre-line of the display toward the side edge of the display nearest to the cascade. Thus, when the cascade is on the right side of the display, to navigate forward, a left to right swipe would be used, and to navigate backward, a right to left swipe would be used.
If the cascade 2110 were located to the right side of display 54, the directions would be reversed, but the notion is the same. A left to right swipe removes the foreground menu from the cascade/stack, so that it is notionally positioned in front of and to the right of the display 54. A right to left swipe would notionally push the same menu back onto the cascade/stack.
Thus, in forward navigation, the menus are dealt with according to a last-on-first-off algorithm. The latest menu to come onto the cascade in the first one to come off as forward navigation occurs. In backward navigation, the menus are dealt with according to a last-off-first-on algorithm. The last menu to come off the cascade (during forward navigation) is the first one to come back onto the cascade.
Consider a case where the user navigates forward from
In this same case, however, if the relevant cascade were non-hierarchical (i.e. an order of selection cascade), then no menus would close automatically and all would remain in the cascade until closed directly user input.
It will be appreciated that variations are contemplated. For example, the display 54 could be configured to show two cascades, one atop the other, rather than the typical side-by-side configuration. In such a case, preferably, navigation forward could be done by a swipe from left to right on or adjacent to the cascade through which navigation is desired. To navigate backward, the user would preferably swipe from right to left on or adjacent to the cascade through which it is desired to navigate. This same method of navigation would preferably apply in a case where there is only one cascade in the approximate middle of the display 54. Other variations for swiping directions and navigation are possible, though it is believed that the method explicitly described herein is the most intuitive for the most users.
It will be appreciated by those skilled in the art that a number of the features of the preferred system 50 described herein provide benefits to users not found in previous systems. For example, in the preferred system 50, the cascades are shown with a three dimensional visual effect. Thus, the foreground menu is shown on the display 54, and the background menus are shown as being “behind” the foreground menu. Each background menu is shown as being slightly offset (typically to the right) from the menu in front of it, and the further into the background a menu is located, the smaller it appears. A cascade thus appears to be vanishing into the distance within the screen, and (typically) to the right. This three-dimensional effect, together with the navigation method described above, makes navigation easier and more intuitive. It is not necessary for a user to hunt with his mouse for the close button on each menu. Rather, with one swipe of his finger, a user can move forward or backward in a cascade, and because of the three dimensional visual effect, can have an intuitive feel for where he is going and where he has been. Navigation is also made easier by the fact that when there is more than one cascade on the display 54 at once, the cascades do not overlap, with the result that it is simple to navigate in one cascade without affecting the other.
As another example, the system 50 is configured so that when a menu item is selected, a corresponding new menu is automatically opened in the foreground of the cascade, or in an adjacent cascade, if appropriate. In other words, the user does not choose whether the new menu will be opened and shown in the foreground of a cascade—it happens automatically upon selection of a menu item. Similarly, when a new menu is opened in the foreground of a cascade, the menu previously in the foreground of that cascade is automatically moved to the background of that cascade. This feature is beneficial because it allows for faster opening of menus, and for better organization and easier navigation. Menu opening is faster because, if the user had a choice of whether to open a menu to the foreground of a cascade, or open it some other way, he would have to make that choice each time he selected a menu item, slowing down menu opening and navigation. As for better organization, the automatic opening of menus to the foreground of a cascade enforces the requirement, for hierarchical cascades, that the menu showing always matches the node within the data hierarchy where the user is presently located, and shows a single path to the root menu. The user, therefore, always knows where he is in the data hierarchy, and is therefore better able to get where he wants to go efficiently. As for easier navigation, if the user were allowed to choose how a new menu opened (including opening a new menu apart from any cascade), then in short order the user would find himself hunting around the display with his mouse pointer, trying to find a menu he opened previously whose location is not easily ascertainable because the user can't remember how or where he chose to open that menu.
Thus, with the automatic opening of new menus to the foreground of a cascade, navigation is easier and more organized. As described above, navigating one step forward or backward preferably requires only one finger swipe of the display 54, and efficient use of this navigation method is enabled by automatic opening of new menus so that they are shown in the foreground of a cascade.
The invention further comprehends (1) a computer readable medium containing computer-executable instructions to perform the methods described here; (2) a computer programmed with computer-executable code to perform the methods described here; (3) a system consisting of the aforementioned computer and a display operatively connected to one another to perform the method described herein.
It is to be understood that variations, sub-sets and combinations of the foregoing are contemplated, and that the scope of the exclusive privilege of this specification is defined by the claims.
Number | Date | Country | |
---|---|---|---|
61338224 | Feb 2010 | US | |
61349930 | May 2010 | US |