Degree of separation for media artifact discovery

Methods and apparatus, including computer program products, for degree of separation for media artifact discovery. A method includes visually highlighting a media artifact on a Web page in response to a user's media preferences and how distant from a core range of media preferences the user wants to engage more media, and generating for display to the user additional information and resources about the visually highlighted media artifact and how the visually highlighted media artifact relates to the core range of media preferences in response to a user action.

BACKGROUND

The present invention relates to data processing by digital computer, and more particularly to degree of separation for media artifact discovery.

The World Wide Web (the “Web”) is a system of interlinked, hypertext documents accessed using the Internet. A Web browser, often considered a client program in a client server network, is an application program that provides a way to look at and interact with all the information (generally referred to as “content”) on the Web. With a Web browser, such as Firefox®, Opera®, or Netscape Navigator®, a user can view Web pages that may contain text, images, and/or other multimedia, and navigate between Web pages using hyperlinks.

With the plethora of content residing on the Web, it is often difficult, time consuming and sometimes less than apparent for a user to narrow the tsunami of information and be exposed to new content with some relationship to the user's personal tastes and preferences.

SUMMARY

The present invention provides methods and apparatus, including computer program products, for degree of separation for media artifact discovery.

In general, in one aspect, the invention features a method including visually highlighting a media artifact on a Web page in response to a user's media preferences and how distant from a core range of media preferences the user wants to engage more media, and generating for display to the user additional information and resources about the visually highlighted media artifact and how the visually highlighted media artifact relates to the core range of media preferences in response to a user action.

In embodiments, the media artifact can be selected from the group including movie titles, actors, audio artists, album titles, publications, song titles and singers.

Visually highlighting can include altering an appearance of the media artifact. Altering can include underlining and/or bolding the media artifact.

The user's media preferences can be selected from the group including preferred movie titles, preferred actors, preferred audio artists, preferred album titles, preferred publications, preferred song titles and preferred singers.

The core range of media preferences can include a numerical indication representing a range of information that is tangential to a primary media preference in which the user may be interested.

Generating can include matching the media artifact against the user's media preferences and the core range of media preferences with data in a store of media artifact information, the matching including identifying one or more relationships between the media artifact against the user's media preferences, the core range of media preferences and the data in the store.

The method can include displaying the generated additional information and resources about the visually highlighted media artifact and how the visually highlighted media artifact relates to the core range of media preferences in a pop-up window. The method can include visually highlighting a media artifact in the pop-up window in response to the user's media preferences and how distant from a core range of media preferences the user wants to engage more media, and generating for display to the user additional information and resources about the visually highlighted media artifact and how the visually highlighted media artifact relates to the core range of media preferences in response to a user action. Displaying can include the generated additional information and resources about the visually highlighted media artifact and how the visually highlighted media artifact relates to the core range of media preferences in a second pop-up window.

The user action can be selected from the group including mouse movement, mouse clicking, keyboard input and touch input.

In another aspect, the invention features a method including, in a network of interconnected computers, storing information related to media artifacts on a server, storing a user's media preferences and how distant from a core range of media preferences the user wants to engage more media on the server, visually highlighting a media artifact on a Web page in response to a user's media preferences and how distant from a core range of media preferences the user wants to engage more media, and generating for display to the user additional information and resources about the visually highlighted media artifact and how the visually highlighted media artifact relates to the core range of media preferences in response to a user action, the user action selected from the group including mouse movement, mouse clicking, keyboard input and touch input.

In embodiments, the media artifacts can be selected from the group including movie titles, actors, audio artists, album titles, publications, song titles and singers.

Visually highlighting can include altering an appearance of the media artifact. Altering can include underlining and/or bolding the media artifact.

The user's media preferences can be selected from the group including preferred movie titles, preferred actors, preferred audio artists, preferred album titles, preferred publications, preferred song titles and preferred singers.

The core range of media preferences including a pictorial indication representing a range of information that is tangential to a primary media preference in which the user may be interested.

Generating can include matching the media artifact against the user's media preferences and the core range of media preferences with data in the store of media artifact information, the matching including identifying one or more relationships between the media artifact against the user's media preferences, the core range of media preferences and the data in the store.

The method can include displaying the generated additional information and resources about the visually highlighted media artifact and how the visually highlighted media artifact relates to the core range of media preferences in a pop-up window, visually highlighting a media artifact in the pop-up window in response to the user's media preferences and how distant from a core range of media preferences the user wants to engage more media, and generating for display to the user additional information and resources about the visually highlighted media artifact and how the visually highlighted media artifact relates to the core range of media preferences in response to a user action. The method can include displaying the generated additional information and resources about the visually highlighted media artifact and how the visually highlighted media artifact relates to the core range of media preferences in a second pop-up window.

In another aspect, the invention features a method including, in a network, sending user media preferences relating to media artifacts and how distant from a core range of media preferences a user wants to engage more media from a client to a server, loading a web page on the client, the web page including a visually highlighted media artifact, activating the visually highlighted media artifact on the web page, and in response to activating, receiving additional information and resources about the visually highlighted media artifact and how the visually highlighted media artifact relates to the user media preferences from the server for display to the user.

In embodiments, the media artifacts can be selected from the group including movie titles, actors, audio artists, album titles, publications, song titles and singers.

The distance from a core range of media preferences can include a numerical indication representing a range of information that can be tangential to a primary media preference in which the user may be interested.

The visually highlighted media artifact can include a match among the media artifact, the user's media preferences, the core range of media preferences and data in a store of media artifact information in the server.

The received additional information and resources about the visually highlighted media artifact and how the visually highlighted media artifact relates to the user media preferences can be displayed in a pop-up window.

The method can include activating a visually highlighted media artifact on the pop-up window, and in response to activating, receiving additional information and resources about the visually highlighted media artifact in the pop-up window and how the visually highlighted media artifact relates to the user media preferences from the server for display to the user.

The received additional information and resources about the visually highlighted media artifact in the pop-up window and how the visually highlighted media artifact relates to the user media preferences can be displayed in a second pop-up window.

In another aspect, the invention features a graphical user interface (GUI) including a display including user-selectable media artifacts, user-selectable ratings of the media artifacts, and user-selectable preference indicators preference including a numerical indication of how distant from a core range of media preferences a user wants to engage more media.

In embodiments, the media artifacts can be selected from the group including movie titles, actors, audio artists, album titles, publications, song titles and singers.

The ratings can be selected from the group including numerical indicators and pictorial indicators.

The invention can be implemented to realize one or more of the following advantages.

A method solves the problem of new media discovery by leveraging institutional and social knowledge in conjunction with context and user preferences.

A method reads a media artifact and cross references the media artifact against a user's preferences and tastes (e.g., ratings), and how far out of a core range a user wants to engage more media, i.e., degrees of separation. The method pulls more information and resources about the particular media artifact and how it relates to the core preferences of the user.

A method enables a greatly enhanced and near seamless media discovery experience.

A method leverages “the world's knowledge” contained as content on a globally connected network of computers to provide a wide range of resources for a particular media artifact.

One implementation of the invention provides all of the above advantages.

DETAILED DESCRIPTION

As shown inFIG. 1, an exemplary system10, shown here as a client server system, includes a server12connected to a global network of interconnected computers14. A client16is linked to the server12through the network14.

The server12can include a storage device20for storing content and data that is distributed through the network14to the client16. The server12includes a processor22and memory24. Memory24includes an operating system (OS)26, such as Linux®, or Windows®, and a new media discovery process1000, described below.

In one particular example, the network14is the Internet. In other examples, the network14can be any network capable of transmitting data, such as, for example, an intranet, Local Area Network (LAN), Wide Area Network (WAN), or other network using point-to-point protocols (PPP), Wireless Application Protocols (WAP), and so forth.

As shown inFIG. 2, client16includes a processor28and memory30. Memory includes an OS32, such as Linux® or Windows®, and a Web browser process34, such as Firefox®, Opera® or Netscape Navigator®. A user accesses content residing on the server12through network14using Web browser process34. In general, a Web browser is a software application used to locate and display Web pages. Most Web browsers are graphical in nature, which means that they can display graphics as well as text. In addition, most Web browsers can present multimedia information, including sound and video, and some include plug-ins designed for some particular formats and functions.

The client16includes an input/output (I/O) device36and may include a storage device38. The I/O device36often includes a graphical user interface (GUI)40, used by the Web browser process34, for display to a user42.

As shown inFIG. 3, the server12can include one or more web-based services50that the user42of the client16may subscribe to. Web-based services50can include Web-based email services52, such as Yahoo!® email, Web-based toolbar services54, such as Yahoo!® toolbar, Web-based instant messaging services56, such as Yahoo!® Messenger, and so forth. In general, Web-based email (or “Web mail”) is a term that refers to an e-mail service intended to be primarily accessed using the Web browser process34, as opposed to through an application such as Mozilla's Thunderbird™, Apple's® Mail or Microsoft Outlook®.

In general, a toolbar is a row, column, or block of onscreen buttons or icons that, when clicked, activate certain functions of the toolbar program. Web-based toolbars for Web browsers add functionality and ease-of-use options for the end user. While the Web browser itself handles basic browsing navigation (e.g., “Back,” “Stop,” “Reload,” and so forth), Web-based toolbars often add additional functionality to browsers (e.g., additional search fields, form-fill, links back to popular sites, and so forth).

In general, instant messaging (IM) is a form of real-time communication between two or more people based on typed text. The text is conveyed via computers connected over a network such as the Internet.

As shown inFIG. 4, the server12can include a user profile store60and a media information store61. The user profile store60can be a flat file containing user profile information and user preferences or a database file within a database management system (DBMS). The user profile store60includes a user profile62for each user registered with one of the web-based services50. The user profile62can include one or more data elements relating to the registered user, such as username64, profile information66(e.g., age range, nationality, sex, geographic residence, and so forth), user preferences68(e.g., favorite media artifacts and so forth), and user preference indicators70. Media artifacts can include, for example, movie titles, actors, audio artists, album titles, publications, song titles and singers.

User preferences68, sometimes referred to as “core preferences,” can include, for example, preferred movie titles, preferred song artists, preferred song titles, preferred album titles, preferred actors, preferred singers, preferred publications and other ancillary information. User preference indicators70generally indicate how far out of or away from the core preferences a user may want to discover new media artifacts (sometimes referred to as “degrees of separation”). For example, a user preference may be “action-type” movies. If a user's preference indicators reflect that the user is willing to be exposed to or learn about movies one degree of separation away from action-type movies, process1000may consider “mystery-type” movies. If a user's preference indicators reflect that the user is willing to be exposed to or learn about movies two degrees of separation away from action-type movies, process1000may include a tertiary indication of “drama-type” movies. In an extreme example, a user preference indicator70may indicate the user is unwilling to be exposed to or learn about anything but the user's core preferences (i.e., zero degree of separation).

The media information store61includes general media data accumulated by the server12in response to search (e.g., crawler) and indexing of server systems (not shown) linked to or residing in the global network of interconnected computers14. In general, a crawler is a process residing in a server system that visits Web sites and reads their Web pages and other information in order to generate entries for a search engine index. The major search engines on the Web, such as Yahoo!®, all have such a program, which is also known as a “spider” or a “bot.” Crawlers are typically programmed to visit Web sites that have been submitted by their owners as new or updated. Entire Web sites or specific Web pages can be selectively visited and indexed.

As shown inFIG. 5, an exemplary user preference80indicates a user's preference for the artist KRS-ONE82. The user preference80includes a song title84, an album title86, an artist name88, a duration90, a user rating92and a degree of separation94. In this example, the user ratings92are pictorial, i.e., stars, and the degrees of separation94range from 0 to 2.

Process1000enables new media discovery by leveraging institutional and social knowledge in conjunction with context and user preferences stored in the user profile store60at the server12. As shown inFIG. 6, new media discovery process1000includes receiving (1002) user profile information, user core preferences and indications of how far out of these core preferences the user wants to discover new media (i.e., degrees of separation).

The new media discovery process1000stores (1004) the user profile information, user core preferences and indications of how far out of these core preferences the user wants to discover new media (i.e., degrees of separation).

As the user surfs Web pages, the new media discovery process1000parses (1006) the content of the Web pages and compares (1008) the parsed content against the stored user profile information, user core preferences and indications of how far out (e.g., degrees of separation) of these core preferences the user wants to discover new media.

Parsing (1006) occurs in the client16using a helper application, such as YAHOO!® Toolbar or YAHOO!® browser plus. This helper application communicates with the server12in order to find matches of Web content, user preferences and data contained in the media information store61. Comparing (1008) occurs in the client16using the same helper application. The user preferences and degrees of separation are stored in the server12in user profile store60. The helper application obtains preferences and media information from the server12in order to know what it needs to visually highlight.

When new media discovery process1000finds a media artifact in the media information store61that matches the user's preferences and indications, new media discovery process1000visually highlights (1010) this media artifact to the user's attention. Visually highlighting (1010) can include underlining, bolding, font size, type or shape change, flashing, or otherwise visually differentiating the media artifact from the other content on the displayed page. Other attention-getting options can include, for example, causing a sound, spoken words, snippet of music, and so forth.

In response to the user rolling a mouse or other indication, such as a click or a touch, over the visually highlighted media artifact, new media discovery process1000visually presents (1012) additional information about the media artifact and how this media artifact relates to the user's preferences. In a particular example, presenting (1012) is enabled by JavaScript® injected into the Web page.

In general, JAVASCRIPT® is a scripting language used to write functions that are embedded in or included from Hypertext Markup Language (HTML) Web pages and interact with the Document Object Model (DOM) of the Web page to perform tasks not possible in HTML alone. In this example, presenting (1012) the additional information takes a form of a display pop-up window. The JAVASCRIPT® is injected into the HTML of the page by the helper application (e.g., YAHOO!® Toolbar or YAHOO!® browser plus) that runs in the client16.

In response to the user clicking on a portion of the additional information, new media discovery process1000combines (1014) ratings and preferences to better fine tune the user profile and engage in more media discovery. As described previously, the ratings and preferences are stored on the server12in the user preference store60. When the user clicks, for example, on the presented Javascript®, the Javascript® passes information back to the server12and adds this information to the existing user preferences of this particular user that are stored on the server12. The helper application that runs on the client16acts as a middle layer between the Javascript® (i.e., presentation layer) and the server-side12information (i.e., database layer). This middle layer processes all of the necessary preferences logic (based on user preference information from the server12) and controls the discovery and visually highlighting of the media artifacts via the Javascript®. The server12that is serving the page is completely independent of this process.

New media discovery process1000can be illustrated by way of an example. As shown inFIG. 7, a graphical user interface (GUI)100displays some hip hop news102and some news about Marley Marl104. Process1000recognizes Marley Marl's name as a media artifact based on this user's preferences but the user is not familiar with Marley Marl's work. This user, for example, has preferences shown previously inFIG. 5. Because Marley Marl has been determined to be of relevance to the user by virtue of the user's stored preference information and the page being parsed to identify media artifacts as described above, the words Marley Marl104are visually highlighted in GUI100.

As shown inFIG. 8, process1000presents a pop-up window110with an album that Marley Marl performed along with KRS-ONE, in response to the user dragging a mouse, for example, over the visually highlighted text104. From there the user can play the album, add it to user's preferences, rate it, and so forth. Here, the user preferences and user preference indicators are set to “2 degrees of separation” for “all artists rated 4 stars.” Since Marley Marl recently performed an album with KRS (i.e., 1 degree), a pop-up window is generated. Preferable, there is more information available to the user on Marley Marl, such as his bio, discography, and other artists he has worked with.

As described above, the user preferences and degrees of separation are set in the general user preferences of that user's profile. As the user navigates and discovers more music or other media artifacts, the user rates more music, and this adds to the server-side store of data about that user (i.e., updates the user profile information stored in the user profile store60for this particular user). These degrees are determined by the “directness of the relationship” of one media artifact to another. Using an example of the rock band Led Zepplin, Robert Plant would be 1 degree (band member, direct connection) and Jimmy Page would be 1 degree (band member, direct connection). The rock band the Yardbirds would be 2 degrees (Jimmy Page was in this band before Led Zepplin, secondary connection). Band of Joy would be 2 degrees (Robert Plant was in this band before Led Zepplin, secondary connection). Kevyn Gammond would be 3 degrees (Kevyn Gammond was in Band of Joy, tertiary connection). Chris Dreja would be 3 degrees (Chris Dreja was in the Yardbirds, tertiary connection).

As shown inFIG. 9, a GUI120displays an example of a 2.sup.nd degree of separation can occur for the 4 star rated artist KRS-ONE. In this example, Biz Markie has a relationship with the user's 4 star rated artist KRS-ONE through Marl. Assume the user preference indicator is set to 2 degrees of separation for all artists. Biz Markie was produced by Marley Marl as part of the Juice Crew, and Marley Marl recently performed on an album with KRS-ONE, so if the user drags a mouse, for example, over the visually highlighted text121, process1000generates a pop-up window122. There is more information available to the user in the popup window122, such as his bio, discography and other artists he has worked with. The user can play, add to their preferences and rate. This is determined and stored at the server12using server-based applications, such as Yahoo! As described above, the information gets to the JAVASCRIPT® pop-up by way of the middle layer installed on the client16. For example, the media artifact can be added to a user's YAHOO!® media storage locker.

Features for a given media artifact include for example, “rate” (i.e., add a rating to the artifact), “store” (e.g., download to from client16to YAHOO!® media storage locker on the server12), “add to playlist” (e.g., adds to playlist that is stored in the YAHOO!® media storage locker), “burn” (e.g., burns to a CD via the middle layer (described above) installed on the client16), “share via email” (e.g., emails a link to the artifact with additional artifact information), and “save via YAHOO!® Instant Messenger (i.e., Instant Messenger's a link to the artifact with additional artifact information).