Abstract:
System and method for implementing a floating index navigation tool are described. In one embodiment, the method includes, in response to a user&#39;s updating a search term, building first and second search queries; issuing the first and second search queries to at least one database comprising a searchable index of content; and responsive to receipt of search results from the first and second search queries, displaying the first query search results in a first manner and displaying the second query search results in a second manner different than the first manner.

Description:
CROSS-REFERENCE 
       [0001]    This application claims the benefit under Title 35, United States Code §119(e) of U.S. Provisional Patent Application No. 61/229,956 filed on Jul. 30, 2009, the disclosure of which is incorporated herein by reference in its entirety. 
     
    
     BACKGROUND 
       [0002]    Companies are constantly looking for ways to maximize the productivity of their workforces. To this end, technology for providing Integrated Collaborative Environments (“ICEs”) is being developed to provide integrated workspaces for globally distributed teams to organize and communicate via a single user interface. It is anticipated that ICEs will quickly grow beyond the ability of conventional search interfaces to enable users to locate what they need quickly and easily. Therefore, what is needed is a convenient user-friendly mechanism for searching and navigating in such ICEs, as well as other environments. 
       SUMMARY 
       [0003]    One embodiment is a method of implementing a floating index navigation tool. The method comprises, in response to a user&#39;s updating a search term, building first and second search queries; issuing the first and second search queries to at least one database comprising a searchable index of content; and responsive to receipt of search results from the first and second search queries, displaying the first query search results in a first manner and displaying the second query search results in a second manner different than the first manner. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0004]      FIG. 1  is a representative block diagram of an environment in which one embodiment of a floating index navigation tool may be implemented. 
           [0005]      FIG. 2  illustrates one embodiment of a display of the floating index navigation tool of  FIG. 1 . 
           [0006]      FIG. 3  illustrates a flowchart of the operation of one embodiment of the floating index navigation tool of  FIG. 1 . 
       
    
    
     DETAILED DESCRIPTION 
       [0007]    To better illustrate the advantages and features of the embodiments, a particular description of several embodiments will be provided with reference to the attached drawings. These drawings, and other embodiments described herein, only illustrate selected aspects of the embodiments and are not intended to limit the scope thereof. Further, despite reference to specific features illustrated in the example embodiments, it will nevertheless be understood that these features are not essential to all embodiments and no limitation of the scope thereof is thereby intended. Any alterations and further modifications in the described embodiments, and any further applications of the principles of the embodiments as described herein are contemplated as would normally occur to one skilled in the art. Furthermore, some items are shown in a simplified form, and inherently include components that are well known in the art. Further still, some items are illustrated as being in direct connection for the sake of simplicity and clarity. Despite the apparent direct connection, it is understood that such illustration does not preclude the existence of intermediate components not otherwise illustrated. 
         [0008]    One embodiment combines the concepts of indexing and search functionality into a tool for navigation in a software product, such as, for example, ZENworks or GroupWise. In one aspect, a floating index is displayed for providing real-time search functionality throughout the product interface. For example, if a user needs to find a document entitled “Meeting Notes,” the user can search or browse an instant index that appears as an overlay on the interface trailing up to down or right to left. As a result, a user can employ a regular expression format to type everything that is needed or can immediately begin simply to navigate the instant index. 
         [0009]      FIG. 1  is a representative block diagram of an exemplary hardware environment  100  in which an embodiment may be implemented. As illustrated  FIG. 1 , the environment  100  comprises a processing module  102  for processing instructions, a memory and/or storage module  104  for storing data and instructions, input/output (“I/O”) devices, represented by I/O  106 , and at least one display, such as a display  108 . All of the elements  102 - 108  are interconnected via one or more appropriate communications channels, represented in  FIG. 1  by a single channel  110 , which may include, in some embodiments, the Internet and/or other network-implemented communications channels. A search tool  112  in accordance with one embodiment is stored in the storage module  104  and has access to at least one index database  114  and comprises instructions executable by the processing module  102  for implementing the embodiments described in detail hereinbelow. In one embodiment, the search tool  112  comprises a desktop application residing and executing on a user&#39;s personal computer. In another embodiment, the search tool  112  is executed in a cloud computing or other environment located remotely from the user, with a user interface (“UI”)  116  presented on a display of the user&#39;s personal computer. Additionally, some portion of the environment  100 , including portions of the elements  102 - 114 , may be implemented locally on the user&#39;s computer or remotely therefrom via a private and/or public cloud or within some other appropriate environment. In one embodiment, the database  114  comprises a searchable index of content accessible by a user via the UI  116 . The database  114  is dynamic in that, as user-accessible content is added, the index of the database  114  is expanded to include the additional content. The database  114  is built using standard technology for gathering data regarding different user-accessible content and adding it to the database  114  for purposes that will be described. 
         [0010]      FIG. 2  is an illustration of a manner in which a floating index  200  in accordance with one embodiment may be displayed. As used herein, “floating” refers to the fact that the textbox  201  for entering a term or terms to be searched “floats” on top of the current web page or screen of the user interface  116  and that the index “floats” around the textbox, as will be described. As a result, everything can be accomplished on the current page or screen of the user interface. As illustrated in  FIG. 2 , the floating index  200  implements two types of searches; i.e., an alphabetical search, results of which are displayed as extending vertically above and below the display of the textbox  201 , as designated by a reference numeral  202 , and a regular expression (“RegEx”) search, results of which are displayed as extending horizontally to the left and right of the textbox  201 , as designated by a reference numeral  204 . Although only two types of searches are implemented in the embodiment illustrated in  FIG. 2 , it will be recognized that more, fewer, and/or different types of searches can be implemented and the results displayed as extending radially in different directions/at different angles from the textbox  201 . 
         [0011]    Inside the textbox  201 , auto-complete functionality is preferably operational and implemented in a manner that will be readily apparent to one of ordinary skill in the art. Additionally, plus signs (+) indicate expansions that can be taken from the word as displayed to change the view in a manner that will also be apparent to one of ordinary skill in the art. For example, in the embodiment shown in  FIG. 2 , selecting (e.g., via mouse, trackball, keyboard, or the like) the plus sign displayed therein after “CAT” changes “CAT” to “CATCH”, which would cause a corresponding change in the results  202 ,  204 . In one embodiment, a mouse, trackball, arrow keys, or the like may be used to navigate through the displayed results  202 ,  204 . The combination of the results of more than one type of search into a single view enables a variety of types information to be easily located, which is especially beneficial in the context of ICE, but provides numerous benefits in other contexts as well. Additionally, the RegEx search can be designed to take into account various user preferences, including case insensitive and how to organize characters. 
         [0012]      FIG. 3  is a flowchart of one embodiment of the operation of the search tool  112 . The process is initiated by any update to the contents of the textbox  201 . Such updating may include a user typing one or more characters in the textbox, a user selecting one of the results displayed around the textbox, and/or a user selecting an auto-completion or expansion option offered in the textbox. In response to the contents of the textbox  201  being updated, in step  300 , the search tool  112  builds one or more appropriate search queries, depending on the types of search results to be presented in the floating index  200 , and submits the query or queries to one or more databases, such as the database  114 . In step  302 , a determination is made whether all of the results have been received in response to the one or more queries. If not, execution remains at step  302  until all of the results have been received, at which point execution proceeds to step  304 . In step  304 , the results are displayed around the textbox  201 . 
         [0013]    The method illustrated in  FIG. 3  will now be described using the example presented in  FIG. 2 . It will be assumed that, at the point at which execution begins, the contents of the textbox comprise “CAT.” In step  300 , alphabetical and RegEx search queries are built and issued to the database. Once the results are received (step  302 ), in step  304 , the results of the alphabetical search query are displayed around the textbox  201  as results  202 , while the results of the RegEx search query are displayed around the textbox  201  as results  204 . 
         [0014]    The embodiments described herein provide a powerful method of employing regular expressions and instant indexes, as well as any other type of search methodology, including content- and context-sensitive searches, to aid a user in finding what he or she needs without requiring any special syntax, separate pages, or limited views into the data. The floating index is a unique view that will help a user find items more easily than otherwise possible using special searches for the exact person, word, or sentence. Specifically, the index will provide all of the possible options, thereby enabling the user to search and browse to the correct location. 
         [0015]    The embodiments described herein would be a great addition to help pages that have people struggling to navigate within the pages. Alternatively, the embodiments could be employed using a tree format of searching for content and/or menus instead of an index. Additionally, the embodiments would be beneficial for organizing content in the same manner. For example, a pinwheel of items separating type, content, date, author could be presented in the same manner as the display but with a different underlying content layout. 
         [0016]    While the preceding description shows and describes one or more embodiments, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the present disclosure. For example, various steps of the described methods may be executed in a different order or executed sequentially, combined, further divided, replaced with alternate steps, or removed entirely. In addition, various functions illustrated in the methods or described elsewhere in the disclosure may be combined to provide additional and/or alternate functions. Therefore, the claims should be interpreted in a broad manner, consistent with the present disclosure.