Abstract:
A browser add-on toolbar that offers users to collect toolbars from visited webpages that offer such toolbars and which, later, the user may select any one of the collected toolbars to become the current toolbar that the browser provides to the user. These abilities are imparted by having the toolbar be sensitive to one or more particular flags in visited pages. When a browser that contains this toolbar visits a website, the browser parses and searches the visited website page for presence of one or more of the particular flags, and when such a flag is found, the user is given a visual indication of the find and is given the choice to include within the browser&#39;s toolbar the ability to instantiate a toolbar based on information associated with the flag.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates to a system for use with the Internet and, more particularly relates to browser toolbars 
       BACKGROUND OF THE INVENTION 
       [0002]    Personal computers typically include one or more browser programs that enable a computer to interact with web sites that are accessible via the Internet. Current day browsers include software modules that are included with the browser initially, or added to the browser at a later time through an updating process that is initiated by the user but otherwise is automatic. Modules that are added to the browser are typically referred to as browser add-ons, and one category of browser add-ons is a toolbar. 
         [0003]    A toolbar is a software module that presents itself to a user as a block of onscreen buttons, icons and/or some other visual elements, such as text. Toolbars often include a text box that, when a button or icon is clicked, activates certain functions of the module and forwards the inserted text over the Internet. Some toolbars are defined by the programmer, and have set functions. Others allow the end user to modify and customize the toolbars to fit the user&#39;s personal needs. Typically, the toolbar provides one of more functionality that is not provided by the browser. The basic construction of a toolbar is well known in the art and is, therefore, not described herein. 
         [0004]    One such toolbar is disclosed in US Patent Application 2006/0179060. It describes a toolbar that is customized to include a set of functions and, more particularly, it describes a toolbar that is created by a hosting service to have functionalities that are made specific to the needs of different website owners, creating a relationship between the hosting service and many different website owners, and allowing the website owners to obtain the benefits of the toolbar, and any enhancement thereof, without needing to worry about toolbar designs. One of the benefits of the inventions disclosed in the aforementioned application is that a website owner needs to only specify the particularization, or customization, information to a browser in order for the browser to effectively have a toolbar that is customized to the website owner, including defining a specific look-and-feel as well as functionalities of the browser add-on toolbar. In other words, an instantiated version of the toolbar that had been created by the toolbar creator is fashioned. 
       SUMMARY OF THE INVENTION  
       [0005]    Another advance in the art is achieved with a browser toolbar that is webpage-flag sensitive (WFS toolbar, for short), and more particularly, adapted to accumulate toolbar variations following discovery of webpage flags. Illustratively, the toolbar is adapted to automatically detect and identify particular flags in visited websites, and pursuant to a directive from the user download toolbars instantiations that are represented by the detected flags. The downloaded information enables a user to later swap between the various downloaded toolbar instantiations; in effect morphing from one toolbar to a different toolbar. The automatic detection of the flags is accomplished by the toolbar parsing each visited webpages and searching the parsed information for presence of one or more of the particular flags to which the toolbar is sensitive. When such a flag is found, the user is given a visual indication of the find and is given the opportunity to include within the toolbar the ability to instantiate a toolbar based on information associated with the flag. 
         [0006]    In one illustrative embodiment, the flag is a domain name that is found in a list of domain names that is obtained by the toolbar, on a regular basis, from a dedicated server. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0007]      FIG. 1  presents a webpage presented by a browser that includes a toolbar in accord with the principles disclosed herein (WFS toolbar); and 
           [0008]      FIG. 2  presents a flowchart/timing diagram that depicts the actions of a user, a WFS toolbar, and a remote server in an illustrative example in accord with the principles disclosed herein. 
       
    
    
     DETAILED DESCRIPTION 
       [0009]      FIG. 1  presents a webpage  200  (with blank content to simplify the illustration) which is presented by a browser that includes a WFS toolbar  210  in accord with the principles disclosed herein. Broadly speaking, toolbar  210  is constructed with the capability to find specific flags in normally visited webpages, and the ability to obtain and install parameter information relative to the found flags, which information morphs the existing toolbar into a toolbar with potentially a different look-and-feel and different functionalities. 
         [0010]    When such flags are found, the toolbar offers the user that employs the associated browser the option to install parameters relative to the found information, and at any time thereafter the user may select any one of the collected parameter sets to become the current parameter set that effectively specifies the toolbar that the browser presents to the user. 
         [0011]    n the illustrative embodiment disclosed in detail herein, the specific flags are domain names (typically, a substring of a URL) that are found in visited webpages and are also found in a list possessed by the toolbar and which at times is updated. These domains are chosen by the party from whence the list originates (the server) and, illustratively, the URL is also where parameters that are needed for the offered toolbar. More particularly, the server has a number of different toolbars that are offered to customers. When the customer creates the customer&#39;s toolbar, the server offers the customer a list of domain names (each corresponding to a particular kind of toolbar) from which the customer chooses one that fits the customer&#39;s needs. When a domain name is chosen, the customer gets a unique URL (organizationally below, or subsumed by, the domain name). 
         [0012]    A skilled artisan would realize that the domain name flag is but one example, and that the kernel of the idea is the provision of an invitation to acquire a toolbar. This invitation is characterized by a flag, which advantageously is unique (though it doesn&#39;t have to be) and data that characterizes the particular toolbar, such as with the location where parameters for the toolbar can be found, or with the parameters themselves. Thus, the invitation comprises a flag and associated data which, at times, can be coalesced into the flag. The data may be an address of where the toolbar&#39;s specifying parameters are located, or information that leads to identifying such an address. Thus, illustratively, the invitation consist of: 
         [0013]    (a) A flag that is one of a list of flags supplied by the server, and
       (1) associated address-specifying data that is part of the flag,   (2) associated address-specifying data that is distinct from the flag,   (3) associated data that specifies the parameters themselves; or   (b) A flag that is a unique element (or a number of elements from a fixed list), and   (1) associated address-specifying data that is part of the flag,   (2) associated address-specifying data that is distinct from the flag,   (3) associated data that specifies the parameters themselves.       
 
         [0021]      FIG. 2  is a flowchart/timing diagram of embodiment (a) above, and it shows actions taken by user, a WFS toolbar, and a remote server. It starts with the user installing toolbar  210  into the user&#39;s browser at block  101 . After the toolbar is installed, it requests an updated list of flags from a pre-designated server, for example, domain names (block  102 ). The server responds (block  103 ) with the requested information, and that information is stored in the toolbar (block  104 ). This phase of operation effectively establishes the toolbar with a repository of flags which, if and when one of the flags in the list is found in a visited webpage, the toolbar can obtain related toolbar parameters, and that allows a user to later instantiate a toolbar in accord with the obtained parameters. 
         [0022]    To explain the need for the list in the disclosed embodiment, a server provides toolbar parameters for a group of website owners where each of them wishes to offer users a toolbar that is customized to them. It is basically a hosting service. The server provides a toolbar with a look-and-feel and functionalities that are controlled by a set of parameters, and this is the toolbar ( 210 ) that is downloaded to the user&#39;s browser. The list that the server maintains comprises the website owners (customers of the hosting service) that wish to offer users the ability to use the downloaded toolbar in a manner that is customized to them, and to that end the server maintains parameters associated with each of its customers. The list of customers is not very long, and transmitting that list to the toolbar obviates the need to communicate to the server each and every flag that toolbar  210  may find in visited webpages. In an embodiment where the flags are domain names, the list is even shorter. Therefore, in this illustrative embodiment, the toolbar is provided with a list that corresponds, effectively, to the hosting service customers; and advantageously this list consists of the domain names that the website owner customers will insert into their webpages. 
         [0023]    It is expected that the list of hosting service customers and/or the flags themselves will change from time to time and, therefore, pursuant to some preselected algorithm, for example, whenever the browser program is initially executed, or periodically (e.g., once a week), the toolbar re-executes the cycle of requesting a list of flags, the server responding with a list, and the toolbar storing the list (blocks  102 ,  103  and  104 ) to replace the previous list. In the embodiment where the flags are domain names, 
         [0024]    It may be noted that the number of domain names may be smaller than the number of hosting service customers. For example, domain name mediatoolbar.com may support a number of different URLs (for example, a.mediatoolbar.com, b.mediatoolbar.com, etc.) 
         [0025]    It is further expected that some time after installation, the user will cause the browser to access a webpage (block  105 ) that is offered by a website owner that is a customer of the hosting service, and that webpage might include one or several flags (in the present embodiment: domain names) that are found in the list obtained by the WFS toolbar. In accord with the principles disclosed herein, every time the browser receives a new webpage, the WFS toolbar parses the page (block  106 ) and ascertains whether the page includes any responsive flags. A responsive flag is a flag that is included in the aforementioned list, but is not a flag that correspond to a toolbar whose parameters had been previously downloaded to the toolbar. If a responsive flag is found, a visual indication is provided (block  108 ) to the user, such as a blinking star icon  212  in  FIG. 1  that is included in the WFS toolbar and which, when blinking, invites the user to click on the icon. 
         [0026]    It is still further expected that the user might indeed click on icon  212  (block  109 ) and, in response, the WFS toolbar presents a list (block  110 ) of whatever number of responsive flags that were detected (see list  213  in  FIG. 1 ). That list consists of information, such as a text label that names the toolbars associated with the found flags. This information is derived from the found in the webpage in association with the flags, or from what is already available to the WFS toolbar. In some embodiments, more than just the name of the toolbar is displayed. While some of the above is couched in terms of flags, in the plural, it is expected that a webpage will have at most one flag of the type detected by the WFS toolbar. In such a case, information about only the one found flag is displayed. 
         [0027]    The user may choose (block  111 ) to accept the effective invitation to add to the user&#39;s WFS toolbar instantiation capabilities (i.e., accept the offered toolbar), and this acceptance causes the WFS toolbar to request parameter information that pertains to the selected flag(s). In this disclosed embodiment, the request (block  112 ) is directed to the server. The server sends back the requested information (block  113 ) and the WFS toolbar installs the received toolbar parameters, and adds information about the newly installed parameters to its list of available toolbars (block  114 ) That is, the WFS toolbar installs the parameters, so that later they can be used to create a toolbar according to those parameters. 
         [0028]    Numerous different ways may be used to store and organize the information received from the server. Illustratively, each set of parameters is a multi-field line in a file, where one of the fields is a label that is used in forming the above-mentioned list and displaying of the available toolbars, and the other fields are the parameters that control the look-and-feel, and the functionalities of the toolbar. 
         [0029]    At a later time, the user might wish to morph the WFS toolbar from its then-present version to the version of a different toolbar. To execute on this wish, the user clicks on a preselected portion of the toolbar (block  115 ), for example on the down-arrow associated with the listbox within WFS toolbar  211 , and is given a labels listing of the available toolbars (block  116 ). When the user selects a toolbar (block  117 )—presumably one that is different from the present toolbar—the WFS toolbar changes its look-and-feel and/or its functionalities (block  118 ) according to the associated parameters that had been earlier send to the toolbar. It may be noted that when the user click to obtain a listing in the listbox, the option for the user to select one of the toolbars is but one of the choices. Other choices, such as removing a toolbar from the listing, changing the location of a toolbar in the list (more popular in higher place etc.) are some of the other choices. 
         [0030]    The above disclosed a specific embodiment of the principles disclosed herein, and outlined a number of alternative embodiments, but as explicitly stated, the recited list of alternative embodiments was not exhaustive, and a skilled artisan would realize that other embodiments are possible without departing from the spirit and scope of this invention. Moreover, embodiments that differ in other aspects are also possible. For example, it is possible for a website owner to wish to modify the toolbar that it presents to customers, and desire to provide this modified toolbar not only to new customers, but also customers who previously downloaded the parameters of the website owner&#39;s toolbar. This desire is fulfilled by the hosting server sending the update list as above, but modified to include a special “update” marker (and some remarks) associated with a flag that is being modified. Illustratively, when a WFS toolbar receives the update list and notes that one of the flags for which it had previously downloaded the parameter set has an associated marker, it alerts the user, for example, via element  212 . This alert may take place independently of the particular instantiation of the toolbar. Alternatively whenever the WFS toolbar receives an updated list, it compares the received list to the one in its memory, and similarly notifies the user for any changes. A user that notices the alert and requests the particulars is provided with the remarks that are included in the update list in association with that marker, and that allows the user to choose whether to have the new set of parameters downloaded, or not (in a manner not unlike steps  115 - 118 ).