1. Technical Field:
The invention is related to displaying the results of an electronic search, such as a database search, to a user, and more particularly to a system and process for graphically displaying the results of a search to a user on a display via an interactive search results window having a tree format in which the user views and refines the search results.
2. Background Art:
The personal computer will eventually have extremely large amounts of storage capacity, resulting in large data stores. In addition, information spaces reachable via computer networks, such as the Internet, provide a user access to vast amounts of data. Typically, the user will be interested in retrieving specific information of interest from these sources of data. This task is handled using a search engine, which typically employs keywords in an attempt to find items of interest within the data sources. The search results are usually presented to the use in the form of a list. However, when the data sources are large, the results of a search can produce an unmanageable number of items. These large search results sets are difficult to analyze effectively to find the information the user is seeking. Thus, better ways of visualizing and navigating the results of an electronic search are needed. The present invention provides such techniques.
The present invention is directed toward a user interface system and process for graphically displaying the results of an electronic search to a user on a display device via a search results window in a tree format. A search results tree allows the user to easily browse through and refine (i.e., reduce to a smaller sets) the results. In general, the tree has a first level that indicates how the search results may be refined. The second level of the tree shows what subsets (what) are available for a particular refining method. The third level shows how the already refined (by the second level) results may be refined further. This is repeatedly applied with odd-numbered levels of the tree indicating how the results may be filtered, and even-numbered levels indicating what sub-sets are available.
More particularly, the foregoing involves including a graphic data presentation sector in the search results window that displays the aforementioned multi-leveled tree. Initially only a top level of the tree is displayed. This top level includes categories representing how the search results can be grouped. In response to a user command to do so, a second level of the tree for one or more of the top level categories can be displayed as well. The second level includes one or more subsets representing the search results as grouped using the top level category and divided into smaller groups. The categories are based on known attributes of the search results. For example, the attributes can include the date a search results item was created, the date a search results item was last modified, the name of the search results item, or the file size of a search results item. These attributes generally relate to search results characteristics that range. In such cases, the second level subsets are created by clustering the top level category search results into a series of ranges. For example, if the top level category involved categorizing the search results according to a date, they would be clustered into a series of date ranges. If the top level category involved categorizing the search results according to names, they would be clustered into a series of alphanumeric ranges based on a first symbol of the name of the search results item. Still further, if the top level category involved categorizing the search results according to file size, they would be clustered into a series of size ranges.
A top level category can also be included that represents the grouping of the search results by types, where each search result item applicable to this category is one of a predefined set of said types. In this case, the second level of the tree has one or more subsets representing the search results grouped into the type classifications.
Additional lower levels of the tree can also be displayed in response to a user command to do so. In general, whenever the immediately preceding level of a branch of the tree involves search result items clustered into a series of ranges, a new level depending from one of these ranges will provide ways in which the search results associated with that range can be grouped. Conversely, whenever the immediately preceding level of a branch of the tree provides ways in which the search results associated with that branch can be grouped, a new level depending from one of these ways have the search result items clustered into a series of subset ranges appropriate to the grouping.
In addition to the presentation sector, a list sector is also displayed in the in the search results window. This list sector provides a listing of the search results items included in a user-selected category/classification or subset of the tree. More particularly, prior to the user selecting a top level category of the tree, all of the search results are made available for display and as many of the search results items that will fit into the space allotted to the list sector are displayed. When the user selects a subset in the tree, only those search results associated with the selected portion are displayed. In the case that the number of search result items made available for display is too large for all of them to be displayed in the space allotted to the list sector, the user can scroll thought the listing to bring search results items hidden from view due to the space limitation into view. In one embodiment this is accomplish using a graphic scroll bar displayed adjacent the list sector.
It is noted that as the user causes the various levels of the tree to be displayed, the previously displayed levels remain in view. In this way, the user can see the path taken from the top level category to the current lowest level. This aids in refining the search results.
It is further noted that whenever a level of the tree is displayed that has subsets of the search result items clustered into a series of ranges or involving type classifications, the number of search results items associated with each subset is displayed adjacent to it. In one embodiment a subset that does not have any search results items associated with it is displayed with a zero. In another embodiment, these empty subsets are not displayed in the tree. The latter embodiment has the advantage of simplifying the tree and making it easier for the user to refine the results.
A search results counter can also be displayed in the search results window. This counter indicates the total number of search results items included in the currently selected portion of the tree.
In addition to the just described benefits, other advantages of the present invention will become apparent from the detailed description which follows hereinafter when taken in conjunction with the drawing figures which accompany it.
The specific features, aspects, and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings where:
In the following description of the preferred embodiments of the present invention, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. It is understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention.
1.0 The Computing Environment
Before providing a description of the preferred embodiments of the present invention, a brief, general description of a suitable computing environment in which the invention may be implemented will be described.
The computing system environment 100 is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the computing environment 100 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment 100.
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, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, 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 non-removable 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 be 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 the 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/non-removable, 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 may 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, a server, a router, a network PC, a peer device or other common network node, 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,
2.0 The Search Results Presentation System and Process
The exemplary operating environment having now been discussed, the remaining part of this description section will be devoted to a description of the program modules embodying the invention. Generally, the system and process according to the present invention involves providing a user interface that displays the results of a standard electronic search, such as a database search, in a manner that allows the user to visualize the results graphically, rather than just displaying a list of the items found. In addition, the user is given the ability to interact with the displayed results in order to refine them. In regard to this interaction with the interface, any convention method of selection could be implemented to allow the user to select functional features of the interface window. In tested versions of the present system and process, two modes of selection were implemented—namely standard single click and double click selection modes. For example, if the user is employing a conventional mouse or touch pad as an input device, the screen cursor would be moved as usual with the device and placed over the icon, button or other indicator whose associated function the user wants to activate. The user then “clicks” a selection button on the device either once or twice, as needed to activate the desired function.
As indicated previously, the search results presentation system and process according to the present invention provides a visualization of the results of an electronic search. Accordingly, it is presumed that the user has performed a search via conventional means and that the search results, in the form of a list of items found, is available. The presentation system is then initiated. This can be accomplished by the user manually selecting the program to run, or it can be configured to run automatically anytime a search is performed.
Once the present presentation system and process is activated, the search results are presented in a search results window, which includes a multi-leveled tree. In general, the first level of this tree indicates how the search results may be filtered. The second level of the tree shows the subsets (i.e., what) that are available for a particular filter method. The third level again shows how the already filtered (by the second level) results may again be filtered. This hierarchy is then repeated with odd-numbered levels of the tree indicating how the results may be filtered, and even-numbered levels indicating what subsets are available. Accordingly, the foregoing tree format will be referred to herein as a “how/what” tree format.
The configuration and interactive functionality of the search results window will now be described in the sections to follow.
2.1 The Search Results Window
One embodiment of the layout of a search results window 200 employing the aforementioned how/what tree format, is shown in
In addition to the presentation sector 202, the window 200 also includes a search results list sector 204, which is disposed on the right side of the exemplary window 200 of
A search results counter 206 is also included in the window 200, and is displayed just above the list sector 204. The search results counter 206 lists the total number of search result items represented by the currently selected portion of the tree displayed in the graphic data presentation sector 202. In the top level version of the tree shown in
It is noted that the layout of the foregoing sectors shown in
2.1.1 The How/What Tree Format
As indicated previously,
As seen in the exemplary window of
2.1.2 Refining the Search Results
It is noted that all the top level categories are expanded in
Like the top level “how” categories, the lower level “how” subsets can include any attribute known about all or at least some of the search result items. For example, in the embodiment of the search results window shown in
In one embodiment of the present search results presentation system and process, the search results can be refined in a manner different from the foregoing method of expanding and contracting the how/what tree. This additional method involves the user selecting the category/classification and subset labels. This has several effects. First, the search results are restricted to just those associated with the selected category/classification or subset. Accordingly, the list of search result items displayed in the list sector includes only those items in the selected category/classification or subset. In addition, the tree automatically expands to show the level along the branch associated with the selected category/classification or subset, without the user having to select the plus sign icon. An example of the selection method is shown in
The refining process can theoretically continue until only one search result item is included in the selected subset. However, some practical limit can also be established. For example, when the number of search result items associated with a selected subset is such that all of them can be listed in the list sector, the refining process could be stopped.
The ultimate goal of the foregoing refining process is typically to find a particular item of interest. In this regard, once the user has refined the search results to the point where the item or items of interest are displayed in the list sector, then he or she can select an item in the list for further action consistent with the choice. For example, if the selected item is a file, it could be opened, or if the item is a web page URL, the user could be connected to that site.
2.2 Alternate Configurations
While the invention has been described in detail by specific reference to the foregoing embodiments thereof, it is understood that variations and modifications may be made without departing from the true spirit and scope of the invention. For example, while the search results windows has been described as having a particular arrangement of sectors and other elements, these elements can be rearranged within the respective windows as desired. Further, it is noted that while full-featured versions of the interfaces were described, versions having fewer of these features are also possible and within the scope of the present invention.