# Patent

## Title
Enhanced favorites service for web browsers and web applications

## Abstract

The invention provides enhancements for the use of favorites during a Web browsing session. A first enhancement identifies when a user is adding a favorite to his favorites list and auto-suggests a category under which the favorite could be stored. A second enhancement allows a user to review his favorites list and see a summary of feed content (RSS or other standard) on each feed enabled page on his favorites list, without requiring the user to link to the page in question. A third enhancement allows the user to view an manipulate the feed in an independent display window.

## Background
CROSS REFERENCE TO RELATED APPLICATION
This application is a continuation-in-part of U.S. patent application Ser. No. 11/197,681 filed on Aug. 3, 2005 now U.S. Pat. No. 8,739,020, the entirety of which is incorporated herein by this reference thereto.


BACKGROUND OF THE INVENTION
1. Technical Field
The invention relates to management and viewing of “favorites” or “bookmarks”. More particularly, the invention relates to an enhanced favorites service built in to a Web browser as well as available from a web site, accessible from any web browser.
2. Description of the Prior Art
Web browsing has evolved into a sophisticated information management process. Web browsing sessions produce much information that the user may wish to access at a later time. Currently, users save Web pages of interest as “favorites”. Each favorite is manually cached by the user in one of several subject matter relevant folders. This process is both inefficient and inexact. The user must make a decision based on imperfect information, i.e. the user may not have fully reviewed the content of the page that is being added to his favorites list, and thus places the page in the wrong category. The later retrieval of such favorite information may be hampered by such wrong categorization.
Further, many such favorites have feeds (conforming to RSS or other standards) associated with them. RSS (Really Simple Syndication) is a format for syndicating news and the content of news-like sites, including major news sites such as Wired, CNN and ESPN news-oriented community sites such as Slashdot, and personal web logs. Once information about each item is in RSS format, an RSS-aware program can check the feed for changes and react to the changes in an appropriate way (see http://www.xml.com/pub/a/2002/12/18/dive-into-xml.html). Currently, Web pages having associated RSS feeds provide a list of RSS items when the page is linked-to. Modern browsers, such as FIREFOX (MOZILLA CORP., MOUNTAIN VIEW Calif.) OR INTERNET EXPLORER (MICROSOFT CORP., REDMON Wash.) provide an icon that indicates that such pages contain RSS content. Such browsers also indicate the presence of new RSS content in a favorites list with an indicator, such as an icon or numeric indication. Unfortunately, there is no way for a user to review a favorites list and determine if any of the information on the linked page is of interest, except to follow the link to the page in question and review the information at the page itself. Because much of the RSS information is duplicated over many Websites, a user invariably wastes time reviewing information he has already seen.
SUMMARY OF THE INVENTION
The invention provides a series of enhancements for the use of favorites during a Web browsing session. A first enhancement identifies when a user is adding a favorite to his favorites list and auto-suggests a folder under which the favorite could be stored. A second enhancement allows a user to review his favorites list and see a summary of feed content (RSS or other feed format) automatically displayed in-line with each feed enabled web site in his favorites list, without requiring him to explicitly to link to the feed URL in question. A third enhancement allows the user to tear off a feed listing from the favorites menu and view it in a separate, persistent display window that has its own characteristics distinct from the browser application Accordingly, the invention provides a mechanism that allows a user to review RSS content without having to link to the page which provides such content. The invention also provides the user the capability of accessing a feed listing from the user's favorites list and viewing the feed listing in a display window separate from the browser. The invention also provides an automatic and consistent approach to organizing favorites.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a screen shot showing RSS integration in a collapsed view;
FIG. 2 is a screen shot showing RSS integration in an expanded view;
FIG. 3 is a screen shot showing an RSS hover state;
FIG. 4 is a screen shot of a favorites menu having an integrated RSS feed in a collapsed view according to the invention;
FIG. 5 is a screen shot of a favorites menu having an integrated RSS listing in an expanded view;
FIG. 6 is a screen shot of a favorites menu with a headline from an integrated RSS feed highlighted;
FIG. 7 is a screen shot of a window activated by selecting a headline, as in FIG. 6;
FIG. 8 is a screen shot showing an RSS listing torn off from the favorites menu as a separate window;
FIG. 9 is a screen shot showing the RSS listing from a favorites menu displayed as a single line ticker that exists in a persistent state on top of other applications;
FIG. 10 shows an “add favorite” form;
FIG. 11 is a screen shot showing folder suggestions;
FIG. 12 is a screen shot showing a folder pull-down menu; and
FIG. 13 is a block schematic diagram showing a preferred enhanced favorites system architecture.



DETAILED DESCRIPTION OF THE INVENTION
The invention provides a series of enhancements for the use of favorites during a Web browsing session. A first enhancement identifies when a user is adding a favorite to his favorites list and auto-suggests a folder under which the favorite could be stored. A second enhancement allows a user to review his favorites list and see a summary of feed content (RSS or other format) automatically displayed in-line with each feed enabled web site in his favorites list, without requiring him to explicitly to link to the feed URL in question. A third enhancement allows the user to access a feed listing from his favorites list and tear off the listing to display the listing in a persistent display window separate from the browser.
In the presently preferred embodiment, when a user is engaged in a Web browsing session with a browser such as Safari or Firefox, the user may bookmark a Web page of interest for later retrieval and review. The bookmark, also referred to as a favorite, is sent to a host for storage and also sent to a metadata server. The metadata server performs a lookup of the URL and/or other information associated with the bookmarked page for category information and/or for RSS information. The browser, i.e. the user client, can also retrieve relevant information from the Web page. The metadata server makes associations and returns these to the user.
In the case of an RSS feed associated with a bookmarked page, the application (web browser or web application) shows an icon relative to the bookmark. Clicking on the icon retrieves the most recent “headlines” for the feed. The client application periodically checks for new headlines. When the user selects a list of bookmarks, each bookmark in the list that has an associated RSS feed, displays the headlines corresponding to the most recent headlines for the in-line with the bookmark list. In the presently preferred embodiment, the five most recent headlines are shown for each RSS enabled Web page in the list. The actual number of headlines, amount of text presented, and update frequency may be set to default values or they may be set by the user in a preference pane. Additionally, a refresh button may be provided.
In the case of displaying a feed listing in a separate window, the user accesses the RSS feed from the favorites list in the manner previously described. The user can then “tear off” the feed listing from the favorites list, for example by clicking and dragging the listing with a pointing device such as a mouse, and create a new display window separate from the browser, wherein the feed listing is displayed in the new window. The new window exhibits its own behavior. Thus, it is persistent, and the user can interact with the display window independently of the browser.
In the case of automatically organizing bookmarks as they are acquired, The URL and/or other relevant information of a page being bookmarked is referenced by the metadata server to a hierarchical classification scheme, such as that of the Open Directory Project (http://www.dmoz.org). A folder suggestion is returned to the user that identifies a most likely folder for saving the bookmark. The user may select the suggested folder, or he may save the bookmark in any other folder, or create a new folder.
Feed Integration


    FUNCTIONS: When a new favorite is added, part of the process in the background is finding an associated feed (RSS/Atom or other format). If a feed can be found (with associated headlines), a feeds icon, shown in FIG. 1 as “RSS”, is displayed to the right of the favorite. In one embodiment, the feeds icon is configurable. Thus, it does not always have to denote an RSS feed. Other feed formats, such as RDF (resource description framework) and Atom (IETF ATOMPUB WORKING GROUP) are compatible with the invention. Additionally, another tree control appears next to the favorite icon. Finally, an additional feature is to display a feeds/new feeds differentiation integrated in the folder icon, in case all folders are closed when new feeds are fetched. This applies to all parent folders of URLs having feeds. The new feed status shows if there are one or more new feeds contained anywhere in the folder or enclosed folders.
    INTERACTION: Clicking on the title of the favorite takes the user to the favorite place. However, clicking on the “RSS” icon on the right, or expanding the new tree control accesses additional features.


FIG. 2 shows RSS integration in an expanded view according to the invention. Once the tree control for the favorite is expanded, it displays the top five headlines, ordered by descending date, of the associated feed. Because screen space is at a premium, the preferred embodiment only displays the first few characters of the headline, and truncates it after that. Clicking on any of the headlines takes the browser to the link associated in the feed. Note that an icon 22, i.e. a “sun”, indicates that new articles are present.
Those skilled in the art will appreciate that any number of headlines may be displayed and that such headlines may be displayed in any order. Additionally, a user preference dialog may be provided to allow the user to select such parameters as number of headlines displayed, order of display, and number of characters to display, for example.
FIG. 3 is a screen shot showing an RSS hover state. To give the user some notification that a feed has been updated, the icon showing that a favorite has a feed preferably has two states: the default state and an updated state, which is shown if a feed has been updated in the last hour in this example. Note that for accessibility reasons, contrast should be more important than color as a change indicator for this icon. Hovering over the “new feeds” icon shows the number of new feeds. No hover state is provided for normal state “RSS” icon, i.e. there are no new feeds. Additionally, as shown in FIG. 3, upon mouse hover, an object becomes draggable.
Tear Off Feed Listing
The foregoing discussion contains a detailed description of integrating a feed into a favorites list. FIG. 4 is a screen shot of a browser window wherein the user has integrated a feed 401 designated by an icon 402 into the user's favorites list 403. The current view shows the tree control in its collapsed state. FIG. 5 shows a browser window 500, wherein a feed 501 is integrated into the favorites list 503. FIG. 5 shows the tree control in an expanded configuration displaying the most recent headlines for the feed.
Having exposed the most recent headlines associated with the feed, the user, by clicking on the headline can view the content associated with the headline. FIG. 6 shows a browser window 600 having a feed 601 integrated into a favorites list 603. The feed is shown with the tree control in the expanded configuration, displaying the most recent headlines to the user. By inititiating an action, for example clicking a headline with a pointing device such as a mouse, the user causes a display window 602 to open containing the content associated with the feed 601. In the present embodiment, the window 602 is a child window, and is therefore not persistent. However, the ordinarily-skilled practitioner will appreciate that the window could easily be persistent. An additional embodiment of the invention allows a user to post commentary on the content of the feed in a separate window.
FIG. 7 shows a browser window 800, wherein the user has performed an action that has the effect of “tearing off a feed 701 and displaying the feed in separate display window 702 that is completely independent of the favorites list 703. Because of its existence independent of the browser window, the display window 702 has a number of characteristics; among these: (1) it is persistent. Thus, even if the browser window 700 were to close, the display window 702 would remain open on the user's desktop. (2) The display window has its own characteristics. FIG. 8 shows a browser window 800 having a favorites list 803 with an integrated feed 801. The user has perfomed an action to “tear off” the feed, thereby creating an independent display window 802 displaying the most recent headlines for the feed. As with the feed integrated with the favorites list, the user can display the content associated with a headline in a child window 804. Additionally, the independent display window 802 refreshes itself with updated feed information.
Because the tear-off display window is an independent object, it can be manipulated in various ways. For example, FIG. 9 shows a word processing document 900, wherein a feed 901 is configured to be displayed as a single-line ticker 901, a persistent object configured to display on top of other applications. The ordinarily-skilled practitioner will be inspired to develop other ways in which the independent nature of the display window can be exploited. All are within the scope of the invention.
Add Favorite


    ADD FAVORITE WINDOW: FIG. 10 shows an Add Favorite form according to the invention. When the user clicks the “Add” button, or selects “Add Favorite . . . ” from the favorites menu, the Add Favorite flow begins.
    ADD FAVORITE FORM FUNCTIONS: The user first selects one of the radio button options. “Select a Folder” is the default option. If the user has the “Suggest folder names” feature turned on, there is an initial delay with progress feedback while the browser retrieves that information. During this time, the folder pull-down menu is disabled, and an animated loading label is displayed. Also, note that the “save” button is disabled during this interaction. In the case that the user has turned off the folder suggestion, all of this goes away, and a folder pull-down menu is provided. If this option is turned off, such state is stored in the user preferences. Completion of the Add Favorite flow results in the display of an updated panel showing the favorite at the bottom of either the root of the list, or the bottom of the items inside a folder if a folder was selected prior to adding.

Folder Suggestion

    FOLDER SUGGESTION: FIG. 11 is a screen shot showing folder suggestions according to the invention. In the event that a suggested folder is found for the new favorite, the pull-down defaults to that folder. FIG. 5 shows the folder with the name bold-faced, and a special icon to denote that it is a suggested folder.
    FOLDER PULL-DOWN MENU. FIG. 12 is a screen shot showing a folder pull-down menu according to the invention. The folder's pull-down menu is straightforward. Preferably, the menu shows folder icons, and uses indentation to represent hierarchy.

Architecture



FIG. 13 is a block schematic diagram showing a preferred enhanced favorites system architecture. The following is a discussion of each of the items shown in FIG. 13.

    WEB BROWSER: The web browser 1301 stores the users' favorites, locally via a local storage service 1302 and updates them as needed from the host.

Some information about the network connections:
    
        a. The web browser gets and sets favorites information by issuing XML over HTTP commands to the UI server 1303. On startup, the web browser issues a get request with the current version it has. If the version cached in the local store is older, the full set of favorites is downloaded from the UI server.
        b. When a user adds a URL to his list of favorites, the web browser issues a request to the UI server to retrieve the associated feed URL and suggested folder name. When the user chooses a folder, the web browser then sends the URL, feed URL, title, and folder name to the host (server) for permanent storage.
        c. When displaying favorites to the user, the web browser may fetch RSS feed 1304 associated with favorites via the Headline server 1305, taking advantage of the caching the latter performs.
    
    
    WEB APPLICATION: The Web application 1306 is the UI vehicle for “enhanced favorites” outside of the web browser when the user uses any other web browser. It connects to the UI server via HTTP, and receives from it DHTML content. It receives RSS feed content when requested from the Headline server.
    UI SERVER: The UI server is both a data aggregator and a presentation layer for clients.

Some information about the UI Server network connections:
    
        a. Serves up UI and favorites metadata as DHTML to Web browsers. Receives requests from browsers to retrieve as well as to make changes to favorites using HTTP.
        b. Serves up Favorite data and performs add/delete/modify operations for web browsers using XML over HTTP.
        c. Serves up metadata to web browsers using XML over HTTP. To get the folder suggestion and feeds for favorites submitted it issues requests to the metadata server 1307. This server analyzes the favorite URL and matches it with its internal database to come up with associated feeds and a taxonomy path. It then uses mapping rules to transform the taxonomy path into a folder suggestion. It then returns the feeds and suggested folders, which is what the client is interested in.
        d. For authentication, the preferred UI server relies on the AOL standard authentication infrastructure.
    
    
    HEADLINE SERVER: The headline server serves RSS feed content (headlines and article summaries) to Web browsers or AOL Explorer clients upon request via HTTP. It isolates the web browsers from different RSS protocols. by normalizing feeds to one particular RSS format. Additionally, the server provides two interfaces, XML and DHTML, which allow simple access to feeds and headlines from almost any development platform. The headline server also allows for improved client performance by caching popular feeds and headlines and by using an HTTP connection pool to retrieve feeds from their source.
    ENHANCED FAVORITES CACHE COMPLEX: This element 1308 caches user's favorites to reduce the load on the databases and offer a better experience for web users. The system handles requests from the UI server to add/delete/modify users' data and stores it in the DB 1309 for persistence.
    URL METADATA SERVER: This service can accept a request containing a URL or a set of URLs and return data about that URL or set of URLs. The kinds of data that can be returned include folder suggestions and associated feeds. Incoming query requests come from the UI server in the form of XML over HTTP.
    DATABASE: The database stores the users' favorites and associated information. The data is accessed by the Cache Complex.
    RSS: This represents HTTP servers that can provide RSS and Atom feeds. These feeds might be offered by a service such as AOL or by other feed providers.


The person of ordinary skill will understand that the foregoing methods and apparatus are implemented via an appropriately programmed computational device containing at least a processing element and a storage element.
Although the invention is described herein with reference to the preferred embodiment, one skilled in the art will readily appreciate that other applications may be substituted for those set forth herein without departing from the spirit and scope of the present invention. Accordingly, the invention should only be limited by the Claims included below.

## Claims

1. A computer implemented method for accessing a feed listing in a web page comprising the steps of:
via a computational device, providing a list linking to at least one feed-enabled page;
via a computational device, displaying in a browser window an in-line summary of content from said at least one feed-enabled page without requiring a user to link to said at least one feed-enabled page;
via a computational device, selecting at least one of said at least one in-line summary by said user with a pointing device; and
via a computational device, dragging said at least one of said at least one in-line summary as a tearoff object to its own position on the user's desktop so that it is displayed in a separate window from said browser window and wherein said tearoff object is a persistent object, independent from said browser and having characteristics independent of said browser.

2. The method of claim 1, further comprising the steps of:
via a computational device, identifying each of said at least one feed-enabled page with an icon; and
via a computational device, selecting a feed-enabled page by said user by selecting an icon identifying said page.

3. The method of claim 1, further comprising the steps of:
via a computational device, providing expanded and collapsed views of the summary for a selected feed-enabled page; and
via a computational device, switching between said expanded and collapsed views in response to an action from said user.

4. The method of claim 1, further comprising the step of:
via a computational device, selecting an item from an expanded view of a summary of a feed-enabled page.

5. The method of claim 4, further comprising the step of:
via a computational device, displaying content associated with said selected item in a window separate from a window displaying said summary.

6. The method of claim 1, further comprising the step of:
via a computational device, embedding said tearoff object in a document distinct from said web page.

7. The method of claim 1, further comprising the step of:
via a computational device, displaying said summary in a window separate from said first window as a ticker-style display.

8. The method of claim 1, wherein said tearoff object automatically updates itself with updated feed information.

9. An apparatus for accessing a feed listing in a web page comprising:
at least one storage element containing a list linking to at least one feed-enabled page;
a first processor executing a client; and
a second processor programmed for displaying a user interface to said client, the user interface comprising:
a browser window displaying said list, said list displaying at least one in-line summary of content from said at least one feed-enabled page without requiring a user to access said at least one feed-enabled page; and
at least one selector for dragging at least one of said at least one in-line summary as a persistent tearoff object independent from said browser, so that it is displayed on said user's desktop in a window separate from said browser window,
said tearoff object additionally having characteristics independent of said browser.

10. The apparatus of claim 9, wherein the second processor is further programmed for:
identifying, in the displayed user interface, each feed-enabled page with an icon; and
receiving a selection of the icon, the selected icon being indicative of a corresponding feed-enabled page.

11. The apparatus of claim 9, wherein the second processor is further programmed for:
providing, within the displayed user interface, expanded and collapsed views of the summary for a selected feed-enabled page; and
switching between said expanded and collapsed views in response to an action from said user.

12. The apparatus of claim 9, wherein the second processor is further programmed for:
receiving a selection of an item from an expanded view of a summary of a feed-enabled page.

13. The apparatus of claim 12, wherein the second processor is further programmed for:
displaying content associated with said selected item in a separate window from said first window.

14. The apparatus of claim 9, wherein the second processor is further programmed for embedding said tearoff object in a document distinct from said displayed list.

15. The apparatus of claim 9, wherein the second processor is further programmed for:
displaying said summary in a window separate from said browser window as a ticker-style display.

16. The apparatus of claim 9, wherein said tearoff object automatically updates itself with updated feed information.