System and method for floating index navigation

System and method for implementing a floating index navigation tool are described. In one embodiment, the method includes, in response to a user'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.

BACKGROUND

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

One embodiment is a method of implementing a floating index navigation tool. The method comprises, in response to a user'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.

DETAILED DESCRIPTION

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.

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.

FIG. 1is a representative block diagram of an exemplary hardware environment100in which an embodiment may be implemented. As illustratedFIG. 1, the environment100comprises a processing module102for processing instructions, a memory and/or storage module104for storing data and instructions, input/output (“I/O”) devices, represented by I/O106, and at least one display, such as a display108. All of the elements102-108are interconnected via one or more appropriate communications channels, represented inFIG. 1by a single channel110, which may include, in some embodiments, the Internet and/or other network-implemented communications channels. A search tool112in accordance with one embodiment is stored in the storage module104and has access to at least one index database114and comprises instructions executable by the processing module102for implementing the embodiments described in detail hereinbelow. In one embodiment, the search tool112comprises a desktop application residing and executing on a user's personal computer. In another embodiment, the search tool112is executed in a cloud computing or other environment located remotely from the user, with a user interface (“UI”)116presented on a display of the user's personal computer. Additionally, some portion of the environment100, including portions of the elements102-114, may be implemented locally on the user's computer or remotely therefrom via a private and/or public cloud or within some other appropriate environment. In one embodiment, the database114comprises a searchable index of content accessible by a user via the UI116. The database114is dynamic in that, as user-accessible content is added, the index of the database114is expanded to include the additional content. The database114is built using standard technology for gathering data regarding different user-accessible content and adding it to the database114for purposes that will be described.

FIG. 2is an illustration of a manner in which a floating index200in accordance with one embodiment may be displayed. As used herein, “floating” refers to the fact that the textbox201for entering a term or terms to be searched “floats” on top of the current web page or screen of the user interface116and 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 inFIG. 2, the floating index200implements two types of searches; i.e., an alphabetical search, results of which are displayed as extending vertically above and below the display of the textbox201, as designated by a reference numeral202, and a regular expression (“RegEx”) search, results of which are displayed as extending horizontally to the left and right of the textbox201, as designated by a reference numeral204. Although only two types of searches are implemented in the embodiment illustrated inFIG. 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 textbox201.

Inside the textbox201, 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 inFIG. 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 results202,204. In one embodiment, a mouse, trackball, arrow keys, or the like may be used to navigate through the displayed results202,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.

FIG. 3is a flowchart of one embodiment of the operation of the search tool112. The process is initiated by any update to the contents of the textbox201. 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 textbox201being updated, in step300, the search tool112builds one or more appropriate search queries, depending on the types of search results to be presented in the floating index200, and submits the query or queries to one or more databases, such as the database114. In step302, 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 step302until all of the results have been received, at which point execution proceeds to step304. In step304, the results are displayed around the textbox201.

The method illustrated inFIG. 3will now be described using the example presented inFIG. 2. It will be assumed that, at the point at which execution begins, the contents of the textbox comprise “CAT.” In step300, alphabetical and RegEx search queries are built and issued to the database. Once the results are received (step302), in step304, the results of the alphabetical search query are displayed around the textbox201as results202, while the results of the RegEx search query are displayed around the textbox201as results204.

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.

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.

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.