This application claims the right of priority under 35 U.S.C. § 119 based on Australian Patent Application No. 2005239672 filed 30 Nov. 2005, which is incorporated by reference herein in its entirety as if fully set forth herein.
The present invention relates to browsing information and, in particular, to displaying and manipulating a sortable collection of items stored in a digital system.
With the proliferation of the electronic storage of items such as documents, songs, images and video sequences as data files on personal computers and other digital media storage devices, there is an increasing need for ways to manage this content for the purpose of finding, sharing and viewing the items.
There are a number of common solutions to this problem including organising the items into hierarchical structures for ‘browsing’, and also using keywords or expressions for ‘searching’. For many users the task of organising their files into effective hierarchies for later retrieval, and the ability to remember filing locations proves to be difficult, increasingly so over time and given large numbers of files. Constructing search queries can be similarly challenging and is often ineffective when searching for non-text based data items such as songs or images.
For a device with limited input capabilities such as a hand held media device or a device connected to a television display and controlled via a remote control, the problem of browsing or searching a large collection is exacerbated. Typically such devices lack a keyboard for typing search queries and a fine control pointing device like a mouse, and often have screens that are small (in the case of hand held devices) or relatively low resolution (in the case of television displays). Therefore, searching and browsing techniques which work reasonably well on a personal computer are problematic for these devices.
Metadata is well known concept. Whilst items stored as files in digital form generally include data arranged in a given format, such as an ASCII data for text documents or binary data for songs or images, additional data that identifies, describes or otherwise relates to the item but does not form part of the data that is intrinsic to the item is referred to as metadata. Common examples of metadata are file names, files sizes, folder locations, modification dates, keywords and descriptive text. Metadata may be stored directly alongside the item data in a file system, within a separate file in a file system or in a database, for example.
A common approach to using metadata to aid the browsing of items is to allow the user to select a value or a range of values for a particular metadata category or ‘dimension’ and applying a filter on the collection of items so that the scope of items to be browsed is narrowed. In the case of limited input devices the metadata dimensions and filter values can be presented as a cascading menu structure, allowing the application and removal of metadata based filters to be carried out with a limited range of user interactions such as up, down, left, right and select. An example of such a device is the iPod™ music player manufactured by Apple Computer, Inc. A limitation of this style of metadata based browsing is that when browsing items based on one metadata dimension, the user must return to a ‘top level’ before selecting another metadata dimension and therefore begin searching from scratch, losing all context of where the user had previously browsed.
Some browsing applications have the ability to group individual items. For example, Windows™ Explorer™, manufactured by Microsoft Corp. of U.S.A, has for some time had the ability to arrange icons according to metadata such as ‘name’, ‘size’, ‘type’ and ‘modified’. In the more recent ‘XP Professional’ incarnation, Windows™ Explorer™ has the additional capability to ‘Show in Groups’. In a first example, where the user has arranged icons according to ‘name’, the items are listed alphabetically. When shown in groups, the same list is broken into groups each defined by a letter of the alphabet. In a second example, icons may be arranged by size, in which file folders are listed initially, followed by individual files ordered according to size and starting at 0 KB. When shown in groups, in order of display the groups are ‘zero’ (ie. 0 KB), ‘tiny’ (eg. 1 KB-39 KB), ‘small’ (eg. 40 KB-129 KB), ‘medium’ (eg. 130-1299 KB), ‘large’ (>1300 KB), and then “folders”. However, when shown in groups, the items within each group are not presented with any reliable ordering. In the first example, file folders with each group appear to be listed first in alpha order, followed by files in alpha order. In the second example, folders are handle separately, but within each group, files are listed in alpha order, not size order. Similarly if ‘modified’ is selected, items within groups are arranged in alpha order.
Another type of browsing application that often groups items is email applications such as Outlook Express™ (Microsoft Corp.) and Thunderbird™ (Mozilla Corp.). In these applications, regardless of the selected grouping, items (ie. individual emails) appear to be always sorted according to date, as such clearly of most importance in communications systems.
It would be desirable to provide for metadata based browsing which maintains the context of browsing operations.
In accordance with one aspect of the present disclosure there is provided a method of browsing a collection of sortable items stored in a digital system, said method comprising the steps of:
providing a plurality of grouping hierarchies, each said grouping hierarchy comprising a sort order and zero or more grouping levels forming groups with which said items are associable, wherein at least one said grouping hierarchy comprises a sort order and at least one grouping level;
setting one item in the collection to be a focus item thereby establishing a current focus group of a current grouping hierarchy; and
maintaining the focus item upon selection of a new grouping hierarchy from one of the plurality.
In accordance with another aspect of the present disclosure there is provided a method of displaying a collection of items stored in a digital system, said method comprising the steps of:
(a) arranging the items in a list sorted according to one sort order of a plurality of sort orders associable with the items;
(b) providing a plurality of grouping hierarchies, each said grouping hierarchy corresponding to one of the sort orders, wherein each level of each said grouping hierarchy is associable with at least one level of each other said grouping hierarchy; and
(c) displaying at least part of the collection based upon the one sort order of items represented and the corresponding one grouping hierarchy.
In accordance with another aspect of the present disclosure there is provided a graphical menu for display via a computerised display comprising a vertically arranged ring and a horizontally arranged ring, where:
each of the rings comprises a plurality of selectable menu items,
one menu item in each said ring is selected at any one time,
the selected menu items are visually dominant in the respective rings, and
the horizontal ring is represented in a plane that is offset from a centre axis of the vertical ring such that the selected menu item of the vertical ring is not obscured by the horizontal ring.
In accordance with another aspect of the present disclosure there is provided a method of traversing a hierarchical representation of data, said representation comprising a plurality of data items arranged as a sorted list and a plurality of data attributes associable with each of said items, said representation having intermediate nodes corresponding to said attributes and leaf nodes corresponding to said items, each of the intermediate nodes being associable with a grouping level in the hierarchy, said method comprising the step of:
traversing directly from one said node at one level to another adjacent node at said one level.
In accordance with another aspect of the present disclosure there is provided a displayable user interface for browsing a collection of data items, said interface comprising:
a first display area in which a list associated with said items is displayable;
a second display area for displaying at least attributes of a focus one said data items;
at least one third display area for displaying selectable sort orders related to said attributes of said data items and groupings related to said sort orders; and
a user operable selection arrangement by which one of the sort orders or the groups is selectable to alter at least a representation of said list in said first display area.
Other aspects are also disclosed.
At least one embodiment of the present invention will now be described with reference to the drawings in which:
Disclosed is a method for browsing a collection of items stored in a digital system. Items may include images, songs, movies, documents or data records. The actual storage of such collections of items in digital systems is well known. Items are typically stored in a hierarchical file system or a database structure on a storage medium such as a hard disk, optical disk or random access memory (RAM).
The methods of browsing a collection of data files or items to be described may be practiced using a general-purpose computer system 1100, such as that shown in
The computer system 100 is formed by a computer module 1101, input devices such as a keyboard 1102 and mouse 1103, output devices including a printer 1115, a display device 1114 and loudspeakers 1117. A Modulator-Demodulator (Modem) transceiver device 1116 is used by the computer module 1101 for communicating to and from a communications network 1120, for example connectable via a telephone line 1121 or other functional medium. The modem 1116 can be used to obtain access to the Internet, and other network systems, such as a Local Area Network (LAN) or a Wide Area Network (WAN), and may be incorporated into the computer module 1101 in some implementations.
The computer module 1101 typically includes at least one processor unit 1105, and a memory unit 106, for example formed from semiconductor random access memory (RAM) and read only memory (ROM). The module 1101 also includes an number of input/output (I/O) interfaces including an audio-video interface 1107 that couples to the video display 1114 and loudspeakers 1117, an I/O interface 1113 for the keyboard 1102 and mouse 1103 and optionally a joystick or other interface control (not illustrated), and an interface 1108 for the modem 1116 and printer 1115. In some implementations, the modem 1116 may be incorporated within the computer module 1101, for example within the interface 1108. A storage device 1109 is provided and typically includes a hard disk drive 1110 and a floppy disk drive 1111. Other interfaces, such as Universal Serial Bus (USB) connections may also be included to permit connection to other devices, including portable data storage or reproduction systems. A magnetic tape drive (not illustrated) may also be used. A CD-ROM drive 1112 is typically provided as a non-volatile source of data. The components 1105 to 1113 of the computer module 1101, typically communicate via an interconnected bus 1104 and in a manner which results in a conventional mode of operation of the computer system 1100 known to those in the relevant art. Examples of computers on which the described arrangements can be practised include IBM-PC's and compatibles, Sun Sparcstations or alike computer systems evolved therefrom.
Typically, the application program is resident on the hard disk drive 1110 and read and controlled in its execution by the processor 1105. Intermediate storage of the program and any data fetched from the network 1120 may be accomplished using the semiconductor memory 1106, possibly in concert with the hard disk drive 1110. In some instances, the application program may be supplied to the user encoded on a CD-ROM or floppy disk and read via the corresponding drive 1112 or 1111, or alternatively may be read by the user from the network 1120 via the modem device 1116. Still further, the software can also be loaded into the computer system 1100 from other computer readable media. The term “computer readable medium” as used herein refers to any storage or transmission medium that participates in providing instructions and/or data to the computer system 1100 for execution and/or processing. Examples of storage media include floppy disks, magnetic tape, CD-ROM, a hard disk drive, a ROM or integrated circuit, a magneto-optical disk, or a computer readable card such as a PCMCIA card and the like, whether or not such devices are internal or external of the computer module 1101. Examples of transmission media include radio or infra-red transmission channels as well as a network connection to another computer or networked device, and the Internet or Intranets including e-mail transmissions and information recorded on Websites and the like.
Whilst the computer system 1100 may be used to implement the browsing arrangements to be described, such may also be configured in more specific user devices of smaller size or limited application. Such include, but are not limited to, portable/personal audio and/or video reproduction devices, for example utilizing MP3 or MPEG file formats.
An application program operating in accordance with the present disclosure and executed by the CPU 102, optionally assisted by the GPU 111, causes a user interface 110 to be rendered upon the display 100.
A control device 105 is operable by a user to transmits a signal 109 to the media device 101, wherein the signal is received by the CPU 102 and causes control events to occur which may result in changes to the state of the digital system and to the user interface 110. The signal 109 may be an infra-red signal or alternatively the control device 105 may also be connected by one or more wires or may be integrated into the media device 101. The control device 105 may be a standard input device such as a keyboard or mouse.
In some implementations, the Central Processing Unit (CPU) 102, optional Graphics Processing Unit (GPU) 111 and data storage system 103 may be contained directly within the chassis of the display 100, thereby eliminating the need for the media device 101 and connector 104. In other implementation, the display 100 may be portable. Further, the functional components of the device 101 may be included in a device with additional capabilities, for example a digital camera, with the user interface 110 being rendered either on a display which is integrated into the device or on an external display. Some components and user controls may be shared between the browsing application and any additional capabilities of the device.
In the browsing application program, items of a collection are organised as a sorted stack or list. The sorting of the list is performed by the application program executing upon the device 101 and is generally performed upon an attribute of the metadata. The sorting of the list can be interpreted to result in a linear list of set of data permitting the list to be traversed from one item to another whilst following the sort order. The sort is most desirably unique, and such may require sub-sorts upon other attributes of items in the collection. At any time, exactly one item in the collection is considered or identified to be ‘in focus’. This item may also be the item currently selected by the user. This item is herein referred to as the ‘focus item’. Navigating the collection entails scrolling or otherwise traversing through the sorted stack or list of items, wherein the focus item changes as the stack or list is scrolled.
Preferably, the stack or list can be scrolled, browsed or traversed continuously, returning to the first item in the list after reaching the last item, and vice versa, in a circular fashion. For example, scrolling forwards from Z continues to A in an alphabetic list (when there are no non-alphabetic characters or numerals in the list), and scrolling back from A continues to Z. An indication may be provided to the user of the system when such boundary points are reached.
Given any collection of items, there are potentially a number of different aspects that can be used as a basis for sorting the collection. These include aspects intrinsic to the item data, for example the dominant colour in an image or the length of a song; metadata associated with the item such as a name or classification, or an arbitrary order determined by the designer or user of the system. The application of particular aspects to the sorting of a collection of items is herein referred to as a ‘sort order’. As such, sort order(s) are associable with the items of the collection.
At any time whilst navigating the collection, according to preferred implementations, the collection of items can be re-sorted according to any one of a set of sort orders, and the focus item will be maintained before and after the collection is re-sorted. In order to support this aspect, it is appreciated that every sort order should include every item in the collection being browsed, and therefore filtering of the collection is undesirable. Filtering however may be used to limit the collection size or to exclude from the sort those items that do not possess a metadata attribute upon which the sort can be performed.
Given any aspect of a collection of items that can be used as the basis for a sort order, it is generally possible to group the items according to that aspect. For example, given alphabetic metadata such as a file name, it is possible to group the items according to those items whose file name begins with ‘A’, then those whose file name begins with ‘B’, then ‘C’ and so forth. Additionally it is generally possible to define a grouping scheme that has more than one level of grouping, based on a single aspect. From the previous example, it would further be possible to group the items according to those whose file name begins with the letters ‘A’ through to ‘K’, and those whose file name begins with the letters ‘L’ through to ‘Z’. In this example the groups ‘A’, ‘B’, ‘C’ etc would be referred to as ‘first level groups’ with the collection of first level groups being referred to as a ‘first grouping level’, whilst groups ‘A-K’ and ‘L-Z’ would be referred to as ‘second level groups’ with the collection of second level groups being referred to as a ‘second grouping level’.
In addition to containing all of the individual items whose file name begins with the letters ‘A’ through to ‘K’, such a group could also be said to contain the group of items whose file name begins with ‘A’, the group of items whose file name begins with ‘B’ and so forth up to the ‘K’ group. As such the groups and items can be seen to follow the pattern of a hierarchical structure where each group is a parent to either child groups or ultimately, items. Such a grouping scheme is herein referred to as a ‘grouping hierarchy’.
Certain sort orders may be associated with a particular pattern of grouping hierarchy based on common convention. An example of this is date based sort orders, which according to convention can be arranged into a grouping hierarchy of days, weeks, months, years etc. Another common grouping hierarchy derived from convention in music publishing is song, album, artist, genre. Alternatively, grouping hierarchies can be designed according the particular nature of content stored in a digital system, and may be arbitrarily structured. Grouping hierarchies may also be dynamically generated by the system based on a current data set, or generated by the user of the system. A common example of this last case is a hierarchical file system generated by a user using a command shell or file explorer.
When navigating a collection of items, one advantage of grouping the items is to enable faster traversal of the collection. As the items are grouped at higher levels of the grouping hierarchy, the speed of traversal increases, although the ability to select a position in the collection close to an individual target item decreases. Typically, the larger a collection of items, the more levels of grouping will be required in order to allow fast and effective traversal of the collection.
Whilst navigating a collection of items, a grouping level of zero or higher may be chosen by the user at any time, with a grouping level of zero corresponding to items being shown in a stack or list in an order determined by the current sort order; a grouping level of one corresponding to first level groups being shown in a stack or list in an order determined by the current sort order and so forth. At a grouping level of one or higher, one group is considered to be ‘in focus’, and the currently selected group. This is herein referred to as the ‘focus group’. Whilst the focus group ultimately contains the focus item, the two concepts are distinct.
The sort order 204, first grouping level 205 and second grouping level 206 collectively comprise a grouping hierarchy 207. It is to be appreciated that whilst the grouping hierarchy in this example consists of two grouping levels in addition to a sort order, a grouping hierarchy may contain any number of grouping levels in addition to a sort order.
One item in the collection 202, being item 203 in this example, is the focus item. An item mapping 208 in the sort order 204 corresponds to the focus item. Similarly, the first level group 209 corresponds to the focus item mapping 208, and the second level group 210 corresponds to the first level group 209. When navigating the collection 202 at any grouping level greater than zero, one group at that level can be determined to be the focus group based on the current focus item. For example, if the grouping level is two, which corresponds to the second grouping level 206, then group 210 will be the current focus group since it is the only parent group of the focus item 203 at that level.
It is possible to navigate between the grouping levels, for example from first level group 209 to second level group 210 or to item mapping 208, at any time. When navigating between grouping levels the focus item is always maintained.
While the current grouping level is zero, meaning that individual items are shown in a stack or list (for example upon the display 100), it is possible to navigate from the focus item mapping 208 to either the next or previous item in the sort order 204, as indicated by the arrows 211. This will result in the focus item changing to the item mapped to the respective item mapping in the sort order 204.
When the current grouping level is one or higher, it is possible to navigate to another group at that level, for example from the first level group 209 as indicated by the arrows 212 or from the second level group 210 as indicated by the arrows 213 (the previous second level group is not shown in
A simple approach for selecting the representative item in a focus group is to use the first item in the group, based on the current sort order, or the middle or last item for example. In a preferred implementation, the most recent focus item is used as the representative item of the groups to which it belongs, and in all other cases the first item in the group is used as the representative item, based on the current sort order.
In the same way that the focus item 203 corresponds to focus item mapping 208, first level focus group 209 and second level focus group 210 in the grouping hierarchy 207, the focus item 203 also corresponds to item mapping 218, first level group 219 and second level group 220 of grouping hierarchy 217.
Furthermore, associative links are provided between levels of grouping hierarchies. In this example, associative link 221 links the sort order 204 of grouping hierarchy 207 with the sort order 214 of grouping hierarchy 217, associative link 222 links the first grouping level 205 of grouping hierarchy 207 with the first grouping level 215 of grouping hierarchy 217 and associative link 223 links the second grouping level 206 of grouping hierarchy 207 with the second grouping level 216 of grouping hierarchy 217.
The associative links 221, 222 and 223 can exist despite the respective grouping hierarchies relating to different aspects of the items in the collection. The ability to associate levels of otherwise unrelated grouping hierarchies with each other is another aspect of the present disclosure.
One advantage of associating levels of grouping hierarchies with each other is that the grouping hierarchy can be switched at any grouping level. Since every grouping hierarchy contains all of the items in the collection, it will also be possible to maintain the focus item whilst switching between grouping hierarchies. This allows continuous browsing across all levels of all grouping hierarchies, without the need to navigate out of one hierarchy before switching to another, as is commonly the case in the prior art.
There are a number of possible approaches for associating levels of grouping hierarchies with each other. One example is an ‘ordinal mapping’ scheme. According to an ordinal mapping scheme, levels of the grouping hierarchies are associated with each other based on the position of the levels in their respective hierarchies. For example, in
There is no need for all grouping hierarchies to contain an equal number of levels. In the case that grouping hierarchies contain unequal numbers of levels, the simple ordinal mapping scheme described above will fall short, since it is the intention that all levels of all grouping hierarchies should map to other grouping hierarchies to allow the switching of grouping hierarchies at any time.
A second example of a scheme for associating levels of grouping hierarchies with each other is a ‘magnitude mapping’ scheme. According to a magnitude mapping scheme, levels of grouping hierarchies are associated with each other based on the number of items in the groups. In a simple magnitude mapping scheme, grouping levels containing the closest average group size in linear terms will be associated. More sophisticated magnitude mapping schemes, such as a scheme based on orders of magnitude on a given scale, may be devised. An advantage of a magnitude mapping scheme is that the mappings between grouping levels can adapt depending on the particular content in a collection.
A third example of a scheme for associating levels of grouping hierarchies with each other is an ‘aliased mapping’ scheme. According to an aliased mapping scheme, a group hierarchy that contains less than the maximum number of grouping levels of all grouping hierarchies in the system will have aliases from the missing levels to levels that do exist in that grouping hierarchy. When switching to such a grouping hierarchy when the current grouping level is missing in that grouping hierarchy, the aliased grouping level will be made active instead. The current grouping level will not change at this point, only the apparent grouping level within that grouping hierarchy.
In a preferred implementation, a combination of the ‘ordinal mapping’ and ‘magnitude mapping’ schemes is used. According to this combined mapping scheme, the first levels of every grouping hierarchy map to each other, as do the highest levels. For example, the third level of a three-level grouping hierarchy will map to the fourth level of a four-level grouping hierarchy and vice-versa. All other levels are mapped according to the simple magnitude mapping scheme described above. An advantage of this combined mapping scheme is the ability to associate all levels of grouping hierarchies comprised of different numbers of levels whilst maintaining user expectations that lowest and highest levels will map to each other.
Whilst browsing a collection of photos using the grouping hierarchies represented in table 300, at any time, one cell in the table will correspond to the current grouping hierarchy and grouping level of the system.
From any one cell in the table 300, it is possible to change to a browsing mode represented by any adjacent cell in either the horizontal or vertical direction. Changing the grouping level is analogous to moving to an adjacent cell in the horizontal direction, and changing to the next or previous grouping hierarchy is analogous to moving down or up in the vertical direction respectively whilst maintaining a corresponding grouping level depending on the mapping scheme in use.
For example, if the current system browsing mode corresponds to the cell at the intersection of row 303 and column 307 and labelled ‘Colour bands in rainbow order’, increasing the grouping level would result in a mode corresponding to the cell at row 303 and column 306 and labelled ‘Major colours of the rainbow’. Decreasing the grouping level would result in a mode corresponding to the cell at row 303 and column 308 and labelled ‘Photos sorted by hue in rainbow order’. Choosing the previous grouping hierarchy would result in a mode corresponding to the cell at row 302 and column 307 and labelled ‘Months’. Choosing the next grouping hierarchy would result in a mode corresponding to the cell at row 304 and column 307 and labelled ‘Source devices sorted by device type’. It would also be possible to choose any grouping hierarchy at any time depending on the type of user input system provided.
There are a variety of possible configurations for a user interface based on the navigation method described herein. The minimum requirements include a representation of at least one item or group, a means for representing a focus item or focus group, a means for navigating between items or groups in at least one direction, a means for changing the grouping level and a means for changing the grouping hierarchy.
The front-most image 403 is the focus item of the collection and is referred to as the “focus image”. Metadata relating to the focus image 403 is shown at 412 and 413, being the file name and capture date respectively of the focus image in this example.
Grouping indicators 410 and 411 span the images in the stack 402 that belong to the same group at the next highest grouping level. In this example, the current grouping level is zero and the grouping indicators represent first level groups. Specifically, the grouping indicators 410 and 411 are the alphabet letters L and M respectively, clearing indicating the collection represented by the stack 402 has been sorted alphabetically. In other variations, additional grouping indicators representing higher level groups may be shown adjacent to the grouping indicators 410 and 411.
A graphical menu 414 gives user feedback as to the currently selected and pending grouping hierarchies and grouping levels. The menu 414 is discussed in greater detail with reference to
At
The image which appears on the front of each group bundle is the representative item of the group and is referred to as the ‘representative image’. Assuming the focus image 403 was the current focus item at the time of increasing the grouping level, this image will remain as the representative image of its group, being the group represented by the bundle 417, until such time as the grouping level is changed again. For all other groups, the front-most image of each group will become the representative item of that group. If the grouping level is increasing from grouping level one or greater, the current representative image of the current focus group will become the representative image of the higher level group to which the focus group belongs. In the other cases the representative image of the front-most group of each higher level group will become the representative image of the higher level group.
As shown in
The horizontal ring 502 is arranged around a centre axis that intersects the centre axis of the vertical ring 501 however the horizontal ring lies on a plane that is offset from the centre axis of the vertical ring. This is so that the selected item 505, in addition to at least one item (such as item 504) above and one item (such as item 506) below the selected item on the vertical ring 501 are visible without being obscured by the horizontal ring 502.
The menu items 504 and 506 immediately above and below the currently selected grouping hierarchy menu item 505 indicate to the user of the browsing application which grouping hierarchy will next be selected in the respective vertical direction. Similarly the menu items 507 and 509 to the left and right of the currently selected grouping level menu item 508 indicate to the user which grouping level will next be selected in the respective horizontal direction. In some cases no further options are available on the menu in a given direction. For example, should the menu item 509 labelled ‘All’, representing the zero grouping level, be the currently selected item then there will be no further options in the right hand direction since zero is the minimum grouping level. In this case the menu item will be shown in a visually distinct manner to indicate that the menu item does not represent a selectable option, or may be omitted altogether.
Operation of the graphical menu 414 is achieved by using the control device 105 as described with reference to
Pressing and holding either button 603 or 604 will cause the stack 402 to move continuously towards or away from the user respectively until the button is released, at which time the stack will stop moving and the image most closely aligned with front of the stack will become the new focus image. In a preferred implementation the stack velocity will increase with time whilst the button is held, up to a pre-determined maximum velocity, and will decelerate to zero velocity at a pre-determined rate upon releasing the button.
Two further navigation buttons 601 and 602 control the selection of the grouping level. Pressing the button 602 will cause the grouping level to increase by one. Referring to
Should the grouping level already be the maximum grouping level for the currently selected grouping hierarchy, pressing the button 602 will have no effect. Should the grouping level already be zero, pressing the button 601 will have no effect.
A button 606 controls the selection of grouping hierarchies, effectively by selecting an alternate sort parameter. Pressing the button 606 will cause the next grouping hierarchy in a sequence of grouping hierarchies to be selected. Referring to
In alternate implementations, a complementary button may be provided to button 606 to allow navigation of the sequence of grouping hierarchies in both directions. Alternatively, a random selection of grouping hierarchies may be applied. Further, grouping hierarchies may be selected from a set of dedicated buttons on the user interface or on a control device, or by a range of other means.
In this example, the grouping hierarchies contain an unequal number of levels and an aliased mapping scheme is applied. For example, the cell at row 701 and column 707 shows an arrow pointing in the left hand direction, towards the adjacent cell column 706 of the same row. This indicates that grouping level one of the ‘Title’ grouping hierarchy is aliased to grouping level 2 of the same grouping hierarchy. For example when switching from the mode represented by the cell at row 702 and column 707 and labelled ‘Years’ to the ‘Title’ grouping hierarchy as represented by row 701, the apparent result will be the mode represented by the cell at row 701 and column 706 and labelled ‘Letters of the alphabet’. The grouping level will be still be 1 however and therefore switching back to the ‘Year’ grouping hierarchy as represented by row 702 will return to the mode represented by the cell at row 702 and column 707 and labelled ‘Years’. The grouping level can only be changed by direct control.
A focus item 806 is indicated in reverse video text. A position in the display area 801, which is preferably fixed, that is occupied by the focus item 806 is referred to as the ‘focus position’. The focus item can also be indicated by a change in formatting such as colour or font style, by a visible border or by an icon on the display. Alternatively the focus item may be indicated implicitly by the position on the display or by markings on the surround of the hardware of which the display is part. The indication of focus may additionally indicate the selection of the focus item which is pertinent for other functions which might be activated, such as playing a song or modifying a picture. For example, pressing the button 605 of the control device 105 will cause the song represented by the current focus item to begin to play and be acoustically reproduced, for example via the loudspeakers 1117 if implemented in the computer system 1100.
A grouping hierarchy menu 815 occupies a further display area and includes menu items 816 and a selected menu item 817, each of which represents a grouping hierarchy. The selected menu item 817 is visually distinguished from the other menu items by being in a bold font in this example. This indicates that the grouping hierarchy named ‘Title’ (as represented by row 701 of table 700) is the current grouping hierarchy.
A grouping level menu 818 occupies a further display area and includes menu items 819 and a selected menu item 820, each of which represents a grouping level of the currently selected grouping hierarchy. The selected menu item 820 is visually distinguished from the other menu items by being in a bold font in this example. This indicates that the grouping level named ‘All’ (being grouping level zero in this example) is the current grouping level.
Metadata items 821 relate to the focus item 806 and are shown in a further display area. Metadata item 822, ‘Title’ is visually distinguished from the other metadata fields by being in a bold font in this example. This is because ‘Title’ metadata is an aspect on which the current grouping hierarchy is based.
Grouping indicators 810-814 span the items in the list that belong to the same group at the next higher grouping level. In this example, the current grouping level is zero and the grouping indicators represent second level groups. The second grouping level is the next higher grouping level since there is no first grouping level in the ‘Title’ grouping hierarchy as represented by row 701 of table 700. By way of example, the grouping indicator 810 represents the group of items whose titles begin with the letter ‘D’. In alternate configurations the grouping indicators 810-814 may be represented as shading of the items in the list or labels may be shown in conjunction with the grouping indicators. In other variations, additional grouping indicators representing higher level groups may be shown adjacent to the grouping indicators.
The buttons 603 and 604 of the control device 105 control the selection of the focus item in the list. Momentarily pressing the button 603 will cause the list 802 to move down by the distance of one item in relation to display area 801. The item 805 will then become the focus item and the item 809 will scroll off the bottom of the display area 801, being replaced at the top of the visible portion of the list by the item immediately preceding item 803. Momentarily pressing the button 604 whilst in this latter state will cause the list to return to the state shown in
Pressing and holding either button 603 or 604 will cause the list 802 to scroll continuously in either the down or up direction respectively until said button is released, at which time the list will stop scrolling and the item most closely aligned with the focus position will become the new focus item. Preferably, the continuous scrolling velocity will increase with time whilst said button is held, up to a pre-determined maximum velocity, and will decelerate to zero velocity at a pre-determined rate upon releasing said button.
The buttons 601 and 602 control the selection of the grouping level. Pressing the button 602 will cause the grouping level to increase to the next higher grouping level. For example, the items in the item list 802 as shown in
Note that the item entitled ‘Girl from Ipanema’ is still the focus item in
The grouping level menu item 819 is now the selected menu item in place of menu item 820 which was previously selected.
Pressing the button 601 whilst in the latter state will cause the grouping level to decrease to the next lower grouping level in the grouping hierarchy whilst maintaining the focus item, in this case returning the user interface to the state shown in
If the grouping level is already the highest grouping level in the current grouping hierarchy then pressing button 602 will have no effect; and if the grouping level is level zero as illustrated in
The button 606 controls the selection of grouping hierarchies. Pressing the button 606 will cause the next grouping hierarchy in a sequence of grouping hierarchies to be selected. After reaching the last grouping hierarchy in the sequence the next press of the button 606 will result in the first grouping hierarchy in the same sequence being selected. For example, the items in the item list 802 as shown in
The menu item 837 is now the selected menu item in the grouping hierarchies menu 815 in place of the menu item 817. The grouping levels menu 818 contains new menu items 838-840 of which menu item 838 is the selected menu item.
Whilst the item entitled ‘Girl from Ipanema’ is still the focus item and the metadata values at 821 thus remain the same, now the metadata item 841 ‘Year’ is visually distinguished from the other metadata fields because ‘Year’ metadata is an aspect on which the new grouping hierarchy is based.
In alternate implementations, a complementary button may be provided to button 606 to allow navigation of the sequence of grouping hierarchies in both directions. Further, a random selection of grouping hierarchies may be applied. In still further implementations, grouping hierarchies may be selected from a set of dedicated buttons on the user interface or on a control device, or by a range of other means.
Pressing the button 601 whilst the user interface is in the state shown in
Grouping indicators 849 and 850 span the items in the list that belong to the same group at the next highest grouping level. In this example, the current grouping level is one and the grouping indicators represent second level groups. By way of example, the grouping indicator 849 represents the ‘1970s’ decade group.
Pressing button 602 whilst in the latter state will cause the grouping level to increase again whilst maintaining the focus item, returning the user interface to the state shown in
Pressing the button 601 whilst the user interface is in the state shown in
In this example the text of the items 851-857 includes reference to the year of each item. This is to aid in representing the current sort order to the user.
The focus item 854 is once again and remains ‘Girl from Ipanema’. The menu item 840 in the grouping level menu 818 is now the selected menu item in the place of the menu item 839.
Grouping indicators 858-861 span the items in the list that belong to the same group at the next higher grouping level. In this example, the current grouping level is zero and the grouping indicators represent first level groups. By way of example, the grouping indicator 858 represents the ‘1976’ year group.
In the example as shown in
Referring to
An upper focus indicator 905 and a lower focus indicator 906 together indicate the current focus item and concurrently the focus groups at each level of the grouping hierarchy. Both upper and lower focus indicators 905 and 906 are provided since it would be difficult to visually project the focus position from a single focus indicator through multiple rows. In alternate implementations, a line or similar indicator passing vertically through all rows may be used.
The user of the user interface is able to scroll the contents of the rows 901-903 concurrently with respect to the focus indicators in order to view and select other items or groups in the collection. Row 902 is shown with a dark border, indicating that the row 902 corresponds to the currently selected grouping level, being the first level ‘Months’ of a grouping hierarchy in this example. The rate of scrolling of the contents of the rows 901-903 depends on which grouping level is currently selected. In this example, scrolling will occur in units of one month. Selecting the second grouping level as represented by row 903 will result in subsequent scrolling operations being in units of one year.
A grouping hierarchy menu 907 contains menu items representing the grouping hierarchies in the system, with the selected grouping hierarchy shown in a visually distinct manner. Metadata is shown in a display area 908 corresponding to the current focus item, with metadata items that relate to the current grouping hierarchy being shown in a visually distinct manner.
Selecting a new sort order and grouping hierarchy will cause the view in the display area to change accordingly.
This alternate user interface is not limited to grouping hierarchies with the same number of grouping levels.
Not shown in
The particular display of
The collection of photographs is presented as a list 1210 of thumbnail images with a certain thumbnail image residing in a specific display location 1212 in the list 1210. That location establishes or identifies the focus item which is shown in greater detail in a display section 1214 at a higher resolution 1216 and associated with a metadata description 1218 of attributes associated with the particular photograph.
In the example of
The table 1204 of
It is observed from
The application program used to implement the browsing methods described above may be summarised by the flowcharts of
A basic function required in any implementation of browser is to redraw the list of items of the collection, this being seen as a method 1550 in
Where the level is not the base level, step 1556 adds representative items for the current level to the selection list and orders the selection list according to the sort order. The identification of representative items is discussed above and may be performed in a number of ways. Step 1558 follows which finds a representative item corresponding to the focus item in the selection list. Step 1560 then displays the selection list centred upon the representative item found in step 1558.
If not at the base level in step 1512, step 1514 then steps to the next representative item in the selection list. Step 1516 then finds a new focus item corresponding to the new representative item. Step 1518 then follows to display the selection list centred upon the new representative item.
A significant advantage afforded by the above described arrangements is that, for structured collections of items, non-traditional forms of traversal may be used.
In a traditional traversal of the tree of
However with the described arrangements, by which items are sorted within groups and sort order, and groups are selectable, a number of paths are available, including the traditional path. Some additional paths, for the same example are:
Numerous other paths can be used. Note that the length of the path is irrelevant. What is significant is the ability to traverse between levels (ie. traversing from one node at one level to an adjacent node at an adjacent said level. For example, S→G, L→M, etc.) and along or across levels (ie. traversing directly from one node at one level to another adjacent node at the same level. For example B→C, N→G, etc.). This browsing process is characterised by traversal in a linear sorted fashion within the current level, or transiting to a higher or lower adjacent level, effectively affording the user freedom of movement within a structured hierarchy.
As noted above, it is desirable to provide for metadata based browsing which maintains the context of browsing operations. This allows the user to navigate a continuous path through the collection of items based on a range of metadata dimensions. The described arrangements facilitate this desire by offering a number of specific advantages, such as:
(1) all data items are presented in a single list;
(2) the list can be re-sorted by attribute values, with the current item retaining focus;
(3) the data items are automatically grouped into multiple hierarchies;
(4) when moving up or down a hierarchy, the same base item remains selected;
(5) an alternate hierarchy can be selected at any level by selecting a re-sort, and the selected base item remains the same;
(6) when choosing another group item, a new base item is automatically chosen; and
(7) the list allows traversing across “folders” or records at any given level with the folder or records being indicated by highlighting, for example.
It will be evident to those skilled in the art that many adaptations are possible to this method of controlling and browsing a list without substantially changing the spirit thereof. For example filters may be included which limit the items shown in the list. Also, the indication of a selected item may be made temporary and only brought into use for certain moments during operation, such as prior to re-ordering or when the user wishes to operate some function on an item. None of these changes are substantial alterations to the nature of the methods described.
The arrangements described herein with reference to FIGS. 1 to 16 operate differently from and afford enhanced functionality over prior art arrangements. For example, in Windows™ Explorer™ as discussed above, items are divided into sets or sub-sets based on the selected sort criteria. However, once the sets are established, the order within each set is arbitrary and not intuitively linked to the selected sort criteria. Such does not create a hierarchy, as there is no association between individual levels of the sort, which affords the intuitive link. In contrast, the present disclosure provides a ‘sort order’ which establishes levels for each sort criteria, such that the levels of one hierarchy are associable with the levels of another hierarchy. This permits, according to the present disclosure, the traversal between hierarchies. Another way of contrasting Windows™ Explorer™ with the present disclosure is that in Windows™ Explorer™ the application creates the displayable structure and then sorts the elements into the established structure. By contrast, in the present disclosure, the sort order is selected and the hierarchical arrangement of items arises from the sort order.
The arrangements described are applicable to the computer and data processing industries and particularly for the searching or browsing of data from a linear collection of such data. The arrangements find particular application in consumer devices, especially portable media reproduction devices including MP3 players, digital cameras, DVD players and the like.
The foregoing describes only some embodiments of the present invention, and modifications and/or changes can be made thereto without departing from the scope and spirit of the invention, the embodiments being illustrative and not restrictive.
Number | Date | Country | Kind |
---|---|---|---|
2005239672 | Nov 2005 | AU | national |