Abstract:
URL or address associated with a user&#39;s home page is modified in such manner as to cause a web browser application to direct a request to a server that hosts a highlighting service, which service is invoked to display highlights on the version of the home page returned to the user. In one embodiment this is accomplished without requiring a user to download client-side application software. In another embodiment this is accomplished without requiring the user to register for the new service. In a third embodiment, the user has to neither download application software, nor register for the service.

Description:
RELATED APPLICATIONS 
     The present application claims the benefit of the filing date of U.S. Provisional Patent Application with Ser. No. 60/815,467, filed on Jun. 22, 2006. 
    
    
     FIELD 
     The present invention relates generally to an apparatus and method for enhancing a home page and other web pages viewed during a web browsing session. More particularly, the invention provides a simple and effective mechanism to manipulate a URL to automatically invoke enhanced functionality to work with a user&#39;s existing home page. 
     BACKGROUND 
     A wide variety of add-on software applications have been developed to provide a user with additional functionality during a web browsing session. For instance, one such application is the Alexa Toolbar developed and provided by Alexa Internet, Inc. The Alexa Toolbar is an add-on software application that works in conjunction with a web browser application to provide information, including traffic rankings, associated with the web page that a user is viewing. The traffic ranking for a particular web page is based, at least in part, on the number of other users who have viewed the particular web page. In this way, the Alexa Toolbar provides the user a function or service that works with and enhances web pages viewed in the user&#39;s web browser window. 
     The Alexa Toolbar is but one example of a number of add-on software applications that provide some additional functionality to a user during a web browsing session. One of the problems with such add-on software applications is they require the user to download and install client-side software. This is problematic for a variety of reasons. First, a user may choose not to install a new software application out of fear that it will be bundled with one or more unwanted, obtrusive and/or malicious applications, such as adware or malware. Second, many less sophisticated users simply lack the knowledge and confidence to download and install add-on applications. Finally, the user may not have the requisite system privileges to install new software applications. Consequently, a simpler and less obtrusive mechanism for providing enhanced functionality for a web browsing session is desirable. 
     SUMMARY 
     A method and apparatus for enhancing a home page (also called a “start page”) by modifying the URL or address associated with the home page are disclosed. Specifically, the URL or address associated with a user&#39;s home page is modified in such manner as to cause the web browser application to direct a request to a computing device that is enabling a service to enhance the functionality on the original home page. In accordance with one embodiment of the invention, a user interface object (e.g., a hyperlink, or graphical button) is provided. The user interface object is associated with a set of instructions such that, upon detecting a specific action on the user interface object by the user, a client computer executes the instructions, thereby causing the client computer to modify the URL for the home page of a web browser application. In another embodiment, the user is simply provided instructions on how to modify the address associated with his or her home page. In yet another embodiment, the address or URL is modified in a manner that is transparent to the user, for example, by executing a downloaded application, or directly from a server. In any case, upon invoking the modified home page address, the actual home page viewed is essentially the same as before, but the service is invoked to enhance the functionality on the existing home page. In one embodiment this is accomplished without requiring a user to download client-side application software. In another embodiment this is accomplished without requiring the user to register for the new service. In a third embodiment, the user has to neither download application software, nor register for the new service. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an implementation of the invention and, together with the description, serve to explain the advantages and principles of the invention. In the drawings, 
         FIGS. 1 and 2  illustrate examples a user interface object in the form of a graphical button, according to an embodiment of the invention; 
         FIGS. 3 through 7  illustrate various examples of an address, or URL, that has been modified to invoke a service, according to one or more embodiments of the invention; and 
         FIG. 8  illustrates an example of a network environment in which a highlighting service is provided via a server, according to an embodiment of the invention; 
         FIG. 9  illustrates an example of a network environment in which a highlighting service is provided via a local device, according to an embodiment of the invention; and 
         FIG. 10  illustrates an example of a user&#39;s home page that has been invoked with a modified address to operate with a highlighting service, according to an embodiment of the invention. 
     
    
    
     DETAILED DESCRIPTION 
     Reference will now be made in detail to an implementation consistent with the present invention as illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings and the following description to refer to the same or like parts. Although discussed with reference to these illustrations, the present invention is not limited to the implementations illustrated therein. Hence, the reader should regard these illustrations merely as examples of embodiments of the present invention, the full scope of which is measured only in terms of the claims following this description. 
     As used herein, the term “URL” is an identifying mechanism associated with an internet document or web page. As such, URL is interchangeable with address, document address, or web page address. Furthermore, a home page address, which is often referred to as a start page address, is simply a default address used by a web browser application when a web browsing session is first initiated. 
     Consistent with an embodiment of the invention, a method and apparatus for enabling a service to provide a user with additional functionality during a web browsing session are disclosed. The enhanced functionality is enabled by modifying the URL corresponding to a user&#39;s home page address. For example, instructions may be provided, or a user interface object may be provided such that, when a user follows the instructions or operates (e.g., selects or interacts with) the user interface object, it causes the URL corresponding to the user&#39;s home page address to be modified. The resulting modified URL, when invoked by the web browser, causes a service to be enabled that operates with the user&#39;s existing home page, and other web pages viewed during the user&#39;s web browsing session. Accordingly, the service provides the user with additional functionality, without permanently installing any additional software components. Furthermore, in one embodiment, the service is configurable on a per user basis. The per user configuration, may or may not require the user to provide any personal information or the establishment of a service account. 
     In the description that follows, the invention is described in the context of a highlighting service. However, aspects of the invention are applicable in a wide variety of alternate applications and contexts. Accordingly, the examples provided herein are not meant to be limiting, but instead, are provided to assist the reader in understanding the principles of the invention in a particular context. 
     In one embodiment of the invention, the address corresponding with the user&#39;s home page is changed automatically, for example, by interacting with a user interface object. The user interface object may be a graphical button or a hyperlink on a web page. As such, the user interface object may be served (e.g., as part of a web page) by a web server associated with the service, or by a third party web server. Alternatively, the user interface object may be a button that is displayed in a portion (e.g., a toolbar or tool panel) of a user&#39;s web browser application. In any case, interaction with the user interface object causes the URL or address of the user&#39;s home page to be modified. 
       FIG. 1  illustrates an example of a user interface object in the form of a graphical button  12 , according to an embodiment of the invention. As illustrated in  FIG. 1 , in one embodiment of the invention, a user may be prompted to provide the home page address or URL of his or her existing home page. In the example illustrated in  FIG. 1 , a user is prompted to enter the URL of his or her home page in form  10 , and then select the “SUBMIT” button  12  (e.g., by clicking a pointing device button, or hitting the &lt;Enter&gt; key on his or her keyboard). When the user selects or “presses” the “SUBMIT” button  12 , the web browser application processes the user event and modifies the address of the user&#39;s existing home page. In one embodiment, the modification of the address is transparent to the user. In an alternative embodiment, a downloaded application may analyze the user&#39;s home page address and modify the address. In any case, the modification of the address invokes a service providing enhanced functionality to the user. 
       FIG. 2  is similar to  FIG. 1 , however, the particular format of the address  14  entered by the user is different. For example, as illustrated in  FIG. 2 , a user has entered the address  14  of his or her home page along with the protocol (e.g., hypertext transfer protocol (HTTP)) used to access the home page. In this example, the user has entered the address: “http://www.news.com” instead of “www.news.com”. In one embodiment, various address formats and protocols are supported by the invention. Accordingly, a user-entered address may be analyzed to determine its format and appropriate action taken based upon the format. 
     In  FIGS. 1 and 2 , a user is prompted to enter the address of his or her existing or desired home page. Alternatively, the user interface object, when selected, may automatically determine the address of the user&#39;s existing home page. Accordingly, in one embodiment of the invention, the address of the user&#39;s existing home page may be modified without the user having to enter it. 
     In addition, or alternatively, a user may manually modify the URL or address of his or her home page according to instructions provided to the user. For instance, in one embodiment of the invention, a web page, text box, or some other means of providing instructions, may direct the user to modify the address corresponding to the user&#39;s home page in a manner described in greater detail below. Accordingly, a user may be instructed to manually type the modified address in an address box of the web browser. Similarly, a user may change the web browser&#39;s home page configuration setting manually, so that every time the web browser application is executed, the modified address is used as the default home page for the user. 
       FIG. 3  illustrates an example of an address  16  that has been modified to enable a service, according to an embodiment of the invention. In  FIG. 3 , the modified address  16  includes two portions—a first portion representing a string associated with a service  18 , and a second portion representing the address of the user&#39;s existing home page  20 . In this example, the first portion, “http://service.com”, represents the address of a server or other computing device that is enabling the service. As described in greater detail below, the service may be hosted locally, or by a remote server or computing device. When the modified address is invoked by the web browser application, a request is directed to a computing device with hostname, “service.com”. The computing device analyzes the modified address, extracts the second portion representing the URL of the user&#39;s home page (which may be encoded), and then directs a request to the server hosting the user&#39;s home page. In turn, the server hosting the user&#39;s home page forwards some or all of the elements comprising the home page to either the requesting computing device—in this case the computing device hosting the service, or back to the web browser application directly; or some combination of the two. Accordingly, the computing device hosting the service is able to manipulate the user&#39;s existing home page, if necessary, prior to sending it on to the user. For example, the computing device may alter or modify elements (e.g., text, pictures, graphics, fonts, background) of the user&#39;s home page before forwarding it on to the user&#39;s web browser application. 
       FIG. 4  illustrates another example of an address  22  that has been modified to enable a service, according to an embodiment of the invention. Similar to the modified address  18  of  FIG. 3 , the modified address of  FIG. 4  includes two portions. In this example, however, the first portion is: “http://localhost”. In one embodiment of the invention, the service that enhances the functionality of the user&#39;s home page is hosted locally, and may be invoked by directing a request to the local device. In this case, the address of the local device is associated with the hostname “localhost”, such that a request directed to “localhost” will be processed by the local device. 
       FIG. 5  illustrates yet another example of an address  28  that has been modified to enable a service according to an embodiment of the invention. In this example, the hostname  30  of the computing device providing the service (e.g., service.com) has been appended to the end of the user&#39;s home page address  32  (e.g., www.news.com). Accordingly, a request directed to the modified address (e.g., www.news.com.service.com) will be processed by the computing device associated with the hostname service.com. 
     The examples of the modified URLs shown in  FIGS. 3 through 5  are relatively simple. However, more complex URL formats are consistent with various embodiments of the present invention. In an alternative embodiment, the URL address format could be made up of more or less than two portions. For example,  FIG. 6  illustrates a complex address  34  that has been modified to invoke a service, according to an embodiment of the invention. Similar to  FIGS. 3 ,  4  and  5 , the modified address  34  illustrated in  FIG. 6  includes two portions—an address  36  associated with a service (e.g., “http://service.com/newsservice/index.php”), and an address  38  associated with a user&#39;s home page (e.g., “www.news.google.com?foo=bar”). As illustrated in  FIG. 6 , the address  36  of the service also includes a path  40  and filename  42  portion. Depending upon the particular embodiment, the path  40  and filename  42  portions of the modified address  36  may be optional. Similarly, in  FIG. 6 , the home page address portion  40  of the modified address  36  includes a query  44  portion. The query  44  portion of the modified address  36  may be optionally supported, depending on the particular embodiment of the invention. Accordingly, the invention supports and works with a wide variety of URL formats, and in general is independent of any particular address or URL format. Furthermore, the particular host names and addresses (e.g., “service.com”, “localhost”) used in  FIGS. 3 through 6  are provided only as examples. 
       FIG. 8  illustrates an example of a network environment in which a highlighting service is provided via a server  50 , according to an embodiment of the invention. In  FIG. 8 , the particular service provided by the server is a highlighting service, and accordingly, the server is referred to as a highlighter server  50  and has hostname, myliter.com. A highlighting service is a web annotation service that enables a user to highlight portions of a web page in much the same way that a user might make yellow highlights in a textbook. The highlighting server captures the highlights that a user makes to a web page, and then displays the highlights to the user when the user visits the same web page during subsequent web browsing sessions. The highlighting service enables a user to make notes on, and about a web page, or portions thereof. The service lets users categorize content and take a variety of associated actions in order to collaborate with other users, and, to effectively retrieve from in the future. Furthermore, the highlighting service may optionally enable a user to share highlights with other users. For example, a user may be able to see the highlights made by other users. 
     As illustrated in  FIG. 8 , the highlighter server  50  is communicatively coupled by means of a network  52  (e.g., the Internet) to several content provider servers  54 - a ,  54 - b , and  54 - c . In addition, the highlighter server  54  is communicatively coupled by means of the network  52  to a user&#39;s client computer  56 . It will be appreciated by those skilled in the art that the computing environment illustrated in  FIG. 8  is but one example, and a wide variety of computer and network configurations might be used without departing from the spirit of the invention. 
     Once a home page address has been modified, invoking the modified address causes the web browser application to direct a request to the highlighter server  50 . For instance, in the example illustrated in  FIG. 8 , the user&#39;s web browser application directs a request to the highlighter server  50  at modified address, “HTTP://myliter.com/HTTP://www.news.com”. The first portion of the modified URL causes the request to be serviced by the highlighter server  50  with host name “myliter.com”. The highlighter server  50  analyzes the modified address, and extracts the second portion representing the address of the user&#39;s home page, “www.news.com”. 
     Next, the highlighter server  50  forwards a request to the content provider  54 - a  hosting the user&#39;s existing home page. In turn, the content provider  54 - a  sends the data representing the user&#39;s home page back to a combination of the highlighter server  50 , and the user&#39;s web browser application directly. The highlighter server  50  processes the data, and then forwards it to the user&#39;s web browser application, where the home page is ultimately displayed. In one embodiment of the invention, when processing the data, the highlighter server  50  modifies content included in the user&#39;s home page, including but not limited to: background colors, font styles, hyperlinks, paths to other objects such as images, video, and so on. Some objects may simply be passed from the highlighter server  50  to the web browser application without being modified. Consequently, when rendering the web page, the web browser application can directly request such objects from their source. 
       FIG. 9  illustrates an example of a network environment in which a highlighting service is provided via a local device  60 , according to an embodiment of the invention. As illustrated in  FIG. 9 , a user of computing device  60  invokes a service to provide additional functionality with his or her home page by directing a request to the modified address, “http://localhost/www.news.com”. In this case, the request will be serviced locally, for example, by an application executing on the local computing device  60 . If the particular service is a highlighting service, for example, a highlighting application executing on the local device  60  will process the request directed to “http://localhost/www.news.com”. To invoke the highlighting service, a user may manually enter a URL or have it automatically modified, as described above in connection with  FIGS. 1  and/or  2 . Once invoked, the locally executing highlighting application operates in much the same way as the highlighter server  50  described in connection with  FIG. 8   
       FIG. 10  illustrates an example of a user&#39;s home page that has been invoked with a modified address to operate with a highlighting service, according to an embodiment of the invention. As illustrated in  FIG. 10 , the modified address conforms in format to the one illustrated in  FIG. 8 . In this example, the web page shows two user-generated highlights  70  and  72 , which have been added by a highlighter server. 
     The foregoing description of various implementations of the invention has been presented for purposes of illustration and description. It is not exhaustive and does not limit the invention to the precise form or forms disclosed. Furthermore, it will be appreciated by those skilled in the art that the present invention may find practical application in a variety of alternative contexts that have not explicitly been addressed herein. In particular, the present invention might be implemented to work in contexts other than a highlighting service. Finally, the illustrative processing steps performed by a computer-implemented program (e.g., instructions) may be executed simultaneously, or in a different order than described above, and additional processing steps may be incorporated. The invention may be implemented in hardware, software, or a combination thereof. When implemented partly in software, the invention may be embodied as a set of instructions stored on a computer-readable medium. The scope of the invention is defined by the claims and their equivalents.