A system for presenting customizable information about fantasy sports teams is described. In the following description, numerous specific details are set forth to provide a more thorough description of the system. It will be apparent, however, that the system may be practiced without these specific details. In other instances, well know features have not been described in detail.
Social Media Platform
In one embodiment, the invention is particularly applicable to a Social Media Platform in which the source of the original content is a broadcast television signal and it is in this context that the invention will be described. It will be appreciated, however, that the system and method has greater utility since it can be used with a plurality of different types of original source content.
The ecosystem of the Social Media Platform may include primary sources of media, generative media, participatory media, generative programming, parallel programming, and accessory devices. The Social Media Platform uses the different sources of original content to create generative media, which is made available through generative programming and parallel programming (when published in parallel with the primary source of original content). The generative media may be any media connected to a network that is generated based on the media coming from the primary sources. The generative programming is the way the generative media is exposed for consumption by an internal or external system. The parallel programming is achieved when the generative programming is contextually synchronized and published in parallel with the transmitted media (source of original content). The participatory media means that third parties can produce generative media, which can be contextually linked and tuned with the transmitted media. The accessory devices of the Social Media Platform and the parallel programming experience may include desktop or laptop PCs, mobile phones, PDAs, wireless email devices, handheld gaming units and/or PocketPCs that are the new remote controls.
The contextual content source 12 may include different types of contextual media including text, images, audio, video, advertising, commerce (purchasing) as well as third party content such as publisher content (such as Time, Inc., XML), web content, consumer content, advertiser content and retail content. An example of an embodiment of the user interface of the contextual content source is described below with reference to
The original/primary content source 10 is fed into a media transcriber 13 that extracts information from the original content source which is fed into a social media platform 14 that contains an engine and an API for the contextual content and the users. The Social Media Platform 14 at that point extracts, analyzes, and associates the Generative Media (shown in more detail in
The social media platform uses linear broadcast programming (the original content) to generate participative, parallel programming (the contextual/secondary content) wherein the original content and secondary content may be synchronized and delivered to the user. The social media platform enables viewers to jack-in into broadcasts to tune and publish their own content. The social media platform also extends the reach of advertising and integrates communication, community and commerce together.
The social media platform 14, in this embodiment, may be a computer implemented system that has one or more units (on the same computer resources such as servers or spread across a plurality of computer resources) that provide the functionality of the system wherein each unit may have a plurality of lines of computer code executed by the computer resource on which the unit is located that implement the processes and steps and functions described below in more detail. The social media platform 14 may capture data from the original content source and analyze the captured data to determine the context/subject matter of the original content, associate the data with one or more pieces of contextual data that is relevant to the original content based on the determined context/subject matter of the original content and provide the one or more pieces of contextual data to the user synchronized with the original content. The social media platform 14 may include an extract unit 22 that performs extraction functions and steps, an analyze unit 24 that performs an analysis of the extracted data from the original source, an associate unit 26 that associates contextual content with the original content based on the analysis, a publishing unit 28 that publishes the contextual content in synchronism with the original content and a participatory unit 30.
The extraction unit 22 captures the digital data from the original content source 10 and extracts or determines information about the original content based on an analysis of the original content. The analysis may occur through keyword analysis, context analysis, visual analysis and speech/audio recognition analysis. For example, the digital data from the original content may include close captioning information or metadata associated with the original content that can be analyzed for keywords and context to determine the subject matter of the original content. As another example, the image information in the original content can be analyzed by a computer, such as by video optical character recognition to text conversion, to generate information about the subject matter of the original content. Similarly, the audio portion of the original content can be converted using speech/audio recognition to obtain textual representation of the audio. The extracted closed captioning and other textual data is fed to an analysis component which is responsible for extracting the topic and the meaning of the context. The extract unit 22 may also include a mechanism to address an absence or lack of close caption data in the original content and/or a mechanism for addressing too much data that may be known as “informational noise.”
Once the keywords/subject matter/context of the original content is determined, that information is fed into the analyze unit 24 which may include a contextual search unit. The analysis unit 24 may perform one or more searches, such as database searches, web searches, desktop searches and/or XML searches, to identify contextual content in real time that is relevant to the particular subject matter of the original content at the particular time. The resultant contextual content, also called generative media, is then fed into the association unit 26 which generates the real-time contextual data for the original content at that particular time. As shown in
The participatory unit 30 may be used to add other third party/user contextual data into the association unit 26. The participatory contextual data may include user publishing information (information/content generated by the user or a third party), user tuning (permitting the user to tune the contextual data sent to the user) and user profiling (that permits the user to create a profile that will affect the contextual data sent to the user). An example of the user publishing information may be a voiceover of the user which is then played over the muted original content. For example, a user who is a baseball fan might do the play-by-play for a game and then play his play-by-play while the game is being played wherein the audio of the original announcer is muted which may be known as fan casting.
The publishing unit 28 may receive data from the association unit 26 and interact with the participatory unit 30. The publishing unit 28 may publish the contextual data into one or more formats that may include, for example, a proprietary application format, a PC format (including for example a website, a widget, a toolbar, an IM plug-in or a media player plug-in) or a mobile device format (including for example WAP format, JAVA format or the BREW format). The formatted contextual data is then provided, in real time and in synchronization with the original content, to the devices 16 that display the contextual content.
The data processing engine 46 also receives input from a channel configurator 50 that configures the content for each different type of content. The data from the original content and the data processed by the data processing engine 46 are stored in a data storage unit 52 that may be a database. The database also stores the channel configuration information, content from the preauthoring tools (which is not in realtime) and search results from a search coordination engine 54 used for the contextual content. The search coordination engine 54 (part of the analysis unit 24 in
Although the interface of
When a user selects the Fox News channel, the user interface shown in
Fantasy Sports Presentation
The social media platform described above can be adapted to be used in connection with the fantasy sports presentation of the system. The system uses a number of widgets for presentation to the user. A non-exhaustive example of widgets used in an embodiment of the system include scoreboard, the system provides play by play, player profiles, boxscores, images and video, news, chat, contextual information, alerts, and other information related to the owner's team.
The scoreboard is a widget that displays opponents and related game information. The scoreboard for the user's match-up that shows the names of the Fantasy Teams playing. Another scoreboard (other game scoreboard) shows the match-ups of other Fantasy Teams in the Fantasy League. The play by play widget will show plays that mention a player on a user's fantasy roster and/or opponents roster (the user can customize the play by play to limit it to his own team if desired). The player profile widget will show profile and personal information for players on the user's fantasy roster and/or opponents roster. The Boxscore widget shows player statistics for players on the user's fantasy roster and/or player statistics for the user's opponent. A photo widget shows photos and images filtered based on the user's fantasy roster and/or opponent's roster. A news widget displays relevant news and may be filtered based on the user's fantasy roster and/or opponents roster. A chat widget is targeted to the participants in the league. Contextual information is used to display other information and may be displayed for the user's fantasy roster and/or opponents roster for any additional widgets supported for that sport. An alert widget is used to detect, display, and forward alerts based on alert requests set by the user. For example, an owner may want an alert sent to him whenever one of his players is mentioned in the news. This can be important in managing the Fantasy Team. If a player becomes injured or it is determined that the player will not play, it is important for the owner to find out immediately so that corrective roster action can be taken. Similarly, if a player is slated to play who hadn't been playing, the owner will want to know of that option. An owner may also want to set alerts for opposing team members as well. Sometimes there are steps that can be taken to limit the ability of an opposing owner to react favorably to a change in player status and time is of the essence in such a case. The alert widget allows the owner to be made instantly aware of important information.
Block Diagram
The scraping module 702 is coupled to a database 703 that stores the raw fantasy data for the leagues that subscribe to the system. Database 704 stores statistical information related to the league. The databases are coupled fantasy scoring engine 705 which is in turn coupled to database 706 for storing computed fantasy data. It should be noted that although the databases are shown as separate elements, they may be stored in a single database as desired. The fantasy raw data database 703 and fantasy scoring engine 705 are coupled to fantasy data agent 707. The fantasy data agent 707 is coupled to the scoreboard 708 and widgets 709.
The scraping module 702 is designed to retrieve Fantasy League data from the sites that are servicing the Fantasy Teams. The scraping module must be able to impersonate an authorized user so that league, team, roster, and rules can be retrieved from the hosting site. In one embodiment, Fantasy League owners can sign up with a hosting site. Once the Fantasy League and Fantasy Teams are formed, the Fantasy Owners register their teams on the system, including user names and passwords used for the hosting site. The owners then use the system to follow league play instead of the hosting site. The system scrapes data from the hosting site periodically and provides required information (e.g. trades, deactivation of players, roster selections, etc.) back to the hosting site as needed for compliance. The owners can do all league operations on the system which then forwards the information to the hosting site.
The scraping module 702 should be able to handle html and xml elements, AJAX controls, and be able to obtain data from the following pages on a host site:
Examples of scraping software that could be used for the system includes Screen-Scraper, Dapper, and Statfink. It should be noted that not all Fantasy Owners need to subscribe to the system. Any Fantasy Owner can subscribe to the system individually as desired.
Fantasy Scoring Engine
The fantasy scoring engine 705 is the module that computes the scores of the Fantasy Team using the rules that have been setup by the Commissioner on a fantasy site in connection with a statistical data source (e.g. Stats, Inc. or Stats Live). The scoring engine can support multiple sports (e.g. football, basketball, baseball) and should be able to handle the different scoring rules promulgated by different Fantasy Leagues. The scoring could be in real time (during actual game play) or updated at the end of each day a game is played.
Fantasy Data Agent
The fantasy data agent 707 is used to aggregate data and send data to the appropriate users depending on the customization selections that the users have made and the Fantasy Team rosters. The fantasy data agent is also in charge of sending out alerts as appropriate based on the users requests for alerts.
Sign-in and Access
If the owner is a new sign-in at decision block 802, the system proceeds to step 807. At step 807 the owner selects the Fantasy League of which he is a member, and its host site, and indicates his Fantasy Team at step 808. The owner indicates his username and password for his Fantasy League at step 809. The system can then scrape the host site for the owners roster data, league rules, and other data and set up the owner in the databases of the system. The owner then has the option of proceeding to the dashboard of step 803 or exiting the system till another time.
Widgets
The system provides a unique and customizable user experience that is not available via current hosting sites. This is possible in part because the system provides a plurality of widgets that are available for use. In one embodiment, the user can design and use custom widgets as well. A widget is a presentation module that presents secondary content to the user. The presentation of the content may be based on triggers or it may be independent of triggers. In some cases the presentation of content is time dependent. In other cases the presentation of content is generated by third parties and is related only to the generation of new content by those third parties. In one embodiment, the user can have a plurality of widgets on a computer display, with each widget providing a particular type of content. The system allows the user to select from a plurality of widgets and to arrange them on a display desktop as desired.
Widgets in the fantasy dashboard display content specific to the Fantasy Owner, his team, and roster, and optionally, the owner's opponent. The system contemplates a plurality of predefined widgets in one embodiment.
News/Ticker
The news ticker widget is a widget that scans news sites and retrieves stories based on keywords. Consider the case where Fantasy team 1 has a Fantasy matchup with Fantasy team 2. News may be filtered by “Player Name” based on roster of Fantasy team 1 and Fantasy team 2. The News and Ticker widget will display news stories only for players on Fantasy team 1 and Fantasy team 2. Keywords used for the News and Ticker widget would be “Player name” for players on Fantasy team 1 and Fantasy team 2. There could also be multiple instances of the widgets in a nested arrangement. For example, there could be an instance of News/Ticker filtered by “Fantasy team 1”, filtered by “Fantasy team 2”, or filtered by “matchup” (includes “Fantasy team 1” and “Fantasy team 2”). Additionally, stats tickers can be created that display only pure statistical data for both or either fantasy team, free agents or individuals on either roster.
Photos
The photo widget finds and displays photos based on keywords such as player name, team name, etc. Consider Fantasy team 1 in a Fantasy matchup with Fantasy team 2. Photos will be filtered by “Player Name” based on roster of Fantasy team 1 and Fantasy team 2. The In-game photos widget will display in-game photos only for players on Fantasy team 1 and Fantasy team 2 in one embodiment. Keywords used for the photos widget would be “Player name” for players on Fantasy team 1 and Fantasy team 2. The photo widget may also be nested and may display photos based on any suitable metadata and keywords.
Scoreboard
As noted above, the scoreboard widget can show either a single teams accumulation of points or it can show the head to head point accumulation of a team and its opponent (i.e. Fantasy team 1 has a Fantasy matchup with Fantasy team 2. Fantasy points for each team will be calculated based on “Active” Players on Fantasy team 1 and Fantasy team 2, which data is scraped from the host site. Instead of a scoreboard with actual NFL opposing teams such as “Denver Broncos vs. San Diego Chargers” the scoreboard widget will show the Fantasy team 1 name and the Fantasy team 2 name. This ability to give the impression that the two Fantasy teams are actually playing each other distinguishes the present system from the current art.
Fantasy team 1 and Fantasy team 2 score will be calculated based on player's statistics received from a statistical database, such as, for example, Stats Inc. Only statistics of “Active” players get calculated for the Fantasy score.
Scoreboard of Other Games Where Fantasy team 1 has a Fantasy match-up with Fantasy team 2. Fantasy points for each team will be calculated based on “Active” Players on Fantasy team 1 and Fantasy team 2. The scoreboard of other games in the Fantasy League will show all fantasy matchups for a specific league. It will display as a tab in the scoreboard of other games like other sports (NFL, NBA, etc.).
Play by Play
The play by play widget will give updates of activities of the active roster of the owners Fantasy team during a match or scoring period. Where Fantasy team 1 has a Fantasy matchup with Fantasy team 2, Play by Play will be filtered by “Player Name” based on the roster of Fantasy team 1 and Fantasy team 2. In one embodiment, the play by play widget will only show plays that mention a player on a Fantasy team 1 roster and Fantasy team 2 roster
Player Profile
The Player Profile widget will only display players on a Fantasy team 1 roster and Fantasy team 2 roster. Players being displayed will be keyed off of the Stats Inc. Play by Play. The Player Profile widget may display personal information about the player including current game statistics, season statistics and other relevant data.
Boxscore
The Boxscore widget displays the roster members starting at beginning of game, number of fantasy players that have played, and current fantasy points. The fantasy points are calculated based on the Fantasy League rules scraped from the host site.
Chat
The chat widget is to enable live chat between owners. In one embodiment, only registered system users that are in the same fantasy league are available to chat in that chat room. The system should be able to identify and associate users in the same Fantasy league. Only users that are in the same Fantasy league will be able to chat on the Fantasy tab. The chat widget can display the owner's name, the owner's Fantasy Team name, or some other name selected by the owner.
Using presence, the system will visually notify or alert the user if another user in the same Fantasy league is on the system site so that they can be invited to chat in the chat room. Accepting the invitation will open up the user's fantasy tab with the chat widget open.
Player Tracker
The player tracker widget tracks news, statistics, and other related information of a player on the owner's watch list. If the Player Profile widget is not on the user's Fantasy tab, the user opens the widget gallery and adds the Player Profile widget to their Fantasy tab. The user can add a player to their “watch” list. Player displays in the user's Player Profile widget with all other player's from their fantasy roster.
Player Compare (Player Profile Widget Enhancement)
An owner accesses the system and selects the player profile widget to access the player compare feature. The owner will be able to manually select Fantasy Players to compare to each other. The comparison can be on a daily, season, and career statistics including fantasy points that the player has earned or could have earned if designated as a starter.
In addition to comparing players selected by an owner, the system can seek out comparable players based on selected metrics such as actual statistics and fantasy points earned. This allows an owner to recognize similar players that may be appropriate for trading, activating, free agent pickup or other transaction. The comparison performed by the Player Compare widget may be based on statistics for that day, season, or career.
On-Screen Alerts
Under “Alerts”, an owner is able to select the type and frequency of on-screen alerts. Once settings are saved, system displays on on-screen alert based on selected alert criteria. The owner can open the alert to learn more information or close the alert. The owner is able to view a log of on-screen alerts received over a specified period (day, week, month).
Alert types include:
Injuries—the owner receives an on-screen alert when a player from their fantasy roster is injured. Once the alert is received, owner can select an option to view the top free agents available in the owner's fantasy league based on fantasy points and position.
Top performers—The owner receives an on-screen alert for players that exceed a specific number of fantasy points (for example, over 30 fantasy points) for a given position in a given day as specified by the owner from the alert setting menu.
Players that show up in alerts can be added to the owner's “watch” list that is displayed in the Player Profile Widget. Other alerts can be added by the owner as desired.
While the foregoing has been with reference to a particular embodiment of the invention, it will be appreciated by those skilled in the art that changes in this embodiment may be made without departing from the principles and spirit of the invention, the scope of which is defined by the appended claims.
This is a continuation-in-part of, and claims priority to, pending U.S. patent application Ser. No. 11/540,748 filed Sep. 29, 2006 and entitled “Social Media Platform and Method” which is incorporated in its entirety herein.
Number | Date | Country | |
---|---|---|---|
Parent | 11540748 | Sep 2006 | US |
Child | 11848182 | US |