None
None.
Embodiments of the present invention relate to enhancement of a computer user experience. More particularly, embodiments of the invention relate to providing a technique for displaying groups of items to a user in a descriptive manner.
In current computer operating system environments, icons are provided for representing items such as files, folders, shortcuts, applications, documents, tasks, and commands. Icons may be used in list views, toolbars, dialog boxes, menus, and other places. Icons may be used to represent all objects of a specific class, such as Microsoft Word documents, Microsoft Excel files, jpeg files, or other types of files.
Icons may include thumbnail images used to represent specific objects, such as a specific jpeg or a specific folder. Icons may be dynamically generated by code run on a user's machine or may be cached. Icons have existed for many years and many applications use existing icon architectures. Application and component developers can, using custom icons and thumbnails, convey as much information about objects as their pixels will allow. However, existing systems do not provide a technique for graphically grouping multiple icons based on properties of the files represented.
Currently, when a user wants to group items having common characteristics, the user often groups the items into a folder. For example, a user can group documents by file type to include one group for Microsoft Word documents, one for Microsoft Excel documents, one for Microsoft PowerPoint documents, etc. A user may also group music by genre, creating separate groups for Pop, Classical, Hip-Hop, etc. While the conventional folder structure and icon may provide easy access to the documents, the generic folder icon fails to provide descriptive information pertaining to items within the folder.
A solution is needed for visually representing these groups to the user. The use of a generic icon such as the generic folder icon to represent groups of items has a number of shortcomings. First, using a generic icon to represent a group will not provide a user with any idea of how many items are in the group. In contrast, in a real-world stack view, a user is able to view an approximate number of items in the stack. It would be desirable to have an icon represent a real-world stack view in which the group of items could be viewed as a stack and in which a viewer can view the size of the stack and see relative stack sizes merely by viewing the stack. Additionally, a solution is needed that allows the user to see the types of items that the stack contains. Furthermore, a solution should be provided that is capable of conveying the concept of an empty stack.
Accordingly, a solution is needed for immediately conveying to a user the size of a stack and the character of items within the stack. The solution should allow users to view stacks of items and infer characteristics of the stack based on the representation of the stack.
Embodiments of the present invention are directed to a method for representing files stored in stacks. The method includes providing a set of stack icons, each icon in the set having a stack height representing a range of stack sizes. The method additionally includes determining a stack size for a selected stack and selecting and displaying an appropriate stack icon from the set of stack icons based on the determined stack size.
In another aspect of the invention, a method is provided for representing a selected stack of files, wherein the selected stack is stored within one of multiple libraries. The method includes providing an icon for each library. Each icon for each library portrays information relevant to the library. The method additionally includes storing multiple icons portraying the relevant information for each library, wherein each of the multiple icons in each library represents a range of stack heights. The method additionally includes representing a selected stack by determining an appropriate library and an appropriate stack height and displaying a corresponding icon.
In yet an additional aspect of the invention, a system is provided for representing a selected stack of files. The system includes stored sets of default stack icons, each stored set of default stack icons representing and portraying information relevant to a corresponding library. Each stored set of default stack icons includes multiple icons and each included icon represents a range of stack heights. The system additionally includes icon selection tools for determining if the selected stack of files belongs to a library having a corresponding stored set of default icons and for determining an appropriate stack height. Upon locating an appropriate library and stack height, the icon selection tools select and display an appropriate icon from an appropriate set of default icons.
In further aspects of the invention, thumbnail icons and property-based icons may be provided. Additionally, each stored set of icons may include a unique empty set icon for indicating that a stack is empty.
The present invention is described in detail below with reference to the attached drawings figures, wherein:
I. System Overview
Embodiments of the invention include a method and system for displaying stacks of items having common properties. The system and method provide a technique for displaying the number of items in a stack on a stack icon. Furthermore, the stack icon visually represents the height of the stack, such that the stack depicted in the icon varies depending on the relative size of the stack compared to other stacks in the view. Stack icons are depicted to include different kinds of items (documents, photos, videos, music, contacts, etc.) depending on the library in which the stack is being represented. Furthermore, in accordance with embodiments of the invention, a completely different image is used to represent empty stacks than non-empty stacks. When there is an icon available to represent a certain property, that icon is overlaid on the stack icon based on that property. For some special types of stacks, such as stacks of photos and videos, the stack icon includes thumbnails of items from within the stack itself.
The system and method may be implemented in a computerized environment. An exemplary operating environment is described in detail below with reference to
II. Exemplary Operating Environment
The invention is described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
With reference to
Computer 110 typically includes a variety of computer readable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. The system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 131 and random access memory (RAM) 132. A basic input/output system 133 (BIOS), containing the basic routines that help to transfer information between elements within computer 110, such as during start-up, is typically stored in ROM 131. RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 120. By way of example, and not limitation,
The computer 110 may also include other removable/nonremovable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media discussed above and illustrated in
The computer 110 in the present invention will operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 180. The remote computer 180 may be a personal computer, and typically includes many or all of the elements described above relative to the computer 110, although only a memory storage device 181 has been illustrated in
When used in a LAN networking environment, the computer 110 is connected to the LAN 171 through a network interface or adapter 170. When used in a WAN networking environment, the computer 110 typically includes a modem 172 or other means for establishing communications over the WAN 173, such as the Internet. The modem 172, which may be internal or external, may be connected to the system bus 121 via the user input interface 160, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 110, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
Although many other internal components of the computer 110 are not shown, those of ordinary skill in the art will appreciate that such components and the interconnection are well known. Accordingly, additional details concerning the internal construction of the computer 110 need not be disclosed in connection with the present invention.
III. Stack Icon Selection and Display Module
The user selection module 12 enables a user to group items having common properties into a stack. As described above, the stacks may share a common file type or other characteristic.
The categorizing module 14 categorizes the selected items in accordance with the shared common property. Stack icons are depicted to include different kinds of items such as documents, photos, videos, music, contacts, etc. The particular depiction will depend upon the library in which the stack is being represented.
The counting tools 16 count the number of selected items to be provided on the stack. As will be further illustrated below, the number of items in a stack is displayed on the stack icon itself. Furthermore, the height of the stack depicted in a stack icon varies depending on the relative size of the stack compared to other stacks in the view. Additionally, the counting tools 16 are capable of determining if a selected stack is empty. A completely different image is used to represent empty stacks than non-empty stacks.
The icon selection tools 20 select an appropriate icon from three categories of available icons. The three categories of available icons include default stack icons 22, property-based icons 24, and thumbnail icons 26. While typically a default icon is provided for each library, if there is an icon available to represent a certain property, that icon may be overlaid on the stack icon based on that property. The custom thumbnail icons 26 may be provided for some special types of stacks, such as stacks of photos and videos. The thumbnail stack icon includes thumbnails of items from within the stack itself.
With further reference to the icon selection tools 20, each icon is provided in multiple stack sizes as will be further described below. The icon selection tools 20 may implement an algorithm to select the appropriate stack size within a category.
Icon Characteristics
Three categories of stack icons may be provided for the system of the invention. As set forth above, these categories may include default stack icons, property-based stack icons, and thumbnail stack icons. Each of the main libraries including the document library, photo library, video library, music and radio library, contacts library, message library, and television and movie library may include a set of default stack icons. A set of generic default stack icons may be provided for use in non-library views.
As shown, each set of default stack icons includes multiple icons, each icon representing a stack of a distinct size. In an embodiment of the invention, five icons are provided for representing stacks of different sizes. In this instance, the sizes are characterized as large, medium, small, two, and zero. Various criteria are relevant to selecting which stack icon is shown. The size of the stack icon should indicate the relative size of the stack compared to other stacks in that same view. A stack should not be visually represented as having more items than it actually contains, except in the case of a stack of just one item. An exemplary algorithm for selecting the appropriate size is described below with regard to the method of the invention.
Default Stack Icons
As illustrated in
Property-Based Stack Icons
The overlay 710 is used to convey what type of object the icon portrays. An application may provide such an overlay for each file-type it owns, but if none is provided for a particular file-type, then the application's own icon may be used as the overlay. The placement of the overlay is shown as aligned exactly along the bottom edge of the image such that it fits within the boundaries of the icon when the image is bottom-aligned. Horizontally, the type overlay may be centered on the right edge of the image, but can be shown in other positions.
Overlays may be stored in the following pixel sizes: 48×48, 32×32, 24×24, 16×16, and 8×8. The following table describes an appropriate sized overlay for display on icons of different sizes.
Thumbnail Stack Icons
In general, thumbnail icons may be treated just as other metadata on items. Thumbnail icons may be stored and extracted as bitmaps and may be referenced as a multi-valued property. Every item may have a flag that indicates one of three states regarding its thumbnails. In a first “yes” state, the flag indicates the existence of a cached thumbnail. In a second “no” state, there is no cached thumbnail one cannot be extracted. In a third “uncertain state” there is no cached thumbnail, and it is unclear whether a thumbnail can be extracted.
Icon Selection Method
In step A10, the stack icon selection and display module 10 locates any special properties or available thumbnails. If either is available in step A12, the stack icon selection and display module 10 displays the thumbnail or property based icon in step A18. If neither a property-based or thumbnail icon is available in step A12, the system looks for a default library in step A14. If the default icon is found in step A16, the system displays the default icon in step A20. If the default icon is not found in step A16, the system retrieves and displays the generic icon in step A22 to complete the process in step A24.
A limited number of stack icons is provided for representing all sizes of stacks. For instance, whereas a stack may have any number of items from zero to hundreds or thousands, five different stack icons may be provided to represent all of these different stack sizes.
While particular embodiments of the invention have been illustrated and described in detail herein, it should be understood that various changes and modifications might be made to the invention without departing from the scope and intent of the invention. The embodiments described herein are intended in all respects to be illustrative rather than restrictive. Alternate embodiments will become apparent to those skilled in the art to which the present invention pertains without departing from its scope.
From the foregoing it will be seen that this invention is one well adapted to attain all the ends and objects set forth above, together with other advantages, which are obvious and inherent to the system and method. It will be understood that certain features and sub-combinations are of utility and may be employed without reference to other features and sub-combinations. This is contemplated and within the scope of the appended claims.