Ephemeral list for object-action navigation6931416Abstract An Ephemeral List navigation panel provided in conjunction with an Object-Action navigation tool which is a temporary "parking space" for objects encountered within other portions or modules of the Object-Action navigation tool. The panel represents a history, preferably in the form of a push-down stack, of products and/or objects encountered by the user. Items and objects within the panel are selectable by the user, and may be acted upon as indicated by the user such as adding, deleting, filtering and sorting them. The panel may be populated directly or indirectly by other processes associated with the Object-Action navigation tool, and the panel may cause actions within the other processes directly or indirectly responsive to user actions on the panel. Claims 1. A method for providing an ephemeral list navigation tool comprising the steps of: Description CROSS-REFERENCE TO RELATED APPLICATIONS (CLAIMING BENEFIT UNDER 35 U.S.C. 120)
In this process, the user has entered the company's name or ticker symbol at least four times, probably many more, which represents unnecessary repetition of tasks by the user and accounts for considerable time during a normal working day. Under the OAN paradigm of the present invention, the user must simply:
In another aspect of the related invention, a general search on keywords related to the "objects" available to the user is continuously or periodically executed, and the results of this "broader" search are presented in a less conspicuous manner to allow the user to get more information if desired. Turning to FIG. 2, the arrangement of systems of the preferred embodiment of the related invention is shown. The user (10) uses a PC with a web browser (11), which allows the user to access the invention through a well-known environment. The web browser client software proctors direct communications between client-side information modules and their various information sources (100), such as web servers for datafeeds and databases, supplying conforming search parameters for each source according to the user's selections in the Context Pane. However, according to the preferred embodiment, a single Context selection is sent to a single "Gatekeeper" (20) server process which handles the various transactions and aggregates the returned information (with appropriate timeouts), and which returns the contents for the various information modules in one or more transactions to the web browser (11). The Gatekeeper (20), then, directly polls and searches the set of information resources (100) according to a user profile and user entitlement registry (21). The user profile indicates which sources of information are of interest to the user (e.g. the "objects" of interest), and an user entitlement indicates which "actions" the user is allowed to perform on those objects based upon his or her service subscription terms. A set of action modules (22) is also available to the gatekeeper (20). For our example of information management for a financial instrument trader, the action modules may include modules to:
A particular trader may or may not be entitled to use all of these action modules, depending on his or her entitlement registry. Upon initialization, the gatekeeper (20) accesses a user's profile and entitlement registry, loads the action modules to which the user is entitled, and obtains an initial data set from all of the information sources of interest to the user. This initial set of information may then be processed according to the loaded action modules, such as generating up-to-date historical chart. Next, the gatekeeper prepares a web page containing this initial information, and transmits the page to the user's web browser (11) JavaScripts. As the gatekeeper prepares all of it's results and information in a common format such as Hyper Text Markup Language (HTML), the user's ?C does not need to be equipped with any special software other than a common web browser software package that supports the use of Javascript macros. No applets or local application software are required, apart from the web browser. Turning to FIG. 3, an example initial web page is shown for a trader's user interface, shown on a portion (30) of the user's PC display. The page is divided into two "panes", a Context Pane (32) and a Content Pane (33). The Context Pane (32) contains an expandable and collapsible list of "objects" of interest according to the user's profile. In our trader example, the list of objects may include company names, products, financial instruments, etc. The Context Pane (33) contains a number of workspaces within which the results (37a, b, c, e, f) of several action modules are shown. According to the preferred embodiment, multiple workspaces may be organized and managed by the user by presenting a set of virtual folder tabs upon which each tab has a workspace title or name, such as "Market", "Quotes", "Tools & Analytics", "Research" and "Contact" in this example. Each action module (or "query servlet") display "frame" (37), or "tool frame", preferably includes a set of icons which allows the display to be minimized, maximized, and contextual help to be invoked, such as the icons in the upper right corners of the action module displays (37) as shown. Further, up/down and right/left scrolling icons may be provided, as well. So, the actions modules or "tools" the user may use are represented in a workspace in the Content Pane (33). At a glance, the user can see a useful portion of the information relevant to the objects of interest in several tools at one time. The user may expand or maximize a frame for a particular tool, as desired, and minimize others, in order to manage the display space effectively through the system's use. Each icon selection (such as a maximize icon) or object and action selection causes an associated JavaScript macro to execute on the web browser, which may transmit a request and associated parameters as needed to the Gatekeeper system. The Gatekeeper system receives the request and parameter, performs the associated processing (e.g. search or information retrieval), and returns the results to the JavaScript in the form of HTML content. The client-side JavaScript then updates the appropriate portions, panes, frames and/or workspaces within the user interface in the web browser. The Content Pane (33) also preferably includes a banner or logo area (31) which allows the providing company to show its name and logo to the user. Further, the automatic display of the information (e.g. action module frames) in the Content Pane (33) is filtered and sorted according to the user's interest level in an object. For example, if a user clicked on "IBM" in the object list of the Context Pane, the results of the news headline information module would be sorted to place those headlines specifically about IBM at the top or head of the results list, and other headlines regarding related subjects such as computer and technology equities would be placed towards the end of the results list. In addition, the "Quotes" transactional information module (which may exist on another workspace tab) may be pre-populated with all the quote information about "IBM". According to the user's profile, the filter/sort process on the Gatekeeper can determine which action modules to load, which objects to place in the Context Pane, and how to initially display the action module frames in the Content Pane. The profile can also record the user's deletions of tools, relocation of tools (within a workspace or from one workspace to another), sizing of action module frames in the Content Pane, as well as reorganization of the objects in the Context Pane. This allows users who rely on the system intimately and intensively to tailor the user interface and display space allocation to his or her best advantage. Turning our attention to the Context Pane of the related invention, it preferably contains a GeoMap (30), an Object List and an Object Finder. The purpose and use of the Context Pane is to allow the user to examine objects (e.g. companies, financial instruments, geographies, markets, etc.) and, by expressing interest (e.g. selecting) in an object, causing the contents of the action module frames in the Context Pane to be populated or refreshed in information and process results. The user is provided with editing capabilities to add or delete objects from the object list, which results in the user's profile on the Gatekeeper being updated accordingly. Similarly, the user is provided controls to categorize or group objects, such as creating a group "Bonds" and placing a number of bond objects within this group. Groups or categories can be expanded or collapsed using icons, such as the right arrow head icon to the left of the group headings "Bonds", "Equities", and "Foreign Exchange" in FIG. 3. When objects or category headers are selected in the Context Pane, the associated web browser JavaScript macro is executed. If the requested information is already available in the appropriate tool frame in the Content Pane, then the JavaScript macro will simply highlight the information, bring it to the top of the layers and workspaces in the display, and filter/sort it if necessary. If the information is not currently available locally to the web browser, the JavaScript may contact the Gatekeeper to obtain the information, which after its receipt, will be formatted and displayed in the relevant tool frame(s). This process of updating only the affected tool frames avoids the need to completely reload the web page in the web browser, which results in an undesirable blanking of the browser display during reload. Further according to the preferred embodiment of the related invention, the user may use a "control" or "alt" key and click on several objects to select more than one object. This may cause a JavaScript macro to be executed with multiple criteria or parameters, such as a multiple-parameter search or filter. In response to receiving a request for information from a client-side JavaScript macro, the Gatekeeper also executes or runs each loaded action module such that the Content Pane may be populated with relevant information regarding the selected object. While action modules are executing and processing, their respective action module frames in the Content Pane may simply say "Loading . . . " or display an hourglass icon (or similar wait-while-processing icon). When the results are posted to the action module frame, if their length exceeds the display area of the frame, an ellipsis (". . . ") may be shown to indicate there is more information to be viewed by maximizing the frame or scrolling the frame. Turning to FIG. 4, an example of a pop-up display (40) is shown which is provided in response to the user selecting (e.g. clicking on) an item within an action module frame, such as the buy recommendation in action module frame (37e) of this example. Further according to the preferred embodiment of the related invention, the selected information can be maximized (50) to consume the full area of the Content Pane, as shown in FIG. 5. Turning to FIG. 6, the object list in the Context Pane (32) can be manipulated and managed by the user by expanding and collapsing each category header so that only the currently interesting objects are listed. For example, during a particular trading session in which equities are active and the foreign exchange markets are volatile, the user may expand the equities object group and the foreign exchange object group to show all the objects within those groups. As shown in FIG. 7, the related invention also provides a "roll-over" action which, when the user moves a pointer over an object in the Context pane, causes a long-quote pop-up (70) to be thrown across the screen. Again, under this paradigm, the roll-over event is detected by a client-side JavaScript, which then displays the long-quote pop-up on top of the two panes. And, if necessary, the JavaScript may contact the Gatekeeper to get details for the pop-up display. Turning to FIG. 8, the process of selecting an action to perform on an object is illustrated. The action icons, shown here as the right-facing arrow head icon to the right of objects in the object list of the Context Pane (32), can be selected by the user, which causes a pop-up action list (80) of available actions or tools for that object. The user can then select an action to perform on the object, which causes the action module to be executed by the Gatekeeper and the appropriate action module frame to be updated or repopulated with information in the Content Pane (33). According to the preferred embodiment, the action list may be cascading (81), as well, which allows grouping and categorization of related actions. Further according to the preferred embodiment, an object finder (36) is provided for the user to search for objects based upon keywords, which may then be added to the object list if desired. Also according to the preferred embodiment, a GeoMap (30) is displayed somewhere on the web page, which represents a map of the globe with an indication of night and day across the map. In addition, information about various geographic areas could be displayed, such as which markets are currently open and time-till-opening-bell indicators. The GeoMap is responsive to user clicks within the map over certain regions, which allows the user to indicate geographic filter criteria to be applied during the filter and sort actions. For example, a user may select the Asia continent in order to filter and sort the bond information displayed in the action module frames. The logical process of the related invention includes cooperative actions between the Gatekeeper and the set of JavaScripts running on the client's browser. First, the Gatekeeper system initializes for a particular user by retrieving the user's profile and entitlement, and the web browser initializes. The action modules to which the user is entitled are then loaded and executed, which causes an initial data and information set to be retrieved from the networked information sources. Then, according to the user's profile, an initial web page is generated combining the initial data set and information into the aforementioned two-pane display, including an object list and one or more action module frames in one or more workspaces having an overall layout definition. The information is preferably filtered and sorted according to the user's indicated interests, as previously described. The initial web page is transmitted to the user's web browser, where it is received and displayed by the JavaScripts on the user's PC display in the appropriate panes, frames and workspaces in the web browser window. Until the user selects a link (e.g. an icon, object, workspace tab, GeoMap region, item in a action module frame, etc.) in the web browser display, both the Gatekeeper and the client-side JavaScripts wait. When the user selects an icon or link in either of the panes, the associated JavaScript macro is executed. In some cases, such as selection of a "maximize display" icon, this may only result in the JavaScript expanding the relevant tool frame to display all information available. In other cases, the user's selection may require additional information from the Gatekeeper, such as selection of a "Get Current Quote" action on an object, which will result in the associated JavaScript requesting a new quote from the Gatekeeper. If a request for processing is sent to the Gatekeeper, the appropriate action module is executed with retrieval or access of any necessary information, and the results are transmitted back to the requesting JavaScript. Next, the associated pane, list, and/or tool frame on the web browser display is/are reformatted or updated by the JavaScript to include the up-to-date data or other Gatekeeper results, with any necessary filtering and sorting being done. Then, the Gatekeeper and the web browser JavaScript macros again wait for another user selection of an icon or list item in the displayed web page. Now we turn our attention to the ephemeral list panel (500), which is provided within the OAN user interface as shown in FIGS. 9 and 10. According to the preferred embodiment, the ephemeral list panel ("ELP") (500) is located (at least initially) towards the bottom of the Context Pane (32). However, as the Ephemeral list is actually another information module, it can be relocated by the user as desired. The top of the ELP may contain a small title, help, and edit and/or clear icons, as well. Turning to FIG. 10, an illustration of user interface appearance when performing an action on an object in the ELP is given. The action icons, shown here as the right-facing arrow head icon to the right of objects in the object list of the Context Pane (32), can be selected by the user, which causes a pop-up action list (580) of available actions or tools for that object. The user can then select an action to perform on the object, which causes the action module to be executed by the Gatekeeper and the appropriate action module frame to be updated or repopulated with information in the Content Pane (33). According to the preferred embodiment, the action list may be cascading (581), as well, which allows grouping and categorization of related actions. The ephemeral list panel (500) is a temporary "parking space" for objects encountered while browsing information displayed in the information modules on a website. It also represents a history, preferably in the form of a push-down stack, of products/objects which have been "encountered", viewed or processed. The ephemeral list is the primary mechanism for communication between semi-independent information modules and the contextual search/navigation components of an advanced web site. According to the preferred embodiment, keyword-type metatags hidden in the headers of files sent to independent information modules can contain a list of all the objects covered in the article or page. The ELP module, then, can automatically extract these keywords from the article or web page and add appropriate objects to the ELP display when it is opened or viewed by the user. A common taxonomy of object references (ID's) and, optionally, plain text titles is preferably provided between the varied module information sources and the Gatekeeper. In some industries, this is already in place, such as Bloomberg's coding system for stock and financial instruments. The author or online publisher of an article or page source, such as HTML, for the information modules (Gatekeeper, or varied information source) would be aware of a limited number of simple conventions for coding selection links within the content. For example, a transactional information module may allow a user to search for bonds with certain maturity dates. To do so, the following process may be followed:
According to the preferred embodiment, the application programming interface ("API") of the Ephemeral List is "evolutionary", such that raw HTML content can be received by the module initially without any "knowledge" of the API and no intercommunication capability. In a more advanced embodiment, the Gatekeeper process would be modified to use simple search procedures to "screen-scrape" the web page code from the independent source and add the metatags to afford the first level of intercommunication between the semi-independent modules and the ELP module. Standard HTML links in the independent HTML content could also be examined to produce listings of apparent objects to append to the content for user selection. Standard HTML links could also be re-formatted to re-vector the transaction through the Gatekeeper so it can append the appropriate context/filter/search arguments (based on a knowledge base of how different websites format query arguments in URL's) before passing the URL on to the independent information source. For example, a semi-independent information module may have a simple list of links to the top 10 search engines, and the user has filtered the aggregated display with the term/object "Photography". The Gatekeeper, then, may reformat the link to a particular search engine, perhaps "BigSearch.com" from the normal address "http://bigsearch.com" to a qualified address, such as "http://bigsearch.com/bin/search?p=photography". Turning to FIG. 11, the intercommunications of the ELP module, the Gatekeeper, and the semi-independent information modules is shown. The GateKeeper (20) to Information Module (22) communications (604) remain unchanged from the embodiment of the invention described in the related patent application, namely web page code such as HTML. Further, the Information Modules (22) are unchanged in functionality, and more specifically, they each are responsible for updating their relative module frames (37a-37b) as they re-process information and receive additional information from the GateKeeper under user control. An ELP module (600) is added to the system design, which preferably runs on the client computer and is another JavaScript. It interfaces (600) to the GateKeeper also through common web code portions, such as HTML or the web code as previously described having special meta-tags inserted into it. This allows the information modules and the ELP to remain independent from each other, though their actions are coordinated through the GateKeeper. Turning to FIG. 12, the logical process of the invention is shown in more detail, which is partitioned between client-side modules and the GateKeeper program. Upon initialization (1200), the GateKeeper accesses the user registry to determine which information modules are to be loaded on the client, retrieves up-to-date information from the various sources (100), and forwards that information to the information modules to be placed in the initial displays of the module frames (1207) in the various workspaces of the Content Frame. Additionally, the GateKeeper transmits to the ELP module the list of objects as they were configured during the last use of the ELP, which is displayed in the initial state of the ELP (1204). Then, all the client-side modules wait (1205 and 1208) for a user action. When the user takes action in the ELP (1211), such as selecting a listed object to get an updated set of information, the action is communicated to the GateKeeper, which then retrieves (1202) the needed information and forwards that to the relevant module(s) so that the module frames may be updated (1209) accordingly. If appropriate, the ELP module may update the ELP display, as well, such as when the user "adds" or "deletes" an object from the ELP. Then, all the modules return to their wait states (1208 and 1205). Likewise, when the user takes action in the Context or Content panes (1210), the modules communicate this action to the GateKeeper, which may then retrieve new information as needed (1203), and forward any new information to the information module(s) so that the module frames can be updated (1209), as well as forward information to the ELP module so that the ELP display can be updated (1206). For example, a user may right-click on a listed item in an information module frame in the Content Pane, and then select the action "Add to Ephemeral List". This action would cause the information module (e.g. JavaScript) responsible for that module frame to send this command to the GateKeeper, followed by the GateKeeper providing the ELP module with the additional HTML to be shown in the ELP display for that added item. Additionally, as the user adds, deletes and otherwise sorts or filters items in any of the information module frames and the ELP display, the GateKeeper can keep track of the state changes so that they can be restored to that state upon initialization (if browsing were immediately terminated following such a change). Then, all the modules return to their wait states (1208 and 1205). While certain details of a preferred embodiment have been disclosed, and certain examples have been given to illustrate the invention in a more understandable manner, it will be recognized by those skilled in the art that the spirit and scope of the present invention is not limited to these examples and embodiment details. The invention may be employed for a wide range of information gathering and user interface applications beyond those related to stock and financial market trading, and alternate programming methodologies and user interface techniques may be employed without departing from the spirit and scope of the invention. Therefore, the scope of the present invention should be determined by the following claims.
|
Same subclass Same class Consider this |
||||||||||
