METHOD FOR GRAPHICAL REPRESENTATION OF A CONTENT COLLECTION
A method use on a computer having a graphical operating environment is provided for displaying the content items of a container. The method includes enumerating the items that exist within the container or folder and determining whether a graphical preview can be generated for the item. If so, the item is added to a list of candidates as preview items for the container or folder. The items are then evaluated, and a desired number are chosen for display based upon a sort criteria. Prior to being displayed, the graphical preview for each item is sized and is located on the background image. The above method results in a container having graphical or pictorial indicia of the container contents on the outside thereof. These indicia allow a computer user to more readily determine the contents of the container or folder without having to open the container or folder.
This application is a continuation of, and claims priority to, U.S. patent application Ser. No. 14/015,656, filed Aug. 30, 2013, “METHOD FOR GRAPHICAL REPRESENTATION OF A CONTENT COLLECTION” which is a continuation of U.S. application Ser. No. 09/982,337, filed Oct. 18, 2001, “METHOD FOR GRAPHICAL REPRESENTATION OF A CONTENT COLLECTION” both of which are incorporated herein by reference in their entirety.
TECHNICAL FIELDThe present invention relates to a method and a computer system, and, more particularly, a computer system and method that allows the content of a collection of items to be graphically represented in a way that provides an indication of the content without opening the container holding the contents.
BACKGROUNDThe storage and retrieval of information on a computer has evolved over time. At one point in time, files were stored in a computer in a location represented by a textual path name. The computer user would specify this path name when saving the contents and storing the contents on a storage device, such as a hard drive for the computer. To retrieve the information that had been stored, the user would again reference the textual path name that had been given to the container, such as the file name. Graphical operating environments have largely simplified this process.
In the prior art graphical operating environments, a container that holds a collection of items may be called a folder. Within the folder, the items are typically referred to as files. In the prior art graphical operating environment, the folders may be given a textual name, and are typically graphically represented with the general outline of a file folder. When the computer user opens the folder, the contents of the folder are revealed.
The items contained within any collection may take a variety of forms. For example, the items may be documents, images, graphs or charts, or any other type of file or item that is typically saved within a computer system. The contents of a folder may be displayed in a variety of ways. For example, the items may be arranged in a list with textual titles. These titles may also have an associated icon or symbol. The contents may also be arranged on the computer display with the icons more prominently displayed.
If an item is an image file, the contents of the file may be represented in a “thumbnail” view. A thumbnail is a miniature version of an image or electronic version of a page that is generally used to allow quick browsing through multiple images or pages. A thumbnail view is a graphical representation for that file that is particular to that file, and that shows a preview of an image contained within the file. In other words, these thumbnail views exist as a mechanism of graphically representing the contents of a particular item or file without having to open the file itself.
It has been found that some computer users have a difficult time navigating to a particular item within a computer system. This problem exists even on those computers having a graphical operating system. Thus, the efforts of a computer user trying to locate a particular image, for example, might involve that computer user navigating to, and opening, several folders prior to finding the folder containing the desired item. One example of a prior art graphical representation for a folder is shown in
Accordingly, there is a need for an effective system and method that efficiently conveys to a computer user some indicia of the contents of a folder or container, without having to open the folder or container.
SUMMARYThe present invention provides a method and system for use on a computer having a graphical operating environment. The method includes enumerating the items that exist within the container or folder and determining whether a graphical preview can be generated for the item. If so, the item is added to a list of candidates as preview items for the container or folder. The items are then evaluated, and a desired number are chosen for display based upon a sort criteria. Prior to being displayed, the graphical preview for each item is sized and is located on the background image. The above method results in a container having graphical or pictorial indicia of the container contents on the outside thereof. These indicia allow a computer user to more readily determine the contents of the container or folder without having to open the container or folder.
Additional advantages and novel features will be set forth in the description which follows and in part may become apparent to those skilled in the art upon examination of the following, or may be learned by practice of the invention.
The present invention is described in detail below with reference to the attached drawing figures, wherein:
The present invention provides a system and method for allowing a graphical representation of the contents of a container on the outside of the container so that a computer user does not have to open the container to view all of the contents thereof.
The invention is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, cellular phones, personal digital assistants (PDAs), multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, and distributed computing environments that include any of the above systems or devices, and the like.
The invention may be 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. 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. Computer readable media can be any available media that can be accessed by computer 110 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and nonremovable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer 110. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable 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.
Those skilled in the art will understand that program modules such as the operating system 134, application programs 135 and data 137 are provided to the computer 110 via one of its memory storage devices, which may include ROM 131, RAM 132, hard disk drive 141, magnetic disk drive 151 or optical disk drive 155. Preferably, the hard disk drive 141 is used to store data 137 and programs, including the operating system 134 and application programs 135.
When the computer 110 is turned on or reset, the BIOS 133, which is stored in the ROM 131 instructs the processing unit 120 to load the operating system from the hard disk drive 141 into the RAM 132. Once the operating system 134 is loaded in RAM 132, the processing unit 120 executes the operating system code and causes the visual elements associated with the user interface of the operating system 134 to be displayed on the monitor 191. When a user opens an application program 135, the program code and relevant data are read from the hard disk drive 141 and stored in RAM 132.
As discussed above, the prior art graphical operating environment could display a collection of items as shown in
As used in this specification, a folder may also be referred to as a container, or vice versa. A folder is a container for programs and files in graphical user interfaces, usually symbolized on the screen by a graphical image or icon of a file folder. This container may be referred to as a directory in other systems. Thus, a folder is a mechanism of organizing programs and documents or other items and can hold both files and additional folders. A file is the basic unit of storage that enables a computer to distinguish one set of information from another. A file is the “glue” that binds a conglomeration of instructions, numbers, words, or images into a coherent unit that a user can retrieve, change, delete, save or send to an output device.
The folder 200 will frequently contain more items than those that are represented as thumbnail images 204. As an example,
The folder 200 may also contain a database of previously generated thumbnail images, called a thumbnail cache 208. If any of items 206 are items for which a thumbnail image can be generated, and a thumbnail image has in fact been previously generated for the item, the thumbnail image will be stored within cache 208. The importance and use of cache 208 are more fully described below. For example, if a thumbnail image has been generated for items 206 labeled ITEM 1-ITEM 3 in
In an alternative embodiment, the user may elect to have only one image 204 displayed on the background 202, as seen in
The invention allows a computer user to more easily and efficiently navigate to a desired item within a collection of items, such as a folder. For example, a computer user may store pictures on the computer. The computer user may organize the pictures by topic or time frame, such that a number of folders exist which contain pictures. As a more specific example, and without limitation, the computer user may have one folder labeled “birthday pictures,” and two others labeled “vacation pictures 1” and “vacation pictures2.” Utilizing the present invention, each folder background 202 will have rendered thereon a number of thumbnail images 204. The thumbnail images for the folder 200 labeled “birthday pictures” will have rendered thereon thumbnail images 204 which appear as reduced images of pictures contained within the “birthday pictures” folder. Similarly, the “vacation pictures 1” folder will have rendered thereon thumbnail images 204, which appear as reduced images of pictures contained within the “vacation pictures 1” folder. The thumbnail images 204 thus serve as graphical indicia to the computer user regarding the contents of the folder 200. In other words, the computer user is presented with a graphical preview of the folder contents without opening the folder and without having to remember the contents of the folder solely from the textual description associated with the folder. The folder 200 may have a textual description as well, such as the textual description “BIRTHDAY PICTURES” illustrated in
With reference to
If an item 206 qualifies as a candidate to serve as a preview image 204, it is added to the list of candidates for the folder 200 being processed in step 226 and the process returns to the start of loop 224. Likewise, if an item 206 does not qualify as a preview image candidate, the process returns to the start of loop 224. The loop 224 continues until there are no items 206 left in folder 200. When no items 206 are left for evaluation in folder 200, the process 220 continues in step 228 by choosing the images 204 from the list, generated at step 226, for display on background 202. As shown in
The specified criteria can be any of a number of metrics that allow the items to be prioritized in a way that is meaningful to the user. The goal is to present to the computer user the images 204 that will best indicate to the user the contents of the folder 200, without having to open the folder itself. In the current preferred method, the N items last modified are chosen in step 228. As the items 206 are being evaluated for candidacy as a thumbnail image 204 in step 225, a sort can be performed on the files in the folder, such that the files are listed starting from the last file modified. The items are then analyzed, as discussed above, and N items (in the example four) 206 that are eligible to serve as images 204 and that are the last four that have been modified in some way are selected for display. This metric brings to the background 202 a meaningful display of images 204, because the displayed images 204 represent those that were most recently before the computer user. Other deterministic methods could, of course, be used and are within the scope of this invention. For example, rather than choosing the items last modified, the process could select the last four items 206 that were added to the folder 200. Another example would be to use the first four items in the current sort order of the folder 200.
If items 206 are identified that are candidates to serve as images 204, then images 204 corresponding to those items 206 will be rendered on the background 202, as described with reference to
The process 230 of rendering images 204 on background 202 is illustrated in
Each item 206 which is chosen to be presented as a preview image 204 is evaluated in loop 238. Loop 238 determines, at 240, if the item 206 has a cached thumbnail image. As stated above, the folder 200 may contain a database of previously generated thumbnail images, called the thumbnail cache 208. If any of items 206 are items for which a thumbnail image can be generated, and a thumbnail image has in fact been previously generated for the item, the thumbnail image will be stored within cache 208. The cached thumbnail images are represented by 210 in
As stated above, in the WINDOWS operating system, available from Microsoft Corporation of Redmond, Wash., a thumbnail image may be generated using the IExtractImage interface. The IExtractImage interface is an existing interface that can be used to obtain thumbnail images for files or other items. To obtain the IExtractImage interface for an item within a folder, the “GetUIObjectof” method is used and the item identifier is passed in, along with the interface desired. In this case, the desired interface is the IExtractImage interface. There are two methods associated with the IExtractImage interface—GetLocation and Extract. GetLocation specifies the flags as to how the thumbnail image should be rendered. Extract returns a bitmap for the folder that was specified. Therefore, after obtaining the interface, GetLocation and Extract are used for each of the items 206 which were chosen, and for which no thumbnail cache image existed. In step 244, the thumbnail obtained is rendered on background 202 in the location and at the size calculated in step 232. The process 230 is completed when each of the items 206 that were chosen to be rendered have been painted on background 202 as thumbnail images 204. The resulting folder 200 appears generally as shown in
As a more specific example of the invention, and without limitation, folder 200 of
It can be seen that this invention allows users to more efficiently navigate to desired items contained within a collection of items more easily. The collection or folder presents a graphical preview of the contents of the folder without the need to open the folder. Such a preview presents to a user the information in a more usable form, and gives the user more information about any particular folder.
Alternative embodiments of the present invention become apparent to those skilled in the art to which it pertains upon review of the specification, including the drawing figures. The various computer systems and components shown in
Claims
1. A computer-implemented method, comprising:
- providing a background region to an icon associated with a container;
- determining a number of items in the container to be more informative to users than other items in the container regarding contents in the container;
- obtaining respective graphical previews for the number of items in the container to graphically represent the number of items; and
- causing at least one of the respective graphical previews to be displayed on the background region.
2. The method of claim 1, wherein the container is a folder including a collection of files, and the number of items are a number of files, the method further comprising:
- determining the respective graphical previews for the number of files can be generated to graphically represent the number of files.
3. The method of claim 1, wherein the obtaining comprises retrieving at least one of the respective graphical previews from a cache.
4. The method of claim 1, wherein the container is an album, and the at least one of the respective graphical previews is a representative item of the album.
5. The method of claim 1, wherein the determining comprises selecting a first four items in a current sort order of the container.
6. The method of claim 1, wherein obtaining comprises computing a thumbnail image for an item of the number of items from an operating system function.
7. The method of claim 1, further comprising:
- calculating a size and a location of an item of the number of items on the background region based at least in part on the desired number and a size of the background region.
8. The method of claim 1, further comprising:
- resizing the respective graphical previews based on a size of the background region.
9. The method of claim 7, further comprising:
- obtaining a graphical preview of the item based at least in part on an interface that is used to obtain the graphical preview of the item according to the calculated size.
10. The method of claim 1, further comprising:
- causing the respective graphical previews to be displayed on the background region in an order based on respective most recently modified time of the number of files.
11. The method of claim 1, further comprising:
- causing the respective graphical previews to be displayed on the background region in an order based on respective most recently added time of the number of files.
12. One or more computer-storage hardware storing computer usable instructions that, when used by one or more computing devices, cause the one or more computing devices to:
- rank a plurality of items in the container based on their respective indicative values to a user for indicating the contents in the container;
- select a desired number of items from the plurality of items;
- obtain respective graphical previews for desired number of items; and
- cause the graphical previews to be displayed on the background region based on the respective indicative values of the desired number of items.
13. The hardware of claim 12, wherein the instructions further cause the one or more computing devices to:
- in response to an item of the desired number of items has a cached graphical preview in a cache, obtain the cached graphical preview of the item from the cache.
14. The hardware of claim 12, wherein the graphical preview is a preview of an electronic picture contained within the container.
15. The hardware of claim 12, wherein the container is an album, and the desired number of items is representative songs of the album.
16. The hardware of claim 12, wherein the select comprises select a first four items in a current sort order of the container.
17. A computer system, comprising:
- a processor;
- an item collection manager, coupled to the processor, to generate a collection of items for which respective graphical previews can be generated for the collection of items within a container; and
- a container display provider to select a number of items from the collection of items based on indicative values of the number of items to a user for indicating the contents in the container, and to cause graphical previews of the selected number of items to be displayed on a background region of the container.
18. The system according to claim 17, wherein the container display provider is to cause graphical previews of the selected number of items to be displayed in an order according to a sort criteria applied on the collection of items.
19. The system according to claim 18, wherein the sort criteria is a current sort order of the container previously selected by a user of the container.
20. The system according to claim 18, wherein the sort criteria is based on most recently modified time or time added to the container.
Type: Application
Filed: May 17, 2016
Publication Date: Sep 8, 2016
Inventors: TODD OUZTS (Redmond, WA), PHILIP FORTIER (Redmond, WA), CHRIS J. GUZAK (Redmond, WA)
Application Number: 15/157,306