# Patent

## Title
System and method for automatically and graphically associating programmatically-generated media item recommendations related to a user's socially recommended media items

## Abstract

A system and method for automatically, programmatically generating media item recommendations on a graphical user interface (GUI) based on a friend media item recommendation selected by a user. In the preferred embodiment, a selected media item recommendation is displayed in the GUI. Received friend media item recommendations are displayed in a list in relevance order adjacent to the selected media item. A programmatically-generated media item recommendation list is automatically generated based on relevance to the selected media item and displayed in another adjacent area to the selected media item recommendation. In this manner, a user can easily play the selected media item recommendation, and then browse the friend media item recommendations and the automatically updated programmatically-generated media item recommendations, which are both provided in their own respective adjacent areas, in order of closest relationship to the selected media item recommendation, at anytime.

## Background
FIELD OF THE INVENTION
The present invention relates to a system and method for automatically and graphically associating programmatically-generated media item recommendations on a user interface based on media items selected from a user's social or “friend” media item recommendation list.
BACKGROUND OF THE INVENTION
In recent years, there has been an enormous increase in the amount of digital media available online. Services, such as Apple's iTunes® for example, enable users to legally purchase and download music. Other services, such as Yahoo!® Music Unlimited and RealNetwork's Rhapsody® for example, provide access to millions of songs for a monthly subscription fee. YouTube® provides users access to video media. As a result, media items have become much more accessible to consumers worldwide. However, the increased accessibility of media has only heightened a long-standing problem for the media industry, which is namely the issue of linking users with media that matches their preferences.
Many companies, technologies, and approaches have emerged to address this issue of media recommendation. Media item recommendations may be provided to users as suggestions based on information about the user and/or their media likes or dislikes, also called preferences. In this manner, the user is more likely to respond, such as by purchase, to media item recommendations. Media item recommendations may be provided either by service provider companies, or “socially” by the user's online “friends” (typically identified by user id).
In the case of socially or friend recommended media items, the user typically receives the recommended media items through a client application executing on the user's personal computer or other networked device. The networked device communicates with other networked devices to receive the friend recommendations. When the friend recommendations are received, the user can display the recommendations on a graphical user interface (GUI). The friend recommendations are typically presented to the user in the form of a media item table having a plurality of columns, wherein title or other identifying information about the user's media items is graphically presented. The media item table may contain all of the user's media collection, including recommended items and non-recommended media items. Recommended media items may be signified by the user id or name of “friend” or user that recommended the media item to the user.
It may also be desirable to provide company recommended media items to a user in addition to friend recommendations. Company media item recommendations are typically programmatically provided, meaning they are provided based on a programmed methodology, algorithm, or other scheme. For example, company provided media item recommendations may be provided based on a holistic classification of assigning ratings to attributes of the user's media collection. Alternatively, company media item recommendations may be based on a communal approach, wherein recommendations are based on the collective wisdom of a group of users with similar tastes by profiling the habits of a particular user and then searching similar profiles of other users. In either case, company or programmatically-generated media item recommendations allow the user to be presented with additional recommendations for a greater variety of media options relevant to the user. Companies also benefit in that they may obtain additional opportunities for revenues generated if the user desires to purchase a company recommended media item.
The user's client application typically intermingles friend and programmatically-generated media item recommendations into the user's media collection. The user may desire to separately distinguish friend media item recommendations from programmatically-generated media item recommendations for ease in browsing and/or selection. However, if friend media item recommendations are isolated, the user may lose the benefit of being presented and browsing highly related programmatically-generated media item recommendations.
A tradeoff may exist. Either the user is presented all media item recommendations, both friend and programmatically-generated, for browsing and/or selection. Or, the user chooses to only browse one set of media item recommendations thereby losing visual access to the other. The present invention addresses this tradeoff by allowing the user to select a media item from among a list of friend media item recommendations while at the same time automatically and associatively being presented a separate list of related, programmatically-generated media item recommendations to the selected media item. In this manner, the user can browse and select friend media item recommendations while at the same time being presented with automatically updated, programmatically-generated related media item recommendations.
SUMMARY OF THE INVENTION
The present invention is a system and method for automatically and programmatically generating media item recommendations for visual display on a graphical user interface (GUI) based on a user-selected friend media item recommendation. The GUI allows a user to browse through a stream or list of friend media item recommendations, with the most recent media selection by the user being placed in a highlighted focus area on the GUI. The friend media item recommendation list is visually displayed adjacent the focus area by order of relation or likeness to the selected media item recommendation in the focus area on the GUI. A separate stream or list of programmatically-generated media item recommendations is automatically generated and visually displayed adjacent the focus area also by order of relation or likeness to the selected media item recommendation in the focus area on the GUI. In this manner, the user can browse friend media item recommendations, while at the same time being automatically presented with updated and programmatically-generated media item recommendations most closely related to the selected media item recommendation in the focus area of the GUI. This allows the user to easily and visually identify, browse, and/or select the most related or closest in likeness, but alternative media item selections to the selected media item recommendation in the focus area of the GUI at anytime.
In a main exemplary embodiment of the present invention, friend media item recommendations are displayed in a series of media item icons in a friend media item recommendation list visually displayed in a horizontal axis on each side of the selected media item in the focus area of the GUI. The friend media item recommendations most closely related by likeness to the selected media item are displayed in icons immediately proximate on both sides of the focus area. The less closely related friend media item recommendations are displayed in icons farther away and in descending relational order from the selected media item in the focus area in the horizontal axis. In this manner, the user may traverse the icons in the friend media item recommendation list in order of relevance to the selected media item in the focus area in a first axis.
As the user horizontally traverses the friend media item recommendation list and selects icons representing different media item recommendations to be displayed in the focus area, a programmatically-generated media item recommendation list is automatically generated. The programmatically-generated media item recommendation list is a stream of icons visually located and displayed in a vertical axis intersecting the focus area on the GUI. Like the friend media item recommendation list, the most closely related media items by likeness to the user-selected media item, among the programmatically-generated media item recommendation list, are displayed in icons immediately proximate on the top and bottom sides of the focus area. The less closely related programmatically-generated media item recommendations are displayed in icons farther away in descending relational order from the highlighted area in the vertical axis.
In this manner, the user is automatically and visually provided with additional programmatically-generated media item recommendations related to friend media item recommendations selected for the focus area in an opposing axes. The user can, at any time, easily switch from one axis to the other, to traverse between the friend media item recommendation list and the programmatically-generated media item recommendation list, wherein each traverse provides the next most relevant media item recommendation in its list to the currently selected media item in the focus area.
The user can also simply place or roll their mouse over a particular media item of interest in either list on the GUI. Additional information about the media item is exposed in a separate window on the GUI as a result to allow the user to easily consider the potential selection. If the user clicks the mouse when the cursor is on top of a media item selection not in the focus area, the media item selected will be moved to the focus area. The other media items in the lists are shifted. Optionally, the friend recommendation media item list may be reordered based on a determined closest or likeness relationship of the selected programmatically-generated media item to the media items among the friend media item recommendations.
Any relational model, including a relational or likeness scoring model, may be employed by the present invention to determine the most closely related or most alike friend media item recommendations and the programmatically-generated media item recommendations to the selected media item recommendation in the focus area. A model may be used to rank the lists by likeness, where the media item recommendations located immediately adjacent the focus area were determined to be most like the selected media item recommendation. Likeness or lack thereof can also be measured in terms of distance. The friend media item recommendations may be relationally determined or scored to determine their relational order to the selected media item recommendation when displayed on the GUI in a friend media item recommendation list. The relational scoring may also be based in part on the user's preferences, which may be configured by the user using a client application to provide preferences for weightings for attributes that go to determining relation or likeness. This client application may also control displaying and updating the recommendation lists on the GUI.
Those skilled in the art will appreciate the scope of the present invention and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.



BRIEF DESCRIPTION OF THE DRAWING FIGURES
The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the invention, and together with the description serve to explain the principles of the invention.
FIG. 1 illustrates a graphical user interface (GUI) providing a user selected media item in a focus area and providing related friend and programmatically-generated media item recommendation lists in different axes intersecting with the focus area;
FIG. 2 is a flow chart illustrating the basic operation of one embodiment of the present invention for providing and displaying friend and programmatically-generated media item recommendations in opposing axes on a GUI, and automatically updating the selected media item and the associated, and related according to likeness, recommendations displayed on the GUI when a new media item selection is made by the user;
FIG. 3 is a chart illustrating one embodiment of how a likeness distance rating or score may be determined to control the relational order of friend and programmatically-generated media item recommendation lists displayed on the GUI;
FIG. 4 illustrates an example of a media client application executing on a user's device for displaying a user's media collection including stored media item recommendations that may be used to provide the recommendation lists on the GUI;
FIGS. 5A and 5B are flowcharts illustrating a more detailed operation of one embodiment of the present invention for providing and displaying a selected media item recommendation and related friend and programmatically-generated media item recommendations in opposing axes on a GUI, and automatically updating the selected media item and the associated, and related according to likeness, recommendation list displayed on the user interface when a new media item selection is made by a user;
FIG. 6 illustrates a user-server system for providing and receiving friend media item recommendations, for determining and receiving programmatically-generated media item recommendations, and for displaying related recommendations on a GUI to a user;
FIG. 7 is an exemplary communication flow diagram between user devices and a server illustrated in FIG. 6 for receiving friend media item recommendations to determine and automatically provide programmatically-generated media item recommendations for displaying to a user on a GUI in accordance with the present invention;
FIG. 8 is a flowchart illustrating one embodiment of a relational or distance scoring model, wherein a user's preferences are used to influence attributes used in the relational scoring model; and
FIG. 9 illustrates an exemplary GUI for assigning weights to various categories of media items as part of configuring the user preferences to influence the relational scoring model.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the invention and illustrate the best mode of practicing the invention. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the invention and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
The present invention is a system and method for automatically and programmatically generating media item recommendations for visual display on a graphical user interface (GUI) based on a user-selected friend media item recommendation. The GUI allows a user to browse through a stream or list of friend media item recommendations, with the most recent media selection by the user being placed in a highlighted focus area on the GUI. The friend media item recommendation list is visually displayed adjacent the focus area by order of relation or likeness to the selected media item recommendation in the focus area on the GUI. A separate stream or list of programmatically-generated media item recommendations is automatically generated and visually displayed adjacent the focus area also by order of relation or likeness to the selected media item recommendation in the focus area on the GUI. In this manner, the user can browse friend media item recommendations, while at the same time being automatically presented with updated and programmatically-generated media item recommendations most closely related to the selected media item recommendation in the focus area of the GUI. This allows the user to easily and visually identify, browse, and/or select the most related or closest in likeness, but alternative media item selections to the selected media item recommendation in the focus area of the GUI at anytime.
In a main exemplary embodiment of the present invention, friend media item recommendations are displayed in a series of media item icons in a friend media item recommendation list visually displayed in a horizontal axis on each side of the selected media item in the focus area of the GUI. The friend media item recommendations most closely related by likeness to the selected media item are displayed in icons immediately proximate on both sides of the focus area. The less closely related friend media item recommendations are displayed in icons farther away and in descending relational order from the selected media item in the focus area in the horizontal axis. In this manner, the user may traverse the icons in the friend media item recommendation list in order of relevance to the selected media item in the focus area in a first axis.
As the user horizontally traverses the friend media item recommendation list and selects icons representing different media item recommendations to be displayed in the focus area, a programmatically-generated media item recommendation list is automatically generated. The programmatically-generated media item recommendation list is a stream of icons visually located and displayed in a vertical axis intersecting the focus area on the GUI. Like the friend media item recommendation list, the most closely related media items by likeness to the user-selected media item, among the programmatically-generated media item recommendation list, are displayed in icons immediately proximate on the top and bottom sides of the focus area. The less closely related programmatically-generated media item recommendations are displayed in icons farther away in descending relational order from the highlighted area in the vertical axis.
In this manner, the user is automatically and visually provided with additional programmatically-generated media item recommendations related to friend media item recommendations selected for the focus area in an opposing axes. The user can, at any time, easily switch from one axis to the other, to traverse between the friend media item recommendation list and the programmatically-generated media item recommendation list, wherein each traverse provides the next most relevant media item recommendation in its list to the currently selected media item in the focus area.
An example of a GUI for displaying friend and programmatically-generated media item recommendation lists according to the present invention is illustrated in FIG. 1. Reference to the flowchart illustrated in FIG. 2 is also made where relevant to the description of the GUI illustrated in FIG. 1. As illustrated in FIG. 1, the GUI may be comprised of a media item recommendation window or screen 10 that contains several components. For instance, the window 10 may contain a banner area 12 at the top of the window 10 for displaying information about the application, such as a program code name 14. The program code name 14 may be user configurable. A menu bar 16 may provide one or more user selectable menus 18, 20, 22, 24 provided to allow the user to select different display options in the window 10, and/or navigate between different screens within the window 10 for providing media item related functions. FIG. 1 illustrates a “Nodes” menu 18 being selected, which is the display type displayed in the window 10 in FIG. 1. The “Nodes” menu 18 is selected by the user in the illustrated example for displaying the friend and programmatically-generated media item recommendations on the GUI in accordance with the present invention.
The friend and programmatically-generated media item recommendations are displayed in a main display area 26 in the window 10. In the illustrated embodiment, the media items displayed are audio or track media items. However, the media items are not limited to audio media items, and may be video, audio/visual, presentations, or any other type of media content. A currently selected media item recommendation 27 by the user is displayed in a focus area 28, which is centered in the window 10 in the exemplary embodiment (step 66, FIG. 2). The currently selected media item recommendation 27 remains in the focus area 28 until another media item is selected by the user. In the illustrated example, the selected media item recommendation 27 is a track from the album “Colin Hay.” More information about the selected media item recommendation 27 is displayed in an information window 30 within the main window 10. Media item information 32 is displayed about the selected media item recommendation 27. For example, the album name, the recommended track, the producer, the year released, and the genre may be displayed along with a thumbnail 34 of the selected media item recommendation 27.
Audio play controls may be provided in an audio play control window 36 within the main window 10 to allow a user to control playing of the selected media item recommendation 27 in the focus area 28. The name of the media item recommendation track is provided in a name field 38. The user that recommended the media item recommendation track is located in a recommended user field 40. In this manner, the user can see the name of the “friend” that recommended the selected media item recommendation 27. A volume control 42, play controls 44 (typically consisting of forward, reverse, and pause), and a progress bar 48 indicating where in the total duration of the media item and where in the track play is currently occurring, may also be provided as illustrated in FIG. 1.
In this exemplary embodiment, friend media item recommendations are displayed in a friend media item recommendation list 50, which is displayed adjacent to the focus area 28 in a horizontal axis in the illustrated example (step 68, FIG. 2). The friend media item recommendation list 50 is comprised of a plurality of friend media item recommendations represented by icons 52. The entire friend media item recommendation list 50 may not be fully illustrated due to window 10 size limitations. In the illustrated example, the friend recommendation icons 52 are album covers representing various albums. The actual friend media item recommendations 52 are tracks on albums.
The user can traverse the friend media item recommendations 52 in several manners. If the user desires to traverse among the friend media item recommendations 52, the user can select either a left arrow 54 or a right arrow 56 located in the focus area 28. In response, the friend media item recommendation list 50, represented by the icons 52 in the illustrated example, is shifted right or left, respectively, in the window 10. In this manner, the user is able to visually traverse through the friend media item recommendations 52 as desired. If the user shifts the friend media item recommendation list 50 enough times in one direction, previously unseen friend media item recommendation icons 52 that could not originally fit within the list 50 in the window 10 will appear, since the friend media item recommendation list 50 is shifted linearly.
If the user desires to select a particular friend media item recommendation 52 from the friend media item recommendation list 50, the user clicks their mouse while the cursor is located over top the media item 52 (step 72, FIG. 2). The media item 52 selected is immediately moved to the focus area 28 as providing the currently selected media item recommendation 27. The friend media item recommendation list 50 is also automatically shifted and/or reordered in the horizontal axis so that the media items icons 52 are maintained in their relational order by most closely related or closest in likeness to the selected media item recommendation 27 in the focus area 28. The friend media item recommendations 52 are displayed in relational order to each other and to the selected media item recommendation 27 according to a scoring system or model, as will be described later in this application. The most closely related friend media items recommendations 52 to the selected media item recommendation 27 are displayed immediately proximate to the selected media item recommendation 27. The next closely related media item recommendations 52 are displayed farther away from the focus area 28 in descending order of relation. In this manner, the user knows that each traversal through the friend media item recommendations 52 in the list 50 is displaying the next most related media item recommendation 52 to the selected media item recommendation 27.
If the user simply wants to find out more information about a particular friend media item recommendation 52 without browsing or selecting the media item 52, the user can also hold their mouse icon over the desired friend media item recommendation icon 52. In response, a pop-up window (not shown) will appear in window 10 to provide identifying information, such as in the example of song media items, the album name, the recommended track name, the producer, the year released, and the genre.
In the exemplary embodiment and in response to an initial or user selected friend media item recommendation 52, programmatically-generated media item recommendations are automatically generated and displayed in the window 10 according to a scored relation to the selected media item recommendation 27 displayed in the focus area 28 (step 70, FIG. 2). The programmatically-generated media item recommendations are displayed in a programmatically-generated media item recommendation list 58, which is displayed adjacent the focus area 28 in a vertical intersecting axis to the focus area 28 in the illustrated example. In this manner, the user is automatically and visually provided with additional programmatically-generated media item recommendations 60 most closely related or closest in likeness to the selected media item recommendation 27 according to a relational model. In this embodiment, the programmatically-generated media item recommendation list 58 is displayed in an opposing axis to the friend media item recommendation list 50. The programmatically-generated media item recommendation list 58 intersects the currently selected media item recommendation 27 as does the friend media item recommendation list 50 such that both lists 50, 58 can easily be traversed by a user in the window 10.
Similar to the friend media item recommendation list 50, the programmatically-generated media item recommendation list 58 is comprised of individual programmatically-generated media items 60, shown in the form of icons, that are automatically generated and associatively displayed according to a closest relation or closest likeness to the selected media item recommendation 27 in the focus area 28. A programmatically-generated media item recommendation 60 is simply a media item recommendation that was not received by a “friend,” but instead algorithmically generated according to a relational or associative algorithm in order to provide other relevant and closely related media item recommendations 60 to the currently selected media item recommendation 27 for the user in addition to friend media item recommendations 52.
An algorithm, program, or other scheme may be employed to determine the most closely related or closest by likeness media items to the currently selected media item recommendation 27 to form the programmatically-generated media item recommendation list 58. One method of determining relation or likeness between a media item recommendation 52, 60 and the currently selected media item recommendation 28 is by determining the difference in the two in terms of “distance.” For example, a distance of nothing or ‘0’ means no difference, or the same media item. A higher distance rating exhibits a greater degree of difference or less likeness than a lower distance rating. The less distance between two media items, the more closely related they are. Attributes are selected that are representative of distance or likeness. The media items are then compared for distance by comparing the degree of differences between their respective attributes. FIG. 3 illustrates an example of a distance rating system.
As illustrated in FIG. 3, a number of attributes may be selected to judge likeness or distance between two media items. In the example of a song media item in particular, these attributes for determining likeness may be, for example, the media item's:

    
    
        Artist
        Release Year
        Genre
        Content Distributor (label)
        Composer
        Encoding Time
        Parental Rating
        Producer
        BeatsPerMinute
        Conductor
        InitialKey
        Lyrics
        Mood
        Publisher
        Recommender
    
    


The attributes may be aligned in a distance chart along both of its axes. A distance rating would be filled into a table entry based on the distance between the two attributes intersecting the table entry. A lower rating indicates less distance, or greater likeness, between two given attributes in a table entry between the two song media items. So, determining the distance, and thus the likeness, between two song media items could be a summation of the distance between the individual attributes provided in the model, or table in the example of FIG. 3. The actual attributes used in the model could be any attributes that are designated as being related to relation or likeness, and could include the attributes listed above by example, or any other attributes desired.
With regard to the present invention, a distance rating like that or similar to the one described above may be employed to determine the order of media item recommendations 60 visually displayed for the programmatically-generated media item recommendations list 58, with the media item recommendations 60 having the lowest distance rating being located immediately adjacent or proximate both sides of the currently selected media item recommendation 27 in the focus area 28. The next closest in distance or next less closely related programmatically-generated media item recommendations 60 are displayed in icons 52 farther away in descending relational or distance order from the selected media item recommendation 27. In this manner, the user is automatically and visually provided with additional, programmatically-generated media item recommendations 60 most closely related or closest in likeness to the selected media item recommendation 27. The user can, at any time, easily switch from one axis to the other to traverse between the friend media item recommendation list 50 and the programmatically-generated media item recommendation list 58, wherein each traversal provides the next most relevant media item recommendation 52, 60 in its list 50, 58 to the currently selected media item recommendation 27 in the focus area 28.
Similar to the friend media item recommendation list 50, the user can traverse the programmatically-generated media item recommendation list 58 in several manners. If the user desires to traverse among the programmatically-generated media item recommendations 60, the user can select either an up arrow 62 or a down arrow 64 located in the focus area 28. In response, the programmatically-generated media item recommendation list 58, represented by the icons 60 in the illustrated example, is shifted up or down, respectively, in the window 10. The user is able to visually traverse through the programmatically-generated media item recommendations 60 according to their desire. If the user shifts the programmatically-generated media item recommendation list 58 enough times in one direction, previously unseen programmatically-generated media item recommendation icons 60 that could not originally fit within the list 58 in the window 10 will appear, since the programmatically-generated media item recommendation list 58 is shifted linearly.
Similar to the friend media item recommendation list 50, if the user desires to select a particular media item 60 from the programmatically-generated media item recommendation list 58, the user clicks their mouse while the cursor is located over top the desired media item 60 for selection (step 72, FIG. 2). A media item 60 selected is immediately moved to the focus area 28. The programmatically-generated media item recommendation list 58 is also automatically shifted and/or reordered in the vertical axis so that the media items icons 60 are maintained in their proper relational order with respect to each other and the selected media item recommendation 27 in the focus area 28. The programmatically-generated media item recommendations 60 are displayed in relational order to each other according to a most closely related scoring system or model, as will be described later in this application. The most closely related programmatically-generated media items recommendations 60 to the selected media item recommendation 27 by likeness are displayed immediately proximate to the selected media item recommendation 27, with the next most closely relevant programmatically-generated media item recommendations 60 displayed farther away in descending order of relation. In this manner, the user knows that each traversal through the programmatically-generated media item recommendation list 58 is displaying the next most closely related media item 60 to the currently selected media item recommendation 27.
In the preferred embodiment, the friend recommendation media item list 50 is not reordered if the user selects a programmatically-generated media item 60 to be displayed as the selected media item recommendation 27 in the focus area 28. In an alternative embodiment, the friend recommendation media item list 50 is reordered based on its likeness relation to the selected programmatically-generated media item recommendation 27 in the focus area 28.
In summary, FIG. 1 provides a GUI that visually displays a selected media item recommendation 27 in a focus area 28. Friend media item recommendations are provided in a series or list that are displayed in a first adjacent area or axis in order or closest relation or likeness to the selected media item recommendation 27. Friend media item recommendations 52 most closely related to or like the selected media item recommendation 27 in the focus area 28 are displayed in icons immediately proximate on both sides of the focus area 28. Less closely related friend media item recommendations 52 are displayed in icons farther away in descending relational order from the focus area 28 in the horizontal axis. In this manner, the user can traverse the icons 52 in the friend media item recommendation list 50 in order of scored relationship to the selected media item recommendation 27 in the focus area 28.
As the user horizontally traverses the friend media item recommendation list 50 and selects icons 52 representing different media item recommendations 27 to be displayed in the focus area 28, the programmatically-generated media item recommendation list 58 is automatically generated. The programmatically-generated media item recommendation list 58 is a stream of icons 60 visually located and displayed in a different, such as vertical, axis intersecting the focus area 28 on the GUI. Like the friend media item recommendation list 50, the closest related or most like media items, among the programmatically-generated media item recommendation list 58, to the selected media item recommendation 27 in the focus area 28 are displayed in icons immediately proximate on both sides of the focus area 28. The less closely related, programmatically-generated media item recommendations 60 are displayed in icons farther away in descending relational order from the focus area 28 in the vertical axis.
In this manner, the user is automatically and visually provided with additional programmatically-generated media item recommendations 60 related to the friend media item recommendations 52 selected for the focus area 28 in an opposing axis. The user can, at any time, easily switch from one axis to the other, to traverse between the friend media item recommendation list 50 and the programmatically-generated media item recommendation list 58, wherein each traversal provides the next most closely related media item recommendation in its list 50, 58 to the currently selected media item recommendation 27 in the focus area 28. Note that the media item recommendation lists 50, 58 can be visually displayed in any area adjacent the focus area 28 and are not limited to being displayed in axes, including horizontal and vertical axes respective to the focus area 28.
FIG. 4 illustrates an example of an alternative media item display to the “Nodes” display menu selection 18 in FIG. 1. This view may be provided by a GUI to display media items in the user's collection, including recommended media items, in a table format to illustrate how media item recommendations are typically scored when the user's collection is not displayed in the “Nodes” view. The media item table in FIG. 4 illustrates how media item recommendations may be displayed to the user prior to the novel display system and method provided by the present invention.
As illustrated in FIG. 4, a main media collection page or window 80 is provided. The current media item being played by the user is shown in a currently playing box 82. In this example, the media items are music or songs. The current media item being played may be the initial selected media item recommendation 27 displayed in the focus area if the user were to switch from the media collection window 80 to the “Nodes” view, via “Nodes” menu 18, for example. User controls 84 are provided to allow the user to control an audio/video (A/V) player, such as reversing, forwarding, and playing selected items. A volume slide control 86 is also provided to allow the user to control the volume of an A/V player.
Media items that are either populated from a server, or from the user's A/V collection, or both and sent to the client application are listed in a media item table 88. The media item table 88 is a music item table 88 and consists of numerous columns that provide key information about the media items to the user. A title column 90 provides the title of the music item. A time column 92 provides the length or duration of the music item when played. An artist column 94 provides the artist of the music item. An album column 96 provides the name of the album the song was included on. A score column 98 provides a score in terms of importance to the user according to their user preferences stored as a result of the registration process and/or determined by a server based on the owned media items in the user's A/V collection. This score illustrated in score column 98 is typically different than the relational score used to display media items in a “Nodes” view, like illustrated in FIG. 1. For example, the track “Looking for Jack” by Colin Hay, which was recommended by user “Jen365” has the highest score of “92” based on the user's preferences fed into the scoring model.
A genre column 100, a year column 102, a received time and date column 104, and a played column 106 provide the genre type, the year of release, the date and time of receipt, and the date and time of the last play of the music item, respectively. A scroll bar 108 is available for the user to scroll up and down through their song items.
A recommender column 110 contains a user id or name of the person or friend that recommended the media item to the user. The user can establish a list of friends that are able to provide friend recommendations as disclosed in U.S. patent application Ser. No. 11/484,130 entitled “P2P NETWORK FOR PROVIDING REAL TIME MEDIA RECOMMENDATIONS,” previously referenced above. The user is able to navigate the media item table 88 by “point and click” to play items, download items, and request content from a server and/or other sources.
The flow charts in FIGS. 5A and 5B illustrate another embodiment of the how the present invention may be performed. For example, the process is illustrated starting from when a user initially selects the “Nodes” menu 18, as in the example of FIG. 1, to display the friend and programmatically-generated media item recommendation lists 50, 58 in different axes. Further, an exemplary process by which the friend and programmatically-generated media item recommendation lists 50, 58 are updated when a user makes a new media item recommendation selection to display as the currently selected media item recommendation 27 in the focus area 28 is set forth.
As illustrated in FIG. 5A, the process starts (step 110), and media items are displayed in the media item table 88 on the GUI with recommendation scoring information calculated and provided (step 112). The user is able to browser through the media items, including the friend media item recommendations 52, in the media item table 88 (step 114). The user then selects a specific friend media item recommendation 52 of interest from the media item table 88 on the GUI (step 116). In order for the user to change the GUI to the “Nodes” display format, an example of which is illustrated in FIG. 1, the user may select a “Nodes” view or menu 18 (step 118). In this manner, the media item selected by the user from the media item table 88 is displayed is the initial selected media item recommendation 27 displayed in the focus area 28 (step 120) on the GUI.
Next, the friend media item recommendations 52 having the closest distance or likeness scores to the selected media item recommendation 27 are displayed immediately proximate to the focus area 28 (step 122). The next closest or closest in likeness or distance friend media item recommendations 52 are displayed next, and so on, until the friend media item recommendation list 50 is displayed in the main window 10 (step 122). Other media item recommendations 60 related to the selected media item recommendation 27 in the focus area 28 are programmatically-generated and displayed in different or opposing vertical axis to the friend media item recommendation list 50 and intersecting the focus area 28 based on a relational scoring system. The scoring system identifies the closest related programmatically-generated media item recommendations 60, as previously described (steps 124,126).
If a new media item recommendation selection is made by the user, from one of the recommendation lists 50, 58 in the window 10 (decision 128), the process continues to FIG. 5B, where it is determined if the selection is from the friend media item recommendation list 50 or the programmatically-generated media item recommendation list 58 (decision 130). If from the programmatically-generated media item recommendation list 58, the programmatically-generated selected item 60 is moved to the focus area 28, and the programmatically-generated media item recommendations 60 are shifted accordingly (step 132). Optionally, as discussed above, the friend media item recommendation list 50 may be reordered to display friend media item recommendations 52 having the closest relational score or likeness to the selected programmatically-generated media item recommendations 60 selected for the focus area 28 (step 134).
If, in decision 130, a friend media item recommendation 52 is selected by the user from the friend media item recommendation list 50, the selected friend media recommendation item 52 is moved to the focus area 28 (step 134). The friend media item recommendation list 50 is shifted accordingly (step 136). A new programmatically-generated media item recommendation list 58 is generated based on the new closest in likeness determination between the selected friend media item recommendation 27 and the programmatically-generated media item recommendations 60 (step 138). The programmatically-generated media item recommendations 60 may be updated locally at a client application, or remotely at a server or other peer device. After any of the recommendation lists 50, 58 are updated based on new most closely related determinations between the friend and/or programmatically-generated recommendations 52, 60 to the user-selected media item recommendation 27, the user-selected media item recommendation 27 and both recommendation lists 50, 58 are displayed by the GUI (steps 140, 142, 144). If the user exits the “Nodes” view in the GUI (decision 146), the process repeats, such as for example by the GUI displaying the media collection window 80 as illustrated in FIG. 4, by returning back to step 112 in FIG. 5A. If the user does not exit the “Nodes” view in the GUI (decision 146), the process returns back to decision 130 to await a new media item recommendation selection by the user.
In order to receive friend media item recommendations 52, the GUI is executed on a user device that is coupled to a network to other friend user devices and/or a server(s). In this manner, friend recommendations can be received from others. In addition, it may be desired to determine and/or provide the programmatically-generated media item recommendations 60 from an offsite system, such as from a server, proxy server, networked peer device, and/or a remote database. In this regard, FIG. 6 illustrates an exemplary media item recommendation system 150. One or more user devices 152 are illustrated as networked computing devices employed by a user to use and/or play media items, including friend and programmatically-generated media item recommendations 52, 60. FIG. 6 illustrates a plurality of user devices 152, namely user devices 152A, 152B, 152C, and up through including any number of user devices to 152N. The user devices 152 provide the GUI to the user as well as a networked device to receive friend and programmatically-generated media item recommendations 52, 60 from other devices and/or systems.
The user devices 152 typically contain a web browser and/or client application 154 to provide the GUI to the user. A recommendation engine 156 may be provided to handle recommendation related processing, such as the operations provided by the present invention. An A/V player 158 may be provided to allow the user to play and/or use media items, including recommendations. Lastly, the user devices 152 may include their own A/V collection 160, comprising media items either stored locally or accessible from a remote system over a network 162, such as the Internet, which is a TCP-IP based network.
The web browser or client application 154 can establish a connection over the network 162 to a central/proxy server 164. The server 164 can be any type of computing device that is coupled to the network 162. Examples of user devices 152 that may be used to access the server 164 and/or other users over the network 162 include, but are not limited to, personal computers, wireless portable media players (PMPs), personal digital assistants (PDAs), and the like.
The server 164 may be comprised of several components to facilitate user connections and provide media related services. These components may be comprised of a web component 166, a market component 168, and a server component 170. The server component 170 may also provide an application program interface (API) 172 to provide a downloadable client application to the user devices 152 for interfacing, ordering, and receiving media related services from the server 164 after an initial session is established between a user device 152 and the server 164 via the web browser 154, for example. A database 174 may be located on location at the server 164 for storage of data, including but not limited to media items and information relating to friend and/or programmatically-generated media item recommendations 52, 60. A network accessible database 174′ may also be utilized to provide storage capabilities remote from the server 164 and/or as backup data storage, if desired.
Some media items requested and/or recommended that need to be accessed may not be stored locally in the server database 174 or the network database 174′, but rather obtained from subscription services 176 via network 162 access on-demand. In this regard, network accessible subscription services 176 may be provided for user devices 152 to access media items for downloading. The server 164 and/or the user devices 152 may access the subscription services 176 over the network 162. Further, the server 164 and/or the user devices 152 can communicate over the network 162 with content identification systems 178 to provide identifying and other characteristic information about media items, such as information regarding artists, song titles, genre, etc. in the example of song content in particular. This information may be used to provide the media item information 32 for the selected media item recommendation 27 displayed in the focus area 28, as illustrated in FIG. 1. The allows access to user friendly information about media items as part of the services provided by the server 164 and/or the user devices 152. The identification systems 178 may be coupled with or contain content descriptors 180 that are compared to media items to identify and provide information regarding media items. For an example of songs in particular, the descriptors 180 may include known fingerprints and/or Global Unique IDs (GUIDs) to identify songs and obtain metadata containing information about the songs, such as title, artist, genre, etc. A uniform resource locator (URL) may be included to identify location(s) for the descriptor information.
FIG. 7 illustrates an exemplary communication flow diagram that may be employed by the media item recommendation system 150 illustrated in FIG. 6. The process may be used to send friend media item recommendations 52 as a precursor for a user receiving the media item recommendations to employ the present invention. In this regard, a first user may play a media item on their user device 152A using their A/V player 158A (step 200). The media item played may then be selected to be recommended to another friend user (step 202). The user device 152A sends the media item recommendation to the server 164 or peer device (step 204) destined for a recipient. The media item recommendation is then forwarded to the recipient friend, which is user device 152N in the illustrated example (step 206). Thereafter, the media item recommendation can be displayed by the user in the media item table 88, such as illustrated in FIG. 4 (step 208). The user may cause the GUI executing on the user device 152N to enter the “Nodes” display mode, as illustrated by example in FIG. 1 (step 210).
Next, the friend media item recommendation list 50 may be determined and displayed according to the closest likeness or relation to the selected media item recommendation 27 (step 212). The programmatically-generated media item recommendation list 58 is then requested offsite from the server 164 or from a peer device as examples, as an optional step (step 214). This is because the programmatically-generated media item recommendations 60 may not be provided locally at the user device 152N, and may be determined by a relational likeness or distance determination system or algorithm provided by another system on-demand, as needed. If requested, the results are returned (step 216), and the GUI displays the selected media item recommendation 27 in the focus area 28, with the friend media item recommendation list 50 displayed in a first intersecting axis and the programmatically-generated media item recommendation list 58 provided in a second intersecting axis, as previously described above and illustrated in FIG. 1 (step 218).
FIG. 8 is a flow chart illustrating an alternative embodiment of how a likeness or distance score may be assigned to media item recommendations 52, 60 in order to provide an ordered friend media item recommendation list 50 for the present invention. In this embodiment, the model is based in part on user-defined preferences for choosing or weighing attributes regarding media items. Other methods may be employed, and the present invention is not limited to use of user preferences for determining or weighting media item attributes. As discussed above, a likeness or distance model or algorithm is employed to order a users' friend media item recommendations 52 for browsing and/or selection. In this manner, the user can browse through friend media item recommendations 52 in order or likeness. In response to selection of a friend media item recommendation 52, programmatically-generated media item recommendations 60 are scored by likeness and generated based on closest relation or likeness to the selected media item recommendation 27 for display in a different axis from the friend media item recommendation list 50.
Turning to FIG. 8, the user preferences are obtained (step 230). The friend media item recommendations 52 received previously by the user from friends are scored for likeness based in part on the user's preferences for attributes used in the model (step 232). The likeness or distance is stored, typically at the user device 152, for use by the client application when needed, such as when providing the features of the present invention (step 234). If a new media item recommendation is received (decision 236), the process may be repeated to determine the likeness or distance of the media item recommendations 52, 60 since a new received media item recommendation could alter the order of the media item recommendations 52, 60. If a raw likeness score is used to score media item recommendations 52, 60, the process may not need to be completely repeated, but only the newly received media item recommendation be scored to determine if the recommendations 52, 60 should be reordered.
FIG. 9 is an example of a GUI 320 where a user can select the desired weights of certain media item attributes that may be used to determine likeness between two media items by adjusting corresponding sliding bars 322-330.
Once the weights are assigned, the user may select an OK button 332 to store the weighting of the media item attributes, or select a REVERT button 334 to return the weights of the categories to their previous or default settings. In addition, the user may select a SUGGEST FROM PROFILE button 336 to have the recommendation engine 156 or server 164 suggest weights for the categories based on a user profile.
It should be noted that the term “relation” in the present invention is mean to represent relation between two media items, whether that be based on likeness, distance, or any other relation. The term “relation” is meant to encompass any of these alternative phraseologies to compare media item recommendations in accordance with the present invention. These terms are used interchangeably to set forth the concept of determining the most closely related or most closely alike media items according to whatever model or scoring system is employed. The present invention is not limited to any particular model or scoring system. Any number of different attributes, which may or may not be influenced by a user's preferences or selections, may be used, and still be within the scope and spirit of the present invention.
Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present invention. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.

## Claims

1. A method for providing social and programmatically-generated media item recommendations to a user on a user interface, comprising the steps of:
displaying a user-selected media item recommendation in a focus area on a user interface of a display device;
determining a social media item recommendation list comprising one or more social media item recommendations;
determining a programmatically-generated media item recommendation list comprising one or more programmatically-generated media item recommendations;
displaying the social media item recommendation list in a first area on the user interface; and
displaying the programmatically-generated media item recommendation list in a second area on the user interface different from the first area, wherein the first area is a first axis and the second area is a second axis and wherein the social media item recommendation list in the first axis intersects the focus area on the user interface.

2. The method of claim 1, wherein the programmatically-generated media item recommendation list in the second axis intersects the focus area on the user interface.

3. The method of claim 1, wherein the first axis is a horizontal axis, and the second axis is a vertical axis, wherein the focus area is in substantially the center of the user interface.

4. The method of claim 1, wherein the first area is a first adjacent area to the focus area, and the second area is a second adjacent area to the focus area.

5. The method of claim 1, wherein the step of displaying the programmatically-generated media item recommendation list further comprises displaying an icon list on the user interface graphically representing the one or more programmatically-generated media item recommendations.

6. The method of claim 1, wherein the step of displaying the social media item recommendation list further comprises displaying an icon list on the user interface graphically representing the one or more social media item recommendations.

7. The method of claim 1, wherein the step of generating the programmatically-generated media item recommendation list comprises determining the relation of a set of media item recommendations to the user-selected media item recommendation.

8. The method of claim 7, wherein the relation is determined by determining a relation score between the set of media item recommendations and the user-selected media item recommendation.

9. The method of claim 7, wherein the most closely related media item recommendations, among the set of media item recommendations, to the user-selected media item recommendation are displayed closest to the user-selected media item recommendation on the user interface in the programmatically-generated media item recommendation list.

10. The method of claim 1, wherein the programmatically-generated media item recommendation list is ordered in rank of relevance to the user-selected media item recommendation.

11. The method of claim 1, further comprising automatically updating the one or more programmatically-generated media item recommendations in the programmatically-generated media item recommendation list when the user-selected media item recommendation is changed.

12. The method of claim 11, wherein the step of generating the programmatically-generated media item recommendation list comprises determining the relation of a set of media item recommendations to the user-selected media item recommendation.

13. The method of claim 1, wherein the step of generating the social media item recommendation list comprises determining the relation of the user's social media item recommendations to the user-selected media item recommendation.

14. The method of claim 11, wherein the user's most closely related social media item recommendations to the user-selected media item recommendation is displayed closest to the user-selected media item recommendation on the user interface in the social media item recommendation list.

15. The method of claim 1, wherein the social media item recommendation list is ordered in rank of relevance to the user-selected media item recommendation.

16. The method of claim 15, wherein the rank of relevance is determined by determining a relation score for the user's social media item recommendations against user preference established for the user.

17. The method of claim 1, further comprising automatically updating the one or more social media item recommendations in the social media item recommendation list when the user-selected media item is changed.

18. The method of claim 17, wherein the step of generating the social media item recommendation list comprises determining the user's social media item recommendations related to the user-selected media item recommendation.

19. The method of claim 1, further comprising shifting the programmatically-generated media item recommendation list in response to receiving a user selection to traverse the programmatically-generated media item recommendation list on the user interface.

20. The method of claim 1, further comprising shifting the social media item recommendation list in response to receiving a user selection to traverse the social media item recommendation list on the user interface.

21. The method of claim 1, further comprising displaying media-related information about the user-selected media item recommendation on the user interface.

22. The method of claim 1, further comprising displaying media-related information about a social media item recommendation within the social media item recommendation list in a pop-up window on the user interface in response to receiving a cursor rollover overtop the social media item recommendation.

23. The method of claim 1, further comprising displaying media-related information about a programmatically-generated media item recommendation within the programmatically-generated media item recommendation list in a pop-up window on the user interface in response to receiving a cursor rollover overtop the programmatically-generated media item recommendation.

24. A system providing a media application for providing social and programmatically-generated media item recommendations to a user on a user interface, comprising:
a system executing a media application;
wherein the media application is adapted to:
display a user-selected media item recommendation in a focus area on a user interface;
determine a social media item recommendation list comprising one or more social media item recommendations;
determine a programmatically-generated media item recommendation list comprising one or more programmatically-generated media item recommendations;
display the social media item recommendation list in a first area on the user interface; and
display the programmatically-generated media item recommendation list in a second area on the user interface different from the first area, wherein the first area is a first axis and the second area is a second axis and wherein the social media item recommendation list in the first axis intersects the focus area on the user interface.

25. The system of claim 24, wherein the media application is further adapted to determine the relation of a set of media item recommendations to the user-selected media item recommendation.

26. The system of claim 25, wherein the media application is further adapted to determine the relation by determining a relation score between the set of media item recommendations and the user-selected media item recommendation.

27. The system of claim 25, wherein the media application is further adapted to display the most closely related media item recommendations, among the set of media item recommendations, to the user-selected media item recommendation on the user interface in the programmatically-generated media item recommendation list.

28. The system of claim 24, wherein the media application is further adapted to automatically update the one or more programmatically-generated media item recommendations in the programmatically-generated media item recommendation list when the user-selected media item recommendation is changed.

29. The system of claim 24, wherein the media application is further adapted to determine the relation of the user's social media item recommendations to the user-selected media item recommendation to generate the social media item recommendation list.

30. The system of claim 29, wherein the media application is further adapted to display the user's most closely related social media item recommendations to the user-selected media item recommendation on the user interface in the social media item recommendation list.

31. A user interface generated by a media application executing on a microprocessor-based user device, comprising:
a focus area;
a user-selected media item recommendation displayed in the focus area;
a social media item recommendation list comprising one or more social media item recommendations in a first area; and
a programmatically-generated media item recommendation list comprising one or more programmatically-generated media item recommendations in a second area different from the first area, wherein the first area is a first axis and the second area is a second axis and wherein the social media item recommendation list in the first axis intersects the focus area on the user interface.

32. The user interface of claim 31, wherein the programmatically-generated media item recommendation list in the second axis intersects the focus area on the user interface.

33. The user interface of claim 31, wherein the first area is a first adjacent area to the focus area, and the second area is a second adjacent area to the focus area.

34. The user interface of claim 31, wherein the programmatically-generated media item recommendation list further comprises an icon list on the user interface graphically representing the one or more programmatically-generated media item recommendations.

35. The user interface of claim 31, wherein the social media item recommendation list further comprises an icon list on the user interface graphically representing the one or more social media item recommendations.

36. The user interface of claim 31, wherein the first axis is a horizontal axis, and the second axis is a vertical axis, and wherein the focus area is in substantially the center of the user interface.