Abstract:
A method of a navigational path includes enabling a user to successively display a plurality of web pages; maintaining a full breadcrumb path that includes a link to each of the previously displayed pages; displaying a shortened breadcrumb path on a current page, the shortened breadcrumb path including fewer links than the full breadcrumb path, and displaying the full breadcrumb path only upon request. A method of representing a current location within a hierarchical structure of a web site or web application includes maintaining a hierarchical map of the web site or web application; generating a web page that has a predetermined level within the hierarchical map; displaying a hierarchical structure selector on the web page, and when the displayed hierarchical structure selector is selected by a user, displaying an indication of the predetermined level and a link to each hierarchically higher level of the generated web page.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to methods and systems for efficiently representing a user&#39;s location and path within a web site or application. 
     2. Description of the Prior Art and Related Information 
     In Grimm&#39;s fairytales, Hansel used crumbled up pieces of bread to mark his trail as his evil stepmother led him and his sister Gretel deep into the dark forest. Modern Web design techniques use Hansel&#39;s (ultimately ill-fated) ruse as a metaphor to allow the user to view their path through a Web application in a backward linear manner. Commonly called a breadcrumb trail or navigational breadcrumbs, this technique is a visual representation to the user of where and how information is situated within a Web application. The breadcrumb trail helps users to understand and learn the application structure. For example, the breadcrumb path for an online store may take the general form: Store Name&gt;Catalog Name&gt;Item Name. This visual device shows the user the pages they have previously viewed to get to their currently displayed page. The location of the navigational path is often prominently placed in the upper left quarter of the web page. While a breadcrumb path is a convenient Web orientation and navigation device, existing breadcrumb models suffer from problems relating to efficiency and scalability, among other issues. 
     Indeed, the use of breadcrumbs in iterative searches and composite objects (Purchase Orders, Requisitions, etc.) results in a number of inefficiencies. For example, it is very common for users to conduct multiple searches and repetitively refine their search conditions. Usually, web catalogs search results are displayed either in a separate page from the search facilities, or on the same page. In both cases, depending on implementation, each new search results page will either dismiss the previous breadcrumb link to a previous search results page, or append another link onto the existing breadcrumb trail. The former leads to loosing the previous search results (that users may eventually want to return to) while the latter grows the breadcrumb trail indefinitely. The same applies to viewing/updating information in composite objects with multiple attributes or line items. A Purchase Order with multiple line items is an example of such a composite object. As the user sequentially views the line items and returns to the Purchase Order object, the breadcrumbs to already viewed/updated line items of the object may be dismissed or the breadcrumb trail becomes unmanageably long as the trail details each line item and each recurring page view of the Purchase Order in turn. 
     When a conventional breadcrumb path is used in Web based applications having even a moderately complex structure, the number of individual links in the trail quickly grows to unmanageable size as users click through the application. As can be readily understood, this may lead to a non-insignificant loss of the primary substantive real-estate of the web page that should be allocated for the data display, as shown at  106  in  FIG. 1 . For example, a conventional breadcrumb path for a user shopping online for a digital camera may look like: Procurement Home&gt;iProcurement&gt;Stores&gt;Countries&gt;Stores: United States&gt;Beast Buy®&gt;Products&gt;Electronics&gt;Cameras&gt;Brands&gt;Russian&gt;Zenit Models: 2004&gt;Digital Cameras&gt;6 Megapixel Cameras&gt;Search: Red Eye Reduction&gt;Zenit-680MS, as shown at reference numeral  104 . This breadcrumb path also assumes that the user headed straight for the desired page without first shopping around, with any error and without backing out of undesired pages. Had the user not headed straight to his or her ultimate destination, the breadcrumb trail would be much longer and take up a significantly greater portion of the browser. Moreover, if the titles of the Web pages visited are longer and more descriptive, the disadvantages of such a conventional the breadcrumb trail are further exacerbated. 
     From the foregoing, it may be appreciated that improved site navigation techniques, tools and methods are needed. 
     SUMMARY OF THE INVENTION 
     Embodiments of the present invention include a computer-implemented method of representing user&#39;s navigational path in a web environment. The method may include steps of enabling a user to successively display a plurality of pages of a web site or a web application; maintaining a full breadcrumb path, the full breadcrumb path including a link to each of the plurality of pages previously displayed to the user; displaying a shortened breadcrumb path on a currently displayed page of the plurality of pages, the shortened breadcrumb path including fewer links than may be included in the full breadcrumb path, and displaying the full breadcrumb path only when requested by the user. 
     The method may further include a step of providing a full breadcrumb path selector on the currently displayed page, the full breadcrumb path selector being configured to display the full breadcrumb path when selected by the user. The full breadcrumb path selector providing step may include a step of displaying a visual indication of the full breadcrumb path selector on the currently displayed page. The shortened breadcrumb path may include only links to most recently displayed pages of the plurality of pages. When the full breadcrumb path is requested by the user, a step may be carried out to display a full breadcrumb path panel within which the full breadcrumb path is displayed. The full breadcrumb path panel may be displayed as a top layer of the currently displayed page. The full breadcrumb path panel may be dynamically sized to accommodate the full breadcrumb path. The full breadcrumb path may be displayed without causing a refresh on the currently displayed page. The method may further include a step of determining when the shortened breadcrumb path and/or the full breadcrumb path contains multiple instances of a same link, and configuring the shortened breadcrumb path and/or the full breadcrumb path such that only one instance of the same link is displayed. A step of omitting and not displaying all links of the shortened breadcrumb path and/or the full breadcrumb path that are after a link clicked by the user may also be carried out. A step may also be carried out to determine whether a page referenced by a link of the shortened breadcrumb path or the full breadcrumb path is current before displaying the page. A step of retrieving the page from a local memory and displaying the retrieved page may be carried out if the determining step determines that the page stored in local memory is current. A step of retrieving the page from a web page server and displaying the retrieved page may be carried out if the determining step determines that the page stored in local memory is not current. The method may further include a step of truncating or abbreviating constituent links of the full and shortened breadcrumb paths when the links exceed a predetermined length. A cross-application visual indicator (such as “&gt;&gt;”, for example) may be provided between constituent links of the full and shortened breadcrumb path when adjacent links point to pages belong to different applications. 
     The present invention, according to another embodiment thereof, is a machine-readable medium having data stored thereon representing sequences of instructions which, when executed by a computing device, causes the computing device to represent a user&#39;s navigational path in a web environment by carrying out steps including: enabling a user to successively display a plurality of pages of a web site or a web application; maintaining a full breadcrumb path, the full breadcrumb path including a link to each of the plurality of pages previously displayed to the user; displaying a shortened breadcrumb path on a currently displayed page of the plurality of pages, the shortened breadcrumb path including fewer links than are included in the full breadcrumb path, and displaying the full breadcrumb path only when requested by the user. 
     According to yet another embodiment, the present invention is a computer system for representing a user&#39;s navigational path in a web environment, the computer system comprising: at least one processor; at least one data storage device coupled to the at least one processor; a plurality of processes spawned by said at least one processor, the processes including processing logic for: enabling a user to successively display a plurality of pages of a web site or a web application; maintaining a full breadcrumb path, the full breadcrumb path including a link to each of the plurality of pages previously displayed to the user; displaying a shortened breadcrumb path on a currently displayed page of the plurality of pages, the shortened breadcrumb path including fewer links than are included in the full breadcrumb path, and displaying the full breadcrumb path only when requested by the user. 
     According to another embodiment thereof, the present invention is a computer-implemented method of representing a user&#39;s navigational path in a web environment, comprising the steps of maintaining a full breadcrumb path, the full breadcrumb path including a link to each of a plurality of pages previously displayed to the user; providing a navigational area that may be allocated to the user&#39;s navigational path on a currently displayed page; displaying the full breadcrumb path within the navigational area when the full breadcrumb path fits within the navigational area and displaying a shortened breadcrumb path within the navigational area when the full breadcrumb path does not fit within the navigational area, the shortened breadcrumb path including fewer links than may be included in the full breadcrumb path, and when the shortened breadcrumb path may be displayed within the navigational area, displaying the full breadcrumb path only when requested by the user. 
     According to further embodiments, a step of providing a full breadcrumb path selector on the currently displayed page may be carried out. The full breadcrumb path selector may be configured to display the full breadcrumb path when selected by the user. The full breadcrumb path selector providing step may include a step of displaying a visual indication of the full breadcrumb path selector on the currently displayed page. The shortened breadcrumb path may include only links to most recently displayed pages of the plurality of pages. When the full breadcrumb path is requested by the user, a step may be carried out to display a full breadcrumb path panel within which the full breadcrumb path is displayed, the full breadcrumb path panel being displayed as a top layer of the currently displayed page. The full breadcrumb path panel may be dynamically sized to accommodate the full breadcrumb path. The full breadcrumb path may be displayed without causing a refresh on the currently displayed page. The method may further include a step of determining when the shortened breadcrumb path and/or the full breadcrumb path contains multiple instances of a same link, and configuring the shortened breadcrumb path and/or the full breadcrumb path such that only one instance of the same link is displayed. A step of omitting and not displaying all links of the shortened breadcrumb path and/or the full breadcrumb path that are after a link clicked by the user may also be carried out. A step may also be carried out to determine whether a page referenced by a link of the shortened breadcrumb path or the full breadcrumb path is current before displaying the page. A step of retrieving the page from a local memory and displaying the retrieved page may be carried out if the determining step determines that the page stored in local memory is current. A step of retrieving the page from a web page server and displaying the retrieved page may be carried out if the determining step determines that the page stored in local memory is not current. A step of truncating or abbreviating constituent links of the full and shortened breadcrumb paths may be carried out when the links exceed a predetermined length. A step of including a cross-application visual indicator between constituent links of the full and shortened breadcrumb path may be carried out when adjacent links point to pages belong to different applications. 
     The present invention is also a machine-readable medium having data stored thereon representing sequences of instructions which, when executed by a computing device, causes the computing device to represent a user&#39;s navigational path in a web environment by carrying out steps including: maintaining a full breadcrumb path, the full breadcrumb path including a link to each of a plurality of pages previously displayed to the user; providing a navigational area that is allocated to the user&#39;s navigational path on a currently displayed page; displaying the full breadcrumb path within the navigational area when the full breadcrumb path fits within the navigational area and displaying a shortened breadcrumb path within the navigational area when the full breadcrumb path does not fit within the navigational area, the shortened breadcrumb path including fewer links than are included in the full breadcrumb path, and when the shortened breadcrumb path is displayed within the navigational area, displaying the full breadcrumb path only when requested by the user. 
     The present invention may also be viewed as a computer system for representing a user&#39;s navigational path in a web environment, the computer system comprising: at least one processor; at least one data storage device coupled to the at least one processor; a plurality of processes spawned by said at least one processor, the processes including processing logic for: maintaining a full breadcrumb path, the full breadcrumb path including a link to each of a plurality of pages previously displayed to the user; providing a navigational area that is allocated to the user&#39;s navigational path on a currently displayed page; displaying the full breadcrumb path within the navigational area when the full breadcrumb path fits within the navigational area and displaying a shortened breadcrumb path within the navigational area when the full breadcrumb path does not fit within the navigational area, the shortened breadcrumb path including fewer links than are included in the full breadcrumb path, and when the shortened breadcrumb path is displayed within the navigational area, displaying the full breadcrumb path only when requested by the user. 
     According to still another embodiment thereof, the present invention is also a web page, comprising: a navigational area within the web page, the navigational area being allocated for display of a user&#39;s navigational path; a full breadcrumb path displayed within the navigational area when the full breadcrumb path fits within the navigational area, the full breadcrumb path including a link to each of a plurality of pages previously displayed to the user; a shortened breadcrumb path displayed within the navigational area when the full breadcrumb path does not fit within the navigational area, the shortened breadcrumb path including fewer links than may be included in the full breadcrumb path, and a full breadcrumb path selector displayed on the web page, the full breadcrumb path selector being configured to cause a display of the full breadcrumb path when selected by the user. 
     The full breadcrumb path selector may be selectable only when the shortened breadcrumb path is displayed within the navigational area. The shortened breadcrumb path may include only links to most recently displayed pages of the plurality of pages previously displayed to the user. A full breadcrumb path panel may be displayed as a top layer of the web page, the full breadcrumb path being displayed within the full breadcrumb path panel. The full breadcrumb path panel may be dynamically sized to accommodate the full breadcrumb path. The full breadcrumb path panel may be configured to be displayed on the web page without causing a refresh. When the shortened breadcrumb path and/or the full breadcrumb path contains multiple instances of a same link, the shortened breadcrumb path and/or the full breadcrumb path may be configured such that only one instance of the same link is displayed. The shortened breadcrumb path and/or the full breadcrumb path may be configured such that all links that are after a link clicked y the user are omitted and not displayed. The web page may be configured such that, when a user clicks on a page referenced by a link of the shortened breadcrumb path or the full breadcrumb path, if the page is current, the page is retrieved from a local memory and displayed and if the page is not current, the page is retrieved from a web page server and displayed. Constituent links of the full and shortened breadcrumb path may be represented in truncated or abbreviated form when the links exceed a predetermined length. A cross-application visual indicator may be provided between constituent links of the full and shortened breadcrumb path when adjacent links point to pages belong to different applications. 
     The present invention, according to another embodiment thereof, is a computer-implemented method of representing a user&#39;s current location within a hierarchical structure of a web site or web application. The method may include steps of maintaining a hierarchical map of the web site or web application; generating a web page, the generated web page having a predetermined level within the hierarchical map; displaying a hierarchical structure selector on the web page, and when the displayed hierarchical structure selector may be selected by a user, displaying an indication of the predetermined level and a link to each hierarchically higher level of the hierarchical map. 
     The displayed indication of the predetermined level and the link to each hierarchically higher level may be displayed in a hierarchical structure panel that may be displayed as a top layer of the generated web page. The hierarchical structure panel may be dynamically sized to accommodate the indication of th predetermined level and the link to each hierarchically higher level. The indication of the predetermined level and the link to each hierarchically higher level displaying step may be carried out without refreshing the generated web page. The links to the hierarchically higher levels may be displayed as cascading links, for example. Other representations of the links to the hierarchically higher levels may also readily be envisaged. The hierarchical structure panel may be configured so as to allow a controllable number of levels within the hierarchical map to be displayed therein. 
     The present invention may also be viewed, according to another embodiment thereof as a web page having a predetermined level within a hierarchy of a web site or a web application, the web page comprising: a hierarchical structure selector displayed on the web page, the hierarchical structure selector being configured to selectively provide information as to where the web page fits within the hierarchy of the web site or within the hierarchy of the web application, and a hierarchical structure panel that may be displayed only when the hierarchical structure selector is selected, the hierarchical structure panel including an indication of the predetermined level and a link to each higher level that may be hierarchically coupled to the web page. The hierarchical structure panel may be displayed as a top layer of the generated web page. The hierarchical structure panel may be configured to dynamically size to accommodate the indication of the predetermined level and the link to each hierarchically higher level. The hierarchical structure panel may be configured to display without refreshing the web page. The links to the hierarchically higher levels may be displayed within the hierarchical structure panel as cascading links. 
     The present invention may also be viewed as a machine-readable medium having data stored thereon representing sequences of instructions which, when executed by a computing device, causes the computing device to represent a user&#39;s current location within a hierarchical structure of a web site or web application by carrying out steps including: maintaining a hierarchical map of the web site or web application; generating a web page, the generated web page having a predetermined level within the hierarchical map; displaying a hierarchical structure selector on the web page, and when the displayed hierarchical structure selector is selected by a user, displaying an indication of the predetermined level and a link to each hierarchically higher level of the hierarchical map. 
     The present invention, according to a further embodiment thereof, is also a computer system for representing a user&#39;s current location within a hierarchical structure of a web site or web application, the computer system comprising: at least one processor; at least one data storage device coupled to the at least one processor; a plurality of processes spawned by said at least one processor, the processes including processing logic for: maintaining a hierarchical map of the web site or web application; generating a web page, the generated web page having a predetermined level within the hierarchical map; displaying a hierarchical structure selector on the web page, and when the displayed hierarchical structure selector is selected by a user, displaying an indication of the predetermined level and a link to each hierarchically higher level of the hierarchical map. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  shows a web page equipped with a conventional breadcrumb path. 
         FIG. 2  shows an exemplary web page equipped with a shortened breadcrumb path and a full breadcrumb path selector, according to an embodiment of the present invention. 
         FIG. 3  shows the web page of  FIG. 2 , showing a full breadcrumb path panel, according to an embodiment of the present invention. 
         FIG. 4  shows an example of a web page, showing an exemplary manner in which a breadcrumb inline menu may be selected, according to an embodiment of the present invention. 
         FIG. 5  shows the web page of  FIG. 4 , showing the breadcrumb inline menu displayed within the breadcrumb inline menu panel, according to an embodiment of the present invention. 
         FIG. 6  shows an example of web page, showing an exemplary manner in which a hierarchical structure of a currently displayed object may be displayed, according to an embodiment of the present invention. 
         FIG. 7  shows the web page of  FIG. 6 , showing the hierarchical structure displayed within a hierarchical structure panel, according to an embodiment of the present invention. 
         FIG. 8  shows an example of a web page to illustrate an aspect of a navigational pattern recognition feature, according to an embodiment of the present invention. 
         FIG. 9  shows the web page of  FIG. 8 , showing the navigational pattern recognition feature, according to an embodiment of the present invention. 
         FIG. 10  shows an example of a web page to illustrate another aspect of an embodiment of the present invention in which the portion of the shortened breadcrumb trail that is located after a clicked link is dropped. 
         FIG. 11  shows the web page of  FIG. 10  and illustrates the state of the shortened breadcrumb path after that portion of the shortened breadcrumb path that is located after a clicked link is dropped. 
         FIG. 12  is a block diagram of a computer with which embodiments of the present invention may be practiced. 
     
    
    
     DETAILED DESCRIPTION 
     Full Breadcrumb Path Panel Selector 
       FIG. 2  shows an exemplary web page showing a shortened breadcrumb path  202  according to an embodiment of the present invention. As shown, instead of displaying the entire breadcrumb path (from first or oldest link to last or newest link) and wrapping the breadcrumb links into an ungainly string, an embodiment of the present invention displays only the links corresponding to the last few pages visited by the user. Those breadcrumb links that are not displayed are nonetheless selectively accessible by the user when and if the user requests to view them. Toward that end, a full breadcrumb path panel selector  204  may be provided in place of those breadcrumb links of the shortened breadcrumb path  202  that are not displayed. That is, instead of the full breadcrumb path (i.e., from the first link through the last link to the currently viewed page) being displayed on the browser or standalone application, only links to the latest few pages viewed by the user are displayed and the oldest breadcrumb links hidden from view and replaced on the user interface or browser with a full breadcrumb path panel selector, as shown at  204  in  FIG. 2 . When and if the user requests to view the full breadcrumb path, the user may click, rollover or otherwise select the full breadcrumb path panel selector  204  using a mouse or other pointer means. In  FIG. 2 , a pointer  208  is shown selecting the full breadcrumb path panel selector  204 , indicating that the user wishes to view the full breadcrumb path. The panel may be or may include a window, as the terms “panel” and “window” are deemed interchangeable terms herein. 
     As shown in  FIG. 3 , when the breadcrumb path panel selector  204  is selected, a full breadcrumb path  302  appears as a top layer of the web page. The full breadcrumb path  302  may include each of the pages viewed, sequentially from the first link  306  through the last link  308  to the current page displayed  310 . Alternatively, the full breadcrumb path panel  304  may display only those links that are not displayed in the shortened breadcrumb path  202 . The full breadcrumb path  302  may be disposed in a breadcrumb path panel  304  that may be configured to appear as the top layer of the web page, seemingly “floating” above the page. The breadcrumb path panel selector  204 , therefore, is an activator that causes the full breadcrumb path panel  304  to appear. The full breadcrumb path panel  304  may persist until the user actively closes it. Alternatively, the full breadcrumb path panel  304  may persist only as long as the user&#39;s pointer  208  is disposed over it, which is the embodiment illustrated in  FIG. 3 . Alternatively still, the full breadcrumb path panel  304  may be configured to be locked into position by clicking on the breadcrumb path panel selector  204 . The full breadcrumb path panel  304  may be fully opaque, obscuring underlying features. Alternatively, the full breadcrumb path panel  304  may be partially translucent, enabling the user to see the underlying features of the web page through the full breadcrumb path panel  304 . Each of the constituent links within the full breadcrumb path  302  within the breadcrumb path panel  304  may be an active link; that is, a link that causes the corresponding page to appear when the link is clicked or otherwise selected. The full breadcrumb path panel  304  may be configured to be dynamically resizable, so as to accommodate a full breadcrumb path  302  of virtually unlimited length, without sacrificing the current page real estate. The full breadcrumb path  302  within the breadcrumb path panel  304  may include all breadcrumb links of the pages viewed during a single user session. Moreover, the full breadcrumb path  302  within the breadcrumb path panel  304  may display the user&#39;s path through the currently active application and/or when navigating across applications. The current page (entitled Zenit-680MS in  FIG. 3 ) may, but need not, be displayed. If the current page is displayed in the full breadcrumb path  302 , it may not be linkable. This is the case in  FIG. 3 , in which the linkable breadcrumb links are underlined. 
     The full breadcrumb path  302  displayed in the full breadcrumb path panel  304  shows each page previously viewed by the user as a breadcrumb link, with the most recently viewed pages being located to the right of pages that were less recently viewed. According to other embodiments, the left-most breadcrumb links are those that the user viewed most recently. Such may not be the case in which the breadcrumb links are written in a Bi-Di (Bi-Directional) language, such as Arabic or Hebrew. In Bi-Di, the direction of the full and shortened breadcrumb paths may be reversed, with the most recently viewed pages being located to the left of pages that were less recently viewed. In addition, the full and shortened breadcrumb paths may utilize a reversed caret symbol “&lt;” between links. The shortened breadcrumb path  202 , according to an embodiment of the present invention, may be configured to display only selectable number of breadcrumb links, may be configured to display only a predetermined number of characters of the breadcrumb links or any combination thereof. The portion of the full breadcrumb path  302  that is to be displayed in the shortened breadcrumb path  202  may be dynamically determined based upon, for example, the length of the constituent links and the number of such constituent breadcrumb links. When the maximum number of breadcrumb links that may be displayed in the shortened breadcrumb path  202  is reached, the breadcrumb links that cannot fit (the older breadcrumb links) are only viewable when and if the user selects the breadcrumb path panel selector  204  to bring up the full breadcrumb path panel  304 . Alternatively, a navigational area  210  may be defined within the currently displayed page, as shown in  FIG. 2 . The navigational area  210  may be allocated for the display of the breadcrumb path. In this manner, the full breadcrumb path  302  may be displayed within the navigational area  210  when the full breadcrumb path  302  fits within the navigational area  210 . When, however, the full breadcrumb path  302  does not fit within the navigational area  210 , only the shortened breadcrumb path  202  may be displayed within the navigational area  210 . 
     There may be instances, particularly toward the beginning of a user session or if the number of pages viewed is small, where the full breadcrumb path  302  is sufficiently short as to fit in the currently viewed page in its entirety (as opposed to within the breadcrumb path panel  304 ), from the first link through the last link to the currently viewed page. In that case and according to one embodiment of the present invention, selecting the breadcrumb path panel selector will bring up a full breadcrumb path panel  304  that shows a full breadcrumb path  302  that is identical to the shortened breadcrumb path  202  displayed on the current page. Alternatively and according to another embodiment, when the full breadcrumb path  302  is sufficiently short as to fit in the currently viewed page in its entirety (or in the area allocated to the shortened breadcrumb path  202 ), the breadcrumb path panel selector  204  may not be displayed, may be grayed out or may otherwise be rendered inactive. 
     The shortened breadcrumb path  202  may be configured so as to be displayed within a predetermined area of the currently viewed page that is allotted for such purpose. The shortened breadcrumb path  202  should not overflow into other components of the web page. According to an embodiment of the present invention, all breadcrumb links that cannot fit within the area of the web page allotted for the shortened breadcrumb path  202  may be accessible within the full breadcrumb path panel  304 . Previously visited page names that appear in the full breadcrumb path  302  may be individually customized to display text that is different from their page title. This may be particularly useful when the page titles are too long. For example, the page titles maybe truncated to keep the size of the full breadcrumb path  302  and of its panel  304  to a manageable size. For example, page titles may be limited to a maximum title value length, by compressing the page title or truncating the page title, either at the beginning of the page title or at the end thereof. Abbreviation or truncation may be indicated by appending “ . . . ” or some other visual indicator indicative of the abbreviation or truncation. For example, characters in the middle of a very long page title may be omitted. For example, the page title may be abbreviated such that “Full_Very_Long_Page_Title” may become “Full . . . Title”. The page title may be truncated at the end of the page title, such that “Full_Very_Long_Page_Title” may become “Full_Very . . . ”. Alternatively, the page title may be truncated at the beginning thereof, such that “Full_Very_Long_Page_Title” may become “ . . . . Page_Title”. Other means for shortening lengthy page titles may also be implemented within the context of the present inventions. 
     The width of the shortened breadcrumb path  202  may be selected at will. The height thereof may also be selected at will. For example, although only the shortened breadcrumb path  202  is shown in the figures as occupying only one line, the shortened breadcrumb path  202  may occupy more than one line. For example, the shortened breadcrumb path may occupy two lines. According to another embodiment, the navigational area  210  may be configured so as to enable the display of a selectable number of lines or the display of a selectable number of links. Preferably, the panel  304 , as well as the panels  502  and  702  discussed below is configured so as to display without requiring the current page to refresh. 
     The full breadcrumb path  302  may continue to grow through appended links during an entire login session. For example, the full breadcrumb path  302  may continue to grow as long as a user is logged in. Alternatively, the full breadcrumb path  302  (and thus the shortened breadcrumb path  202 ) may be restarted upon the occurrence of a predetermined event or condition. For example, the breadcrumb paths  202 ,  302  may be restarted upon a logical task (linear or non-linear) completion. Examples of such logical task, the completion of which may trigger the re-starting of the breadcrumb paths  202 ,  302  include a transaction process or switching from one task to another or intra- or inter-application navigation. 
     Inline Menu Selector 
       FIG. 4  shows a web page showing a breadcrumb inline menu selector and an exemplary manner in which a breadcrumb inline menu may be selected, according to an embodiment of the present invention. As shown, the shortened breadcrumb path  202  may be provided with a breadcrumb inline menu selector  206 . The breadcrumb inline menu selector  206  may be activated by means of, for example, a mouse rollover or by clicking it with a pointer, as shown at  208 . 
       FIG. 5  shows the web page of  FIG. 4 , after the breadcrumb inline menu selector  206  has been activated or otherwise selected. Clicking on the breadcrumb inline menu selector  206  may lock/unlock a breadcrumb inline menu panel  502 . Alternatively, the breadcrumb inline menu panel  502  may be displayed only as long as a pointer is disposed over its surface. In any event, activating the breadcrumb inline menu selector  206  causes a breadcrumb inline menu panel  502  to appear, preferably as the top layer of the currently viewed web page. The breadcrumb inline menu panel  502  displays a breadcrumb inline menu  504 , which contains a list of links at the same object level in the web site&#39;s or web application&#39;s hierarchy. In the example shown in  FIG. 4 , the list of links are of the visited pages located at the same hierarchical level—in this case, the search level, immediately after the 6 Megapixel Cameras link. As shown, the breadcrumb inline menu  504  list the various searches performed (Red Eye Reduction, 1.5 inches LCD, 24 month Warranty), each of which are at the same object level. That is, the user has iteratively returned to the search page and has conducted the searches listed in the breadcrumb inline menu  504  displayed in the breadcrumb inline menu panel  502 . As is the case with the full breadcrumb path panel  304 , the breadcrumb inline menu panel  502  may be resizable to accommodate any number of links, may be fully or only partially opaque and may be configured appear only when more than one link at the same level exists. Therefore, the breadcrumb inline menu panel  502  may be visible and thus active, only if it has content to display. The breadcrumb inline menu panel  502  may also display line number of objects, attributes of composite objects or a collection of visited links in an object hierarchy, such as the iterative searches shown in  FIG. 5 . Another application of the breadcrumb inline menu panel  502  and the breadcrumb inline menu  504  is to display links to line items in a multi-line item purchase order (PO) that the user has iteratively viewed. Other applications of the breadcrumb inline menu panel  502  and its displayed breadcrumb inline menu  504  may well occur to those of skill in this art. This feature prevents the loss of search results preserved in the browser cache mechanism. In case the page information was not stored in the browser cache, the constituent links of the breadcrumb inline menu  504  allow for re-triggering the search with the previous search conditions and retrieving the updated search results every time the user selects a breadcrumb inline menu link without reentering search conditions. Moreover, the breadcrumb inline menu  504  provides the user with a very quick way to navigate back by choosing the desired link from the breadcrumb inline menu; hence it significantly reduces the number of mouse clicks or other user actions. In addition, the use of a breadcrumb inline menu panel  502  as the top layer of a web page or other document allows for an efficient use of the page real-estate since provides more space for the display of the page data. According to an embodiment of the present invention, clicking or otherwise selecting one of the links in the breadcrumb inline menu  504  operates to dismiss all links that appear in the breadcrumb path after the breadcrumb inline menu selector  206  when the inline menu selector is not at the end of the breadcrumb path. 
     The use of a breadcrumb inline menu  504  may be combined with the full breadcrumb path  302 , to provide the user with the ability to view links located at a same hierarchical level within the full breadcrumb path  302  displayed within the full breadcrumb path panel  304 . This enables the user to enjoy the benefit of being able to navigate back through very complex and long object structures without sacrificing page real estate. The full breadcrumb path  302  and the breadcrumb inline menu  504  may be applied to any website, as well as to any web application to good advantage. 
     Hierarchical Structure Selector 
       FIG. 6  shows an example of web page, showing an exemplary manner in which a hierarchical structure of a currently displayed object may be caused to display, according to an embodiment of the present invention. As shown, the web page may also display a hierarchical structure selector  602 . The hierarchical structure selector  602  may be, for example, disposed away from the shortened breadcrumb path  202  and may, for example, be displayed next to the item displayed or at some other prominent location. The hierarchical structure selector may be activated by means of a mouse rollover, a mouse click or by other means. 
       FIG. 7  shows the web page of  FIG. 6 , showing a hierarchical structure  704  displayed within a hierarchical structure panel  702 , according to an embodiment of the present invention. According to an embodiment of the present invention, the hierarchical structure panel  702  may be displayed as the top layer of the current page when the hierarchical structure selector  602  is selected. The hierarchical structure panel  702  displays a hierarchical structure  704 , which is a representation of the location of the currently displayed page (object) within the web application or web site structure. The hierarchical structure  704  may include a least one link in addition to the title (or some other indicia) of the currently displayed page. Linkable objects in the drawings are shown underlined. Note that the connecting arrows shown in the hierarchical structure  704 , according to one embodiment, are not clickable—they are stateless. The hierarchical structure  704  allows the user to navigate through the application&#39;s hierarchical structure or through the hierarchical structure of the web site. Note that the hierarchical structure  704  displayed within the hierarchical structure panel  702  is independent of either the full breadcrumb path  302  and is independent of the breadcrumb inline menu  504 . Indeed, while the full breadcrumb path  302  lists all pages viewed by the user during a session, the hierarchical structure  704  displays how the currently viewed page fits within the hierarchical structure of the web site or web application. The hierarchical structure  704  may not display levels in the hierarchy that are located below the current page/object. For example, consider the situation in which the user had previously caused to be displayed a number of pages relating to copier machines. Although such pages would be listed in the full breadcrumb path  302  and/or in the shortened breadcrumb path  202 , such pages would not be listed in the hierarchical structure  704  of  FIG. 7 , as copier machines would likely not be represented in the hierarchical path leading to the web page displaying the Zenit-680MS digital camera. 
     According to an embodiment of the present invention, the hierarchical structure  704  may be displayed using intuitively understood cascading links, from the top or home page of the web site down to the currently displayed page, which may not be linkable. According to embodiments of the present invention, the breadcrumb inline menu  504  may be configured such that one link is displayed on each row and each link begins on a new line. Objects (e.g., web pages or pages of the web application) may be advantageously displayed in the hierarchical structure panel  702  in a top down hierarchical manner, with objects listed in order of their level within the hierarchy of the web site or web application, from highest to lowest. The last object displayed in the hierarchical structure  704 —visually at the bottom of the hierarchy—may the currently displayed page. All objects at all levels of the hierarchical structure  704  may be linkable (except the object at the last or lowest level), to enable the user to navigate to that object. The number of levels that may be displayed in the hierarchical structure  704  may be predetermined and/or customized. The hierarchical structure panel  702  may be dynamically resizable so as to accommodate a hierarchical structure of most any size. As with the full breadcrumb path panel  304 , the breadcrumb inline menu panel  502 , the hierarchical structure panel  702  may persist as long as the cursor  208  is disposed somewhere over the panel or may be locked/unlock by clicking on the hierarchical structure selector  602 . The hierarchical structure panel  702  may be fully or only partially opaque. Also, the number of levels shown in the hierarchical structure panel may be controlled by, e.g., the sys admin, to prevent scalability problems, such as may occur, for example, in attempting to represent an HR structure in a large organization. 
     The hierarchical structure  704  displayed within the hierarchical structure panel  702  may be configured such that one link (object) appears on each row. To avoid horizontal wrapping, truncation and the appending of a “ . . . ” visual truncation indicator may be used. Nevertheless, horizontal scrolling of objects may be necessary to support very large hierarchies. The width of the hierarchical structure panel  702  may be sized based on the content of the hierarchical structure  704  to be displayed therein. For example, the hierarchical structure panel may be configured to be as large as necessary to support a predetermined or selectable number of characters, including spaces per line to display. Such a predetermined number of characters may be chosen to be less than a dynamic maximum value of characters per link on each line. If this predetermined number of characters is greater than the dynamic maximum value, the width of the hierarchical structure panel  702  may be sized to the dynamic maximum and each entry in the hierarchy may be truncated as necessary. The height of the hierarchical structure panel  702  may also be sized as necessary to accommodate the content to be displayed, up to a predetermined or selectable maximum height value. If the hierarchical structure  704  to be displayed within the panel  702  is greater than the maximum height, the hierarchical structure panel  702  may be set to its maximum height value and hierarchical structure panel  702  may be configured for vertical scrolling, in the manner shown for the breadcrumb inline menu panel  502  of  FIG. 5 . For even larger hierarchy structures, horizontal scrolling may be enabled in the hierarchical structure panel  702 . More generally, embodiments of the present invention may be configured with horizontal and/or vertical scrollbars as needed to represent the intended information/path/hierarchy. 
     According to an embodiment of the present invention, when one of the full breadcrumb path panel  304 , the breadcrumb inline menu panel  502  and the hierarchical structure panel  502  is opened, any currently opened panel ( 304 ,  502  or  702 ) may be closed or hidden from view. Therefore, according to this embodiment, only one panel  304 ,  502  or  702  may be opened or displayed at any given time. According to other embodiments, more than one of the panels  304 ,  502  and  702  may be opened and/or displayed at any given time. According to an embodiment of the present invention, the panels  304 ,  502  and/or  702  may scroll when the user scrolls the current browser window. Alternatively, one or more of the panels  304 ,  502 ,  702  and their respective content may be configured to be locked in place, even when the user scrolls the browser. 
     The number of links displayed within any one or all or the panels  304 ,  502  and/or  702  and their presentation may be based on dynamic limit values. Such dynamic limit values may determine the width and height of the panels  304 ,  502 ,  702  and their respective maximum and minimum amount of content that may be displayed within each of these panels. The dynamic limit values may also be calculated based on screen resolution, and browser and font size and/or other factors. The behavior of the panels, selectors and other visual indicia may be defined as needed, depending, for example, on whether the mouse or other pointing device is over the visual indicia (mouse over), or whether the user has clicked (mouse down) or released the mouse (mouse up) over the visual indicia. 
     Other Navigational Tools 
     Navigational Pattern Recognition 
     According to an embodiment of the present invention, a navigational pattern recognition feature may be provided, in which the shortened breadcrumb path may be analyzed and selectively configured in a more manageable format. For example, a given page (an object list, Page OL, for example) may contain a plurality of links (to Pages X, Y and Z, for example) and the user may selected one of the links (say, Page X), view the resulting page, return to the Page OL, select another of the links contained therein (say Page Y), view the resulting page and return back to the given page, and so on. In this manner, the user may repeatedly return to the Page OL and click one of the links therein. Such actions would conventionally generate a breadcrumb path having the format: Page OL&gt;Page X&gt;Page OL&gt;Page Y&gt;Page OL&gt;Page Z. According to an embodiment of the present invention, after the user has returned a predetermined number of times to Page OL, the shortened breadcrumb path may be configured to display the user&#39;s path in a more succinct fashion, such as: 
     
       
         
               
               
             
           
               
                   
               
             
             
               
                 Page OL &gt; 
                 PageX 
               
               
                   
                 Page Y 
               
               
                   
                 Page Z 
               
               
                   
               
             
          
         
       
     
     Such a navigational pattern recognition feature represents the shortened breadcrumb page in such a manner as to omit the repetitive returns to the same link (in this case, Page OL) and organizes the resultant shortened breadcrumb path in a logical and immediately intuitive fashion.  FIG. 8  shows an example of a web page to illustrate the operation of the navigational pattern recognition feature, according to an embodiment of the present invention. As shown therein, the shortened breadcrumb path  202  shows that the user has repeatedly returned to a Search page and has repeatedly clicked on one of the links in the Search page. Instead of representing the shortened breadcrumb link in such a linear fashion, an embodiment of the present invention utilizes the navigational pattern recognition feature to detect the repetitive returns to the Search page, the navigational pattern recognition feature may then trigger the shortened breadcrumb path  202  to be represented as shown in  FIG. 9  to omit the repetitive returns to the same page. Note that the representation of  FIG. 9  may allow for additional earlier in time links to be shown in the shortened breadcrumb path  202 . 
     Dropping Trailing Portion of Breadcrumb Trail 
       FIG. 10  shows an example of a web page to illustrate another aspect of an embodiment of the present invention in which the portion of the shortened breadcrumb trail that is located after a clicked link is dropped. As shown in  FIG. 10 , if the user clicks on a link within either the shortened breadcrumb path  202  or the full breadcrumb path  302 , all links that are subsequent to the link that was clicked (or otherwise selected) may be dropped (e.g., not displayed). For example, in the example of  FIG. 10 , the user has clicked on the Digital Cameras link in the shortened breadcrumb path  202 . The Digital Cameras link is a page that the user has previously viewed, meaning that there are additional, later in time, links present in the shortened breadcrumb path  202 . Rather than simply append the Digital Cameras link onto the end of the shortened breadcrumb path, that portion of the shortened breadcrumb path  202  that is after the clicked link may be omitted or culled from the shortened breadcrumb path, such as shown in  FIG. 11 . 
     Using the “Back” button on a web browser causes the previously displayed page to be retrieved from cache memory and displayed on the browser. The same occurs when the a document is called from the browser history list. However, the page referenced by the entry in the history list or the page stored in cache memory may have changed since it was last viewed. Therefore, it is possible stale data may be displayed should the user call a previously displayed page back to the display from either the history list or through use of the browser “Back” button. According to an embodiment of the present invention, when the user clicks or otherwise selects any of the links shown in  FIGS. 2-11 , it is determined whether the cached version (if such exists) of the requested page is the most current page. If the cached page is current, the page may be retrieved from the cache memory. If it is determined, however that the cached page is not current, the requested page is retrieved from the appropriate web page server, to insure that only current pages are displayed to the user. 
     Cross-Application Navigation 
     Embodiments of the present invention may be configured so as to provide a visual indicator within the full or shortened breadcrumb path when the user has switched or crossed applications. For example, such a visual indicator may include a double caret, such as “&gt;&gt;” or “&lt;&lt;”. For example, using “&gt;&gt;” to represent an application, an exemplary breadcrumb trail may be of the form: [last page visited for App. A]&gt;&gt;some page in App. B. In this manner, the [last Page visited for App. A] link represents the last page visited in application A before the user clicked on a link that caused a traversal to application B. The visual indicator (“&gt;&gt;” or “&lt;&lt;” in this example) may be provided with an attached label (activated by a mouse over, for example) to show the last page and/or the name of the application. Embodiments of the present invention may also be configured such that clicking on the double caret (or other symbol indicative of switching between applications) causes the links after that point to be dismissed. Moreover, the breadcrumb path may be abbreviated so as to show only the last page visited in each application. For example, instead of . . . [App. A page 1]&gt;[App. A page 2]&gt;[App. A page 3]&gt;&gt;[App. B page 1]&gt;[App. B page 2]&gt;&gt;[App. C page 1], the breadcrumb trail may be abbreviated as follows: . . . [App. A page 3]&gt;&gt;[App. B page 2]&gt;&gt;[App. C page 1]. Thereafter, clicking on the link following the double caret “&gt;&gt;” may dismiss all links that follow and may expand to show the links to the pages visited in the application before the double caret “&gt;&gt;”. For example, clicking on the link to application B in the example immediately above, the breadcrumb path may become: . . . [App. A page 3]&gt;&gt;[App. B page 1]&gt;[App B page 2]. Such an embodiment provides an intuitive and scalable backwards navigational experience, and is effective to show the path followed through the multiple applications of a business suite of applications, for example. 
       FIG. 12  illustrates a block diagram of a computer system  1200  upon which embodiments of the present inventions may be implemented. Computer system  1200  includes a bus  1201  or other communication mechanism for communicating information, and one or more processors  1202  coupled with bus  1201  for processing information. Computer system  1200  further comprises a random access memory (RAM) or other dynamic storage device  1204  (referred to as main memory), coupled to bus  1201  for storing information and instructions to be executed by processor(s)  1202 . Main memory  1204  also may be used for storing temporary variables or other intermediate information during execution of instructions by processor  1202 . Computer system  1200  also includes a read only memory (ROM) and/or other static storage device  1206  coupled to bus  1201  for storing static information and instructions for processor  1202 . A communication device  1208  may also be coupled to the bus  1201  for accessing a computer network. A data storage device  1207 , such as a magnetic disk or optical disk, is coupled to bus  1201  for storing information and instructions. The computer system  1200  may also be coupled via the bus  1201  to a display device  1221  for displaying information to a computer user. An alphanumeric input device  1222 , including alphanumeric and other keys, is typically coupled to bus  1201  for communicating information and command selections to processor(s)  1202 . Another type of user input device is cursor control  1223 , such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor  1202  and for controlling cursor movement on display  1221 . 
     Embodiments of the present invention are related to the use of computer system  1200  and/or to a plurality of such computer systems to enable methods and systems for representing breadcrumb paths, breadcrumb inline menus and hierarchical structures in a web environment. According to an embodiment of the present inventions, the methods and systems may be provided by one or more computer systems  1200  in response to processor(s)  1202  executing sequences of instructions contained in memory  1204 . Such instructions may be read into memory  1204  from another computer-readable medium, such as data storage device  1207 . Execution of the sequences of instructions contained in memory  1204  causes processor(s)  1202  to perform the steps and have the functionality described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the present invention. Thus, the present invention is not limited to any specific combination of hardware circuitry and software. 
     While the foregoing detailed description has described preferred embodiments of the present invention, it is to be understood that the above description is illustrative only and not limiting of the disclosed invention. Those of skill in this art will recognize other alternative embodiments and all such embodiments are deemed to fall within the scope of the present invention. For example, the panels described herein may be omitted or replaced with another visual device. Other modifications will occur to those of skill in this art. Thus, the present invention should be limited only by the claims as set forth below.