1. The Field of the Invention
The present invention relates to systems and methods for organizing information. In particular, the present invention relates to providing a content-descriptive user interface correlation for table data structure navigation systems.
2. The Relevant Technology
A common way to organize information in a data structure is to use a table data structure to display the information to the user on a computer user interface page. Generally, the table information is maintained with columns and rows, with the ability to sort information based on the information in a particular column. As the information in tables becomes more extensive, the table grows to a length that would require a user to scroll down through vast amounts of information. To make viewing the information more manageable, the table is often divided into many separate pages of information. When sorting tables that have extensive amounts of information, the table is visually presented as multiple pages, each page containing sufficient information to approximately fill a standard computer monitor screen, or perhaps a length that can reasonably be scrolled through. The user is generally required to navigate through many pages to get to information later in the table.
Navigation menus typically provide the user with the option to select the first page, the last page, or to scroll to the next or previous page in comparison to the current page being viewed. Alternatively, some navigation menus allow the user to select from a series of numbered selectable links. However, sometimes a user may be searching for information but is unsure on which page that information is located. When tables are on the order of five or more pages, it will be appreciated that the user can spend a large amount of time searching for information, even though the information is sorted according to a particular column identifier.
A common scenario in which data is organized in tables with multiple pages is an email folder, such as an inbox. In interfaces associated with web email applications or desktop e-mail applications, an e-mail folder can easily grow very large. It is often difficult to navigate through a large email folder to find a message of interest because of the size of the folder.
Generally, in table format, the user will be able to sort email by a particular category or sort criteria. For example, the user can sort by name of sender (column 102), by subject of emails (column 104), by date the email was received (column 106), by size of the email (column 108) and the like. User interface 100 also includes a navigation menu 130 for navigating through pages of the table where the table cannot be conveniently placed on one visual page. In the example of
Where table 101 extends beyond one visual page, navigation menu 130 provides a means by which a user can select different pages of table 101 to be displayed on user interface screen 100.
When the user is trying to target an email that was sent, for example, on a particular day, it is difficult for a user to determine on which page the information might be found. In the example of
Other styles of navigation menus exist, as is illustrated in
The present invention relates to navigation systems and methods for facilitating the location of information in a table data structure. The table data structure may include data tables displayed on a user interface as part of a website, software application, or any other table structure displayed on a user interface. In one embodiment of the invention, the navigation system identifies the sort criteria used to organize a table data structure, and further identifies page delineations in the table data structure. For example, a table displaying email messages may be sorted by date, sender name, subject, and the like. Where a large number of emails exist, the table of emails is often delineated into a number of pages. This is particularly true of web-based email clients.
Once a sort criteria and page delineations are identified, a data range corresponding to each page is identified according to the sort criteria. For example where a table of emails is sorted according to date received, the present invention identifies the ranges of dates of the emails displayed on each page of the table. Finally, the data ranges corresponding to each page are displayed to the user on the graphical user interface in one or more content descriptor fields. The content descriptor fields may be continually updated to reflect any changes that may occur within the table data structure.
In one embodiment of the invention, the page numbers or item numbers associated with each page are also displayed on the graphical user interface. The page numbers, item numbers or content descriptor fields may form selectable links that when selected, causes a corresponding page to be displayed on the graphical user interface.
According to one embodiment of the invention, the content descriptor fields are not displayed on the graphical user interface until the user places an icon, or mouse pointer icon, over a specified area of the graphical user interface, such as, but not limited to, page identifying information areas or item identifying information areas. When the icon is removed from the specified area, the content descriptor field may disappear.
These and other features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter.
To further clarify the above and features of the present invention, a more particular description of the invention will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. It is appreciated that these drawings depict only typical embodiments of the invention and are therefore not to be considered limiting of its scope. The invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
The principles of the present invention relate to navigation systems and methods for facilitating the location of information in a table data structure. The navigation methods include the identification of ranges of data on each page of the table data structure, according to the data used to sort or organize the table data structure. The data ranges are organized and displayed in a manner that allows the user to select which page to view in accordance with the data ranges.
The invention's methods and systems for navigating through table data structures save a user significant time and effort in locating information even where the information is already sorted by a certain criteria. It will be appreciated that the principles of the present invention apply to data navigation systems of any table data structure. However, for purposes of describing the present invention, the following description will reference to an electronic messaging system.
The present invention provides a navigation menu that facilitates the search for a particular item within tables extending beyond one visual page.
Where an extensive number of pages exist, the navigation menu 120 may be formatted into a pull down menu to ease navigation. As used herein, a pull down menu is used in the traditional sense, i.e., a menu of commands or options that appears when the menu is selected with a mouse pointer icon. In this manner, the user can navigate through table 101 which spans multiple pages. The use of a pull down menu also minimizes the space on user interface screen 100 being occupied by navigation menu 120.
Navigation menu 120 also includes a plurality of content descriptor fields 124. Each content descriptor field 124 displays an indicator of the data range that corresponds to the information contained in a particular column by which table 101 is sorted. Thus, by selecting one of the content descriptor fields 124, the graphical user interface can be refreshed to display the portion or page of table 101 corresponding to the selected content descriptor field 124 as identified by the data range indication contained therein. The data range indication thus represents in some manner the range of content contained in a column of table 101. In one embodiment, content descriptor fields 124 can be displayed as a listing, such as the list 126 shown next to page list 122 in navigation menu 120.
Thus, in the embodiment of
The present invention updates the data range indication in each content descriptor field 124 each time table 101 is sorted, updated, or refreshed. In other words, navigation menu 120 does not necessarily display predefined values. Instead, because the range of content in each column of the table can vary, navigation menu 120 may be configured to update the values of content descriptor fields 124 every time a data entry is added or deleted from the table 101. Alternatively, navigation menu 120 may be configured to update the data range indication of content descriptor field 124 every time user interface screen 100 is opened or refreshed.
When table 204 is sorted, content descriptor module 208 identifies beginning and ends of the pages that will be shown visually on the user interface. In one embodiment, application 207 may have already marked the beginning and end of each page. Content descriptor module 208 locates the entry at the beginning and end of each page. Content descriptor module 208 then identifies a column that was used to sort the table. Content descriptor module 208 parses the beginning and end field for the sort category. Content descriptor module 208 can then identify the data range for each visual page for the sorted column. In creating a data range indication for each page, exemplarily, content descriptor module 208 may create a string of characters to provide a data range indication of the sorted column of each page. Accordingly, a certain data range will be generated for each page, the data range depending on what criteria was used to sort table 101 and the data at the beginning/end of the page. Advantageously, content descriptor module 208 can use the same markers that are used to indicate the beginning and end of each individual page to easily identify the beginning and end of the sort category column for each page.
Referring again to
The correlation between page fields 123 and content descriptor fields 124 can be displayed in other manners. In another embodiment, illustrated in
In another embodiment, as illustrated in
In this embodiment, instead of continually displaying the content descriptor fields 164 on the navigation menu 160, the data ranges of content descriptor fields 164 are only displayed when the user places its icon on an item field 166. The ability of the content descriptor fields 164 to appear and disappear is depicted by the dashed lines surrounding each content descriptor field 164.
For example, the content descriptor fields 164 may be formed from a nonpersistent graphical field that can appear next to item list 162 anytime the icon 168 is placed over one of the item fields 166 of item list 162. The nonpersistent graphical field disappears when the icon 168 is not hovering over any part of item list 162. The content descriptor module 208 (
Alternatively, multiple nonpersistent graphical fields may exist, each containing one data range of content descriptor field 164. When the icon is placed over an item field 166, the nonpersistent graphical field containing the corresponding data range may appear near the item field 166. The nonpersistent graphical field disappears when the icon is not hovering over the item field 166. Thus, in the example of
Similarly, instead of only displaying the one data range corresponding to the item field 166 over which the icon is hovering, a series of data ranges may be displayed that are in close proximity to one another. For example, if a table includes ten pages of information, and the user places the icon over page field number five, the data ranges corresponding to page fields four, five, and six may appear. In this manner, the user not only discovers the data range for the page field over which the icon is placed, but also discovers the data ranges for other adjacent pages.
The latter two embodiments may be advantageous where it is desirable to reduce the amount of information on the user interface 100. However, these embodiments may be slightly less efficient than the previous embodiments, where the content descriptor field list 125 is either permanently displayed (like in
The concept of causing content descriptor field 164 to appear or be displayed according to the foregoing embodiments may be applied to any navigation system. For example, the above-described concepts can be applied to any of the prior art navigation systems of
In one embodiment of the invention, the principles described herein are implemented by the web developer of a website so that a navigation menu taught herein is displayed to by all users who visit the website. However, the principles of the present invention do not necessarily need to be implemented by the original web developer. Instead, a software application may be configured to create a navigation menu in accordance with the present invention on any webpage having a sortable table data structure consisting of multiple pages using a servlet, an applet, or an application residing on a server or a client computer. When a webpage is loaded, the software application scrapes the webpage to determine if the webpage contains a table data structure. If so, the software determines the sort criteria by which the table is sorted. As described above, a navigation menu is generated, consisting of the data ranges of each page within the table, in accordance with the sort criteria. The software application alters the display of the webpage to include a navigation menu according to one of the embodiments described herein. If the webpage already had an existing navigation menu, the existing navigation may be altered or replaced by the navigation menu created by the software application. In one embodiment, the user can select between an enhanced navigation menu having content descriptor fields or a conventional navigation menu without content description.
Many webpages and software packages other than email may benefit from the content of the present invention. For example, real estate listing websites can be searched and sorted by many different criteria, including price, square footage, number of bedrooms, garage size, year built, and the like. Often, a user enters broad search criteria, such as $100,000 to $200,000, only to find an unreasonably large number of search results. Because of the large number of results, the user subsequently decides to only look at houses between 2,000 and 2,500 square feet. After re-sorting the results according to square footage, under current navigation systems, the user typically randomly selects page numbers or sequentially scrolls through each individual page until finally narrowing in on the houses having the desired square footage. The present invention facilitates the location of houses having the desired square footage by displaying the range of square footage that is contained within each page of the results table.
While the above examples have focused on web-based applications such as email, the present invention is not limited to web-based applications. Instead, the present invention can be beneficial if implemented on any software program that creates sorted table data structures of multiple pages, including search engines, where navigating the table would be simplified by supplying data ranges corresponding to each page.
The present invention may also be described in terms of methods. The following is a description of methods that may be preformed in practicing the present invention.
Method 500 also includes, at 504, identifying a first and last entry among the plurality of entries for the at least one page or portion of the table. For example, in the email data structure table of
Method 500 also includes, at 506, identifying data fields used by the sort criteria for the first and last entries for the at least one page. Therefore, to continue with the current example of
Method 500 also includes, at 508, generating content descriptor data for describing the content of the at least one page using the content of the data fields for the first and last entries of the at least one page, wherein the content descriptor data is configured to be viewable by the user. Therefore, in the present example of
Although the content descriptor data of method 500 is “viewable” by a user, the content descriptor data does not necessarily immediately displayed to the user. In other embodiments, however, method 500 also includes displaying the content descriptor data on the computer user interface, and may further include displaying page or item field so that the content descriptor data is associated with corresponding page numbers or item numbers. By way of example,
In one embodiment of method 500, either the content descriptor fields, the page fields, or both, may be selectable to view pages of the table data structure that correspond to the selected link.
In another embodiment of method 500, the content of the content descriptor fields is updated when a change occurs to the entries of the table data structure. Therefore, the content descriptor fields always display accurate information regarding the content of each page of the table data structure to the user.
Embodiments of the invention include or are incorporated in computer-readable media having computer-executable instructions or data structures stored thereon. Examples of computer-readable media include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium capable of storing instructions or data structures and capable of being accessed by a general purpose or special purpose computer. Computer-readable media also encompasses combinations of the foregoing structures. Computer-executable instructions comprise, for example, instructions and data that cause a general purpose computer, special purpose computer, or special purpose processing device to execute a certain function or group of functions. The computer-executable instructions and associated data structures represent an example of program code means for executing the steps of the invention disclosed herein.
The invention further extends to computer systems adapted for use with adapted for use with user interfaces that operate as described herein. Those skilled in the art will understand that the invention may be practiced in computing environments with many types of computer system configurations, including personal computers, multi-processor systems, network PCs, minicomputers, mainframe computers, and the like. The invention will be described herein in reference to a distributed computing environment, such as the Internet, where tasks are performed by remote processing devices that are linked through a communications network. In the distributed computing environment, computer-executable instructions and program modules for performing the features of the invention may be located in both local and remote memory storage devices.
The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The following exemplary claim is presented to illustrate various novel features of the present invention. The claim is not exhaustive of the embodiments of the invention, nor is it to be construed as limiting the scope of the invention. Moreover, the invention disclosed in detail herein can be defined with other claims, including those that will be included in any related non-provisional applications that will be filed during the pendency of this provisional application.
This application claims priority to and benefit of U.S. Provisional Patent Application Ser. No. 60/688,484, filed Apr. 5, 2005, which application is incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
60668484 | Apr 2005 | US |