The invention is defined by the claims below. This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Disclosed are ways of grouping representations of items in a view of a user interface. The representations of items (e.g., icons and the like) can be grouped, filtered on, and then successively filtered on without regard to the previous items that had been removed after applying a filter. For example, a set group of representations can be separated by a group delimiter that can be directly interacted with by a user to effect a filtering option. At least one of two manipulation options are made accessible by way of the group delimiter. A first manipulation option enables removing a desired group from the view, and a second manipulation option enables showing only items from a selected group in the view.
Embodiments of the invention are described in detail below with reference to the drawing figures, which form a part of this disclosure, and are incorporated by reference herein, and wherein:
FIGS. 8.1-8.4 depict prior art wherein items are merely collapsed;
Turning now to
Briefly turning to
Memory components 212 include things such as a hard drive, volatile memory (such as RAM), buffers, and the like. The one or more processors 214 control overall data communications throughout computer 212. Illustrative presentation components 216 include a video card as well as a monitor or other presentation device. Input/output ports 218 provide connectivity to peripheral components such as printers, digital cameras, and the like. Actual input/output components may be things like printers and the like. A power supply 222 provides power to run computing device 112. Not all of the components shown in
Although the various blocks of
Computing device 112 typically includes a variety of computer-readable media. By way of example, and not limitation, computer-readable media may comprise Random Access Memory (RAM); Read Only Memory (ROM); Electronically Erasable Programmable Read Only Memory (EEPROM); flash memory or other memory technologies; CDROM, digital versatile disks (DVD) or other optical or holographic media; magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, carrier wave, or any other medium that can be used to encode desired information and be accessed by computing device 112.
Returning now to
We will be using the term “view” often throughout this disclosure. An accurate definition of what we mean by the term “view” can be gleaned by reading the totality of this disclosure as well as a copending application having U.S. Ser. No. 11/969,654, which is incorporated by reference herein to provide a more comprehensive disclosure regarding what a view is as well as to provide more information on aspects of how a view is made and used, including aspects about the aforementioned layers, which are not shown in the instant figures for the sake of conciseness in this disclosure, but which the aforementioned application describes in detail.
Summarily, a view is a portion of a user interface (UI) that presents representations of items in a computing environment. This is not a rigorous definition but provides a start. Illustrative items that can be represented include files, network components (network storage devices, routers, and the like), users, etc. Representations of these items are presented in a view, which most people will commonly refer to as a window. A view presents representations of items, often files, as a result of a user's desire to browse contents of a computing system and to present search results from a query among other themes. An illustrative view is shown in
Turning to
An item may have an array of properties. Illustrative properties include a file author, a file size, a file name, a file type, a date, an item of metadata that is associated with an audio file, an item of metadata associated with a video file, and an item of metadata associated with a picture file. Illustrative examples of metadata that might be associated with either an audio file, video file, and/or picture file include an album title, an album year, a track number, a genre, a duration, a bit rate, an indication as to whether content is protected or not, a camera model, a picture resolution, a screen-resolution size, a user-designated flag, and the like.
These properties that we have provided by way of illustration are just that, illustrations. Other properties exist as well such as an indication of an owner, attributes, date modified, date created, and more, but listing all of such properties would be cumbersome inasmuch as we mean to convey a representative but not exhaustive list.
As mentioned, the groups of representations are grouped together based on at least one property of the items. As shown in view 310, an exemplary property is file type. That is, the representations of view 310 are grouped based on file type. To be grouped based on a property does not necessarily imply that every element in a group share or have in common that property. More accurately, to be grouped together based on at least one property contemplates that some aspect of that property is shared by the elements that make up a group. Although it happens to be the case that the representations in view 310 actually do share and have in common the property of being the same file type, had they been sorted, for example by file name, then they may be grouped according to the first letter of the file name.
That is, although each file does not share the same file name, they share an aspect of a file name; namely, that they all start with the same letter. Similarly, if representations (which we will variously refer to as “elements”) were grouped based on size, all elements of the group may not necessarily be the same size, but they might share a certain threshold in size. That is, they may be less than 5 megabytes and the next set less than 50 megabytes and the next set less than 100 megabytes for example.
View 310 shows that elements of group 316 are all presentation files. Similarly, the representations that make up group 314 are all spreadsheet files. As can also be seen, column headers provide an easy way to regroup items in view 310. Five illustrative column headers are shown: “name,” “date modified,” “type,” “author,” and “tag.” Clearly, other column headers could be provided instead of those shown, but the ones that are shown are for illustrative purposes.
As can also be seen in view 310, a group delimiter is provided to separate each of the groupings. A first illustrative delimiter is referenced by numeral 320, and a second illustrative delimiter is denoted by numeral 322. A delimiter can be any user-interface mechanism that separates the groups. In an embodiment of the present invention, users are provided the ability to directly interact with the delimiters to effect, or cause, different elements to be presented.
In one embodiment, interacting with different aspects of a delimiter can cause different functional outcomes. For example, in one embodiment different manipulation options are made accessible by way of the group delimiter. A first illustrative manipulation option enables removing a desired group from the view. A second manipulation option enables showing only a selected group in a view. These manipulation options can be accessed by interacting with the delimiter. For example, consider
In
A first illustrative outcome may to be filter out all other representations except those representations that are depicted in the group that is denoted by its corresponding delimiter. By way of example, clicking on “Microsoft Office PowerPoint Presentations (13)” may cause only representations 418 to be presented. The other representations in view 410 would be filtered out of view, or closed. Thus, we have described one embodiment of the manipulation option, or UI mechanism, that enables showing only a selected group in a view. Namely, we have indicated that one way to show only a desired set of representations is to click on a group heading.
There are other ways to directly interact with UI elements to effect a desired view. Another illustrative UI mechanism that would enable a user to directly interact with items of a view is depicted in
The view in
Instead of performing a filter function, manipulation option 426 could also invoke a close option. In such an embodiment, selecting a close option would remove a desired group from the view. Thus, in one embodiment of the invention, manipulation option 426 serves as providing a UI mechanism that, when selected, closes group 418. As will be discussed in greater detail, closing a group according to embodiments of our invention is different than collapsing a group.
Turning now to
View 510 is a depiction of the results of receiving an indication from a user that only a certain group is desired to be presented. Accordingly, view 510 is an example of zooming into a set of representations, variously referred to as showing only a set of representations, which is referenced by numeral 512. View 510 also shows that a filter-reflection mechanism 514 is employed to provide visual feedback to a user that describes the instant filter. In the illustrative example of view 510, label 516 indicates a type of “PowerPoint,” which is a type of presentation file. The actual type of file is not relevant, only that the instant filter being shown in the view is reflected in some way. In one embodiment, a textual representation is shown in a text box, namely box 514.
Another box, which is referenced by numeral 516, indicates that a stack can be maintained that will allow users to revert to previous views. In one embodiment, this is accomplished by acting on a “back” button 518. If a user were to act on button 518 from view 510, they would revert to view 450 in one embodiment. Thus, even though users may successively apply various filters, prior stages or states can be reached by acting on the back button 518 or the like. The specific button 518 or other mechanism is not as important as the back embodiments of the invention that enable a user to reach a prior state.
Previously, we had mentioned that one aspect of the invention is that it allows a filtered set to be further grouped into additional groups; namely, without including items from all of the other groups. Thus, these embodiments differ from merely collapsing a group. When a group is collapsed, a group header remains and if a subsequent filter is attempted to be applied to the remaining-visible items, then even the items of the collapsed set are reflected in the subsequently filtered set.
Consider view 610 of
As illustratively shown, the “author” heading 618 has been interacted with to cause filter menu 614 to be presented, which presents three options 620 to group representation 612. In one embodiment, an option 622 provides for an ability to stack element 612 by authors. In one embodiment a button 624 enables element 612 to be grouped. In some embodiments, the options of 620 can be employed to cause a selection of a set of elements to be filtered out. For example, it might be the case that one of the boxes next to an author's name causes representations associated with that author to be filtered out. If a user indicates that elements 612 are to be further grouped by author, then a view similar in functionality to that of view 710 in
As can be seen from view 710, three groupings now exist, which are referenced by numerals 712, 714, and 716. Each of the respective views are grouped by a property of the items to which the representations correspond; namely, by author in this example. As mentioned, elements that are missing from view 710 include elements that were not in the set 612 of items to which a subsequent filter was applied. That is, the elements in view 710 are only those elements that existed in the previous view 610. By way of illustration, the elements that are shown in
This point is even shown more clearly in FIGS. 8.1-8.4. Turning to
Turning now to
At a step 912, each of the delimiters is enabled to be interacted with by a user to cause at least one of two options. As is normally the case, we do not mean to imply a temporal order in which the events that we are explaining occur. That is, enabling the delimiters to be interacted with does not necessarily need to occur in a separate step after the groups are separated in step 912. The two can happen substantially contemporaneously such that when the groups are separated, the delimiters are already enabled to be interacted with by a user.
We have previously described above different ways that the delimiters can be interacted with to cause at least one of two options (such as a remove option that removes a desired group or a filter option that shows only a selected group, which steps are respectively referenced by numerals 912A and 912B). As previously mentioned, illustrative ways of interacting with a delimiter, such as delimiter 320, is to enable a group heading label (such as 414 in
With reference to numeral 912A, we have explained that invoking the remove option causes a deletion of representations of other items that have in common a property that was shared by the items that form the removed group even if those other items were not in the removed group. This aspect is best explained in connection with explaining the concept of multivalue properties. A multivalue property is a property that can include multiple values. An illustrative example of a multivalue property is an author property. A document may have multiple authors.
For example, a document may be authored by Jane as well as John. In this example, an author attribute or property of a file includes two values; namely “John” and “Jane.” In one embodiment of the instant invention, if all of the representations of a view were filtered by author, and a user opts to close the group of representations that is associated with the author “John,” then any instance of a file representation that might occur in another group that has John as an author will also be removed. So if the group of representations for Jane includes an element where John is an author, then when the John group is closed, the element that has John as an author in Jane's group will also be removed. But in other embodiments only those items directly associated with a specific group are closed. Both embodiments are contemplated as part of our invention.
Step 914 summarizes some aspects that we've already described, in that after receiving an indication that either of the aforementioned manipulation options has been invoked, an embodiment of the invention will cause the respective desired manipulation to occur such that if the filter option is invoked then a subset of the original representations will be all that remains, and further that additional grouping operations can be performed on only the subset to the exclusion of the item representations that are not part of the aforementioned subset. We explained an example of this in connection with
As mentioned, the remove option (such as shown in
Turning now to
At a step 1016, the representations are grouped into one or more groups, wherein each of the groups is made up of numbers based on at least one property of the items being represented. For example, representations may be grouped by name, date modified, type, size, author, etc. And as we have mentioned before, to be grouped based on a property does not necessarily imply that that property is identically shared across members of the group. For example, grouping items by size does not necessarily require that the items be the exact same size, but that they share some aspect of size with each other. For example, a first set of members may be less than a certain file size and the next set less than a next threshold, and the next less than still another threshold, etc.
At a step 1018, one or both of two manipulation options is made available and associated with each of the groups of representations. Two illustrative manipulation items include a filter option 1018A that enables presenting only a selected group from among the one or more groups and a remove option 1018B that enables removing a desired group from the view. Each of these options has been previously discussed and will not be discussed again here for the sake of conciseness.
Many different arrangements of the various components depicted, as well as components not shown, are possible without departing from the spirit and scope of the invention. Embodiments of the invention have been described with the intent to be illustrative rather than restrictive. Alternative embodiments will become apparent to those skilled in the art that do not depart from its scope. A skilled artisan may develop alternative means of implementing the aforementioned improvements without departing from the scope of the invention.
It will be understood that certain features and subcombinations are of utility and may be employed without reference to other features and subcombinations and are contemplated within the scope of the claims. Not all steps listed in the various figures need be carried out in the specific order described.