Method and System for Providing Recording Functionality for Related Season Series

JP7912042B2Active Publication Date: 2026-08-27ADAIR GUYS INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024151403
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2017-12-28
Filing Date
2024-09-03
Publication Date
2026-08-27
Estimated Expiration
2038-09-13

Smart Images

  • Figure 0007912042000005
    Figure 0007912042000005
  • Figure 0007912042000006
    Figure 0007912042000006
  • Figure 0007912042000007
    Figure 0007912042000007
Patent Text Reader

Abstract

To provide systems and methods for scheduling a season recording.SOLUTION: A series is provided to a user device, the series having a plurality of sequential seasons, and each season having a plurality of episodes. A request for recording the series is received from the user. In response, a last episode of the series watched by the user is identified. A relevant season of the plurality of seasons is then determined, such that the relevant season precedes another season of the plurality of seasons and includes the last episode watched by the user. Then, episodes of the relevant season that follow the last episode watched by the user are scheduled for recording, such that episodes of a season that precedes the relevant season are not scheduled for recording.SELECTED DRAWING: Figure 21
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] (Cross - Reference to Related Applications) This invention claims priority to U.S. Provisional Application No. 62 / 558,328, filed on September 13, 2017, and all of U.S. Application Nos. 15 / 857,176, 15 / 857,179, and 15 / 857,183, filed on December 28, 2017, which are hereby incorporated by reference in their entirety.

Background Art

[0002] Modern media systems (e.g., smart TVs) may provide a menu that includes menu icons that allow a user to launch an application by interacting with an individual menu icon (e.g., by clicking on it). Menu icons can sometimes provide additional information to the user; for example, a menu icon can be changed to indicate that a certain type of sale or promotion is ongoing. However, such menu icons cannot inform the user about the account status of the application associated with the individual menu icon. That is, the user has no way of knowing the account status (e.g., whether the user has a premium subscription or a free subscription) before actually launching the application. This deficiency can lead to an undesirable user experience where the user may not be able to launch the application and obtain the desired content, or may miss an opportunity for the desired content because they were unaware that they had access.

[0003] Furthermore, the menus of modern media systems often do not correspond to the remote control devices used by the user. Currently, users often use a combination of various inputs (e.g., buttons, scroll wheels, touchpads, microphones, etc.) and third-party devices or software-based remote controls. As a result, the menu interfaces provided by media systems often contain user interface elements that do not have corresponding inputs on the user's remote controller. Alternatively, or in addition, the menu interface may also be unable to utilize the inputs present on the remote controller.

[0004] Furthermore, modern media systems may have the capability to allow users to set up "season pass recordings" of series (e.g., television series). Generally, users will have the option to record either all seasons of a series or only the first episode. However, such systems generally disregard the user's current progress in the series. In particular, such systems lack the ability to record only the seasons most relevant to the user, based on the last episode of the series actually watched by the user. [Overview of the project] [Means for solving the problem]

[0005] For this purpose and other purposes, a system and method are provided to improve a user's media consumption experience by providing menu icons that indicate the level of access the user has granted to the application associated with that menu icon. For example, the system may determine the user's account status to the application (e.g., whether the user has a premium paid access level or free access). The system may then generate an appropriate icon based on the access level. For example, if the user has a premium paid access level, the icon may be highlighted in bright yellow, while if the user has a free access level, the icon may be presented in an inconspicuous blue. Other methods for distinguishing icons may also be used, as further described below. The generated menu icons are then presented to the user to provide access level information even before the application is launched.

[0006] For this purpose and other purposes, a system and method are provided for improving the media consumption experience for a user by providing a menu interface optimized for the type of remote controller used by the user to control the user device. The system may detect the functionality of a remote controller, for example, by communicating with the remote controller or by receiving an input that identifies the remote controller. The system may determine how each input of the remote controller is labeled and what functionality it has. The system may then select a user interface such that all elements of its interface match the labeling and functionality of at least one input of the remote controller. The interface may then be displayed on the user device.

[0007] For this purpose and other purposes, a system and method are provided to improve the ability of a media guide application to record relevant seasons of a series. The system may provide the user with several episodes of a series (e.g., a television series). The system may then receive a request from the user and record relevant seasons of the series. The system may determine the relevant season by determining the season to which the last episode watched by the user belongs. The system may then set up recording only those episodes that belong to the relevant season and come after the last episode watched by the user. This is particularly useful when the relevant season is not the last season of the series (e.g., season 4 of a series with 5 seasons). In this scenario, memory space is saved by recording only episodes of the relevant season (e.g., season 4) and not episodes of unrelated seasons (e.g., season 5).

[0008] In some embodiments, the media guide application determines the user's account status for the application. For example, the media guide application may access the user profile and determine whether the user has a first level of access to the application (e.g., free limited access) or a second level of access to the application (e.g., premium paid access). For example, the user profile may indicate that the user has access to a first set of media content using the first level of access (e.g., free limited access, which allows the user to view a limited library of media content). In another embodiment, the user profile may indicate that the user has access to a second set of media content, which is larger than the first set, using the second level of access to the application (e.g., premium access, which allows the user to view a complete library of media content provided by the application).

[0009] In some embodiments, in response to the step of determining that the account status indicates a first level of access to the application, the media guide application may generate a menu icon indicating a user who has a first level of access to the application. To indicate that these features indicate a user who has a first level of access to the application, the first menu icon may be generated with a specific color, a specific size, a static effect, or specific text. For example, the icon may have a dull color (e.g., light blue), be smaller in size, have the text “Free” or “Limited Access,” or lack animation effects to indicate that the user has a first level of access to the application (e.g., a free access level).

[0010] In some embodiments, the media guide application may generate a menu icon indicating a user with a second level of access to the application in response to the step of determining that the account status indicates a second level of access to the application. In some embodiments, the menu icon indicating a user with a second level of access may indicate that the user has access to a second set of media content that is larger than the first set that can be accessed using the first level of access. To indicate that these features indicate that the user has a second level of access to the application, the menu icon may, for example, be generated with a specific color, have a specific size, have a static effect, or include specific text. For example, the icon may have a bright color (e.g., bright yellow), be larger in size, have the text “Premium” or “Full Access” or have an animation effect to indicate that the user has a second level of access to the application (e.g., premium level access).

[0011] In some embodiments, the media guide application may maintain a user profile, which includes a user account status indicating the level of user access to individual applications for multiple applications. For example, if the user device is using Netflix, Amazon Video, or HBO... If applications such as Go are included, the Media Guide application may maintain user profiles for each of these applications, including user account status. For example, a user profile may include information that the user has a recent paid account on Netflix, a level of free access to Amazon Video, and a two-month subscription period to HBO Go.

[0012] In some embodiments, the media guide application may read the user's account status from the user profile in relation to a first application among several applications. For example, the media guide application may read the user's Amazon Video account status for the Amazon Video application. For example, if the user has only free access, the media guide application may read the "free access" status. In another embodiment, if the user has premium access (e.g., a Prime account), the media guide application may read the "premium" (e.g., "Prime") status.

[0013] In some embodiments, the media guide application may determine the level of access the user has to a first application based on the user's account status. For example, if the account status indicates "Free Access" status to Amazon Video, the media guide application may determine that the user has only a first level of access to the Amazon Video application (e.g., access to the "Free Access" media content collection). In another embodiment, if the account status indicates "Premium" status to the Amazon Video application, the media guide application may determine that the user has a second level of access to the Amazon Video application (e.g., access to the full "Prime" media content collection).

[0014] In some embodiments, a first level of access provides the user with access to a first set of media content (e.g., only a few free movies or movie trailers). In some embodiments, a second level of access provides access to a second set of media content, which includes at least one media content not included in the first set. For example, the second set may include the full version of a movie in addition to the movie trailers in the first set. In some embodiments, the first set may be an empty set; that is, the first level of access may not allow the user to access any media content. In some embodiments, the first level of access may indicate a user with free (e.g., non-paid) access to the application, while the second level of access may indicate a user with paid (e.g., subscription-based) access to the application.

[0015] In some embodiments, the media guide application may perform a different set of steps depending on the determined level of access. In some embodiments, in response to the step of determining that the user has a first level of access, the media guide application may generate a menu icon whose appearance indicates that the user has a first level of access to the first application. For example, the media guide application may generate an icon for the Amazon Video application with a specific color (e.g., an inconspicuous blue) that indicates a “free access” account status. In some embodiments, the media guide application may then generate menu icons for display on the user's device. For example, the Amazon Video menu icon may be generated from among icons representing launchable TV applications for display on the TV screen.

[0016] In some embodiments, in response to the step of determining that the user has a second level of access, the media guide application may generate a menu icon whose appearance indicates that the user has a second level of access to the first application. For example, the media guide application may generate an icon for the Amazon Video application against a specific color (e.g., bright yellow) that indicates a “premium access” account status. In some embodiments, the media guide application may then generate menu icons for display on the user's device. For example, an Amazon Video menu icon may be generated from among icons representing launchable TV applications for display on the TV screen.

[0017] In some embodiments, the media guide application may determine a time from the user's account status, where the time is the amount of time remaining until the user's subscription to the first application expires. For example, the media guide application may determine that the user purchased a premium subscription to the application at a certain time. For example, the media guide application may determine from the user's account status that the user purchased a two-month Amazon Prime subscription on January 2, 2015.

[0018] In some embodiments, the media guide application may then determine the user's level of access to the first application based on time. For example, the media guide application may add the length of the subscription to the date the subscription was purchased and compare it to the current date. For example, the media guide application may add two months to the date January 2, 2015, and compare the resulting date (March 2, 2015) to the current date. In one embodiment, if the current date is March 2, 2015 or earlier, the media guide application may determine that the user has a second level of access to the Amazon Video application (e.g., premium access). In this embodiment, if the current date is after March 2, 2015, the media guide application may determine that the user has a first level of access to the Amazon Video application (e.g., free access).

[0019] In some embodiments, the media guide application may generate a menu icon and include an indication of the time remaining until the user's subscription to a first application expires. For example, if a user purchases a two-month Amazon Prime subscription on January 2, 2015, the media guide application may add two months to the date January 2, 2015, and subtract the current date from the resulting date (March 2, 2015). For example, if the current date is March 1, 2015, the media guide application may calculate that there are two days remaining until the subscription expires.

[0020] In some embodiments, the media guide application may modify the appearance of the menu icon to include an indication of the remaining time. For example, the media guide application may modify the icon to include the text "You have 2 days of premium subscription remaining!" or "Expires in 2 days."

[0021] In some embodiments, the media guide application may change the appearance of a new icon by changing the appearance of the menu icon to include a first color, indicating that the user has a first level of access to the first application. For example, the media guide application may change the background color, filling color, or border color of the menu icon to a specific color (e.g., an inconspicuous blue). In some embodiments, the color may be pre-selected, dynamically generated, or selected via a user prompt.

[0022] In some embodiments, the step of changing the appearance of a menu icon to indicate that the user has a second level of access to a first application may include changing the appearance of the menu icon to include a second color different from the first color. For example, the Media Guide application may change the background color, filling color, or border color of the menu icon to a specific color (e.g., bright yellow). For example, the Media Guide application may change the background color, filling color, or border color of the menu icon to a specific color (e.g., inconspicuous blue). In some embodiments, the color may be pre-selected, dynamically generated, or selected via a user prompt.

[0023] In some embodiments, the media guide application may set the size of the menu icon to a first size when the appearance of the menu icon indicates that the user has a first level of access to the first application. For example, the media guide application may resize the menu icon to be 25% smaller. In some embodiments, the size reduction may be pre-selected, dynamically generated, or selected via a user prompt.

[0024] In some embodiments, the media guide application may set the size of the menu icon to a second size different from the first size when the appearance of the menu icon indicates that the user has a second level of access to the first application. For example, the media guide application may resize the menu icon to be 25% larger. In some embodiments, the size increase may be pre-selected, dynamically generated, or selected via a user prompt.

[0025] In some embodiments, the media guide application may set the appearance of the menu icon to be static when the appearance of the menu icon indicates that the user has a first level of access to the first application. For example, the media guide application may create a static and unchanging menu icon.

[0026] In some embodiments, the media guide application may modify the appearance of the menu icon to include an animation when the appearance of the menu icon indicates that the user has a second level of access to the first application. For example, the media guide application may create a video menu icon with a blinking element, a dynamically changing color, a moving shape, or any combination thereof.

[0027] In some embodiments, the media guide application may change the appearance of the menu icon to include a first text when the appearance of the menu icon indicates that the user has a first level of access to the first application. For example, the media guide application may modify the menu icon to include the text "Free Subscription". In some embodiments, the text may be pre-selected, dynamically generated, or selected via a user prompt.

[0028] In some embodiments, the media guide application may change the appearance of the menu icon to include a second text different from the first text when the appearance of the menu icon indicates that the user has a second level of access to the first application. For example, the media guide application may modify the menu icon to include the text "Premium Subscription". In some embodiments, the text may be pre-selected, dynamically generated, or selected via a user prompt.

[0029] In some embodiments, the media guide application may change the appearance of a menu icon to include an indication that the user has access to a first set of media content when the appearance of the menu icon indicates that the user has a first level of access to a first application. For example, the media guide application may modify the menu icon to include the text "Trailers only". In some embodiments, the text may be preselected, dynamically generated, or selected via a user prompt.

[0030] In some embodiments, the media guide application may change the appearance of a menu icon to include an indication that the user has access to a second set of media content when the appearance of the menu icon indicates that the user has a second level of access to a first application. For example, the media guide application may modify the menu icon to include the text "Full access!". In some embodiments, the text may be preselected, dynamically generated, or selected via a user prompt.

[0031] In some embodiments, the media guide application may generate a menu icon containing an upgrade input in response to the step of determining that the account status indicates a first level of access to the application. For example, the menu icon may include a sub-icon with the text "Click Now to Upgrade!". In some embodiments, the media guide application may adjust the appearance of the menu icon in response to the step of detecting user interaction with the upgrade input so that the appearance of the menu icon indicates that the user has a second level of access to the first application. For example, if the user clicks the "Click Now to Upgrade!" sub-icon, the media guide application may immediately modify the menu icon to indicate that the user has a second level of access to the first application. For example, the media guide application may remove the sub-icon and modify the color of the menu icon.

[0032] In some embodiments, the media guide application may detect the functionality of a remote controller that is communicatively connected to the user's equipment device. For example, the media guide application may wirelessly receive a description of the remote controller's functionality directly from the remote controller itself. In some embodiments, the media guide application may receive input from the user identifying the model of the remote controller. For example, the media guide application may then query a remote server for the functionality of the remote controller based on the model of the remote controller.

[0033] In some embodiments, the media guide application may determine the labeling and functionality of each input on the remote controller. For example, the media guide application may look up this functionality within the functionality of the remote controller. For example, the media guide application may determine that the remote controller has a single-click button labeled "Power" and a circular touchpad labeled "Red".

[0034] In some embodiments, the media guide application may select a user interface that includes at least one user interface element that matches the labeling and functionality of at least one input of the remote controller. In some embodiments, the media guide application may select a user interface from several possible user interfaces based on matching the user interface element to the input of the remote controller. For example, the media guide application may select a user interface that has a circular volume control element labeled "red". In some embodiments, the media guide application may select a user interface such that each interface element of the user interface matches the labeling and functionality of at least one input of the remote controller.

[0035] In some embodiments, the media guide application may then display a selected optimal user interface on the user's device. For example, the media guide application may display the user interface on the user's television screen, tablet, smartphone, or any combination thereof.

[0036] In some embodiments, the media guide application may detect a remote controller that can interact with a user interface on a user device located remotely from the remote controller. For example, the media guide application may do so depending on the initial setup of the user device or when the user acquires a new remote controller. In some embodiments, the remote controller includes multiple inputs such as buttons, scroll wheels, touchpads, microphones, other input elements, or any combination thereof.

[0037] In some embodiments, the media guide application may determine the characteristics of the remote controller. For example, the media guide application may access a table describing an indicator and input type for each input of the remote controller. Such a table may be provided directly by the remote controller. In some embodiments, the media guide application may obtain the table from a remote server based on the descriptions. In some embodiments, the characteristics may include descriptions of all of a plurality of inputs, with each input description comprising the input type and the input indicator. In some embodiments, the remote controller is a device physically separated from the user equipment. For example, the user equipment may include a television screen, while the remote controller may be a separate battery-operated electronic device.

[0038] In some embodiments, the media guide application may select the optimal user interface to display on the user's device based on the characteristics of the remote controller. For example, the media guide application may select the optimal user interface from among pre-stored template user interfaces. In some embodiments, the media guide application may also dynamically generate the optimal user interface.

[0039] In some embodiments, the media guide application may select the optimal user interface by performing a series of steps. These steps may include storing a plurality of template user interfaces, each template user interface comprising a plurality of user interface elements, each interface element comprising a label and a functionality type. For example, several interface templates may be stored locally by the media guide application. Each template user interface may include a layout of user interface elements such as buttons, circular dials, scroll wheels, voice input areas, or any combination thereof. In addition, each interface element may include a label and a functionality type. For example, one user element may be a button labeled "Enter". Another interface element may be a circular dial labeled "Red".

[0040] In some embodiments, a media guide application may select a template user interface from among several template user interfaces such that at least one interface element of the template user interface corresponds to a description of at least one input of a remote controller. In some embodiments, a media guide application considers an interface element to correspond to an input description when the label of the interface element matches the label of the input and the type of the input is compatible with the functionality type of the interface element. For example, a button labeled "Power" on a remote controller may be considered to correspond to a button user interface element with the label "Power". In another embodiment, a circular touchpad labeled "Red" on a remote controller may be considered to correspond to a circular dial interface element with the label "Red".

[0041] In some embodiments, the media guide application may select a template user interface from among several template user interfaces such that each interface element of the template user interface corresponds to a description of at least one input of the remote controller. For example, if a template user interface has five user interface elements, each of which corresponds to at least one input of the remote controller, this template user interface may be selected as the optimal user interface.

[0042] In some embodiments, the media guide application may then display a selected optimal user interface on the user's device. For example, the media guide application may display a selected optimal user interface on the user's television screen, tablet, smartphone, or any combination thereof.

[0043] In some embodiments, the media guide application may determine the characteristics of a remote controller by receiving a remote controller identifier from the remote controller. For example, the remote controller may transmit its identification number periodically or on request via an IR channel or Wi-Fi. In some embodiments, the media guide application may then transmit the identifier to a remote server. For example, the request may be transmitted to a media application guide data server. In some embodiments, the media guide application may then receive the characteristics of the remote controller from the remote server. For example, the server may retrieve the characteristics based on the identifier and forward them to the media guide application.

[0044] In some embodiments, the media guide application may determine that none of the stored template user interfaces can be selected. For example, all of the stored template user interfaces may have interface elements that cannot be matched with at least one input of the remote controller. For instance, all template user interfaces may have a button labeled "Menu," while the user remote does not have a button labeled "Menu." In some embodiments, in response to such a decision, the media guide application may generate a new template user interface based on the characteristics of the remote controller.

[0045] For example, a media guide application may select a base template user interface from several template user interfaces. For example, a media guide application may select a template user interface that has the most user interface elements that match at least one input of a remote controller. In some embodiments, the media guide application may then modify the base template user interface so that each interface element of the modified template user interface corresponds to a description of at least one input of a remote controller. For example, if the base template user interface had a button labeled "Menu," while the user interface did not have a button labeled "Menu" but had a button labeled "Red," the media guide application may modify the user interface so that the button labeled "Menu" is replaced with a button labeled "Red."

[0046] In some embodiments, the media guide application may optionally relabel at least one interface element, remove at least one interface element, or modify the functionality of at least one interface element. For example, the media guide application may completely remove the “Menu” button from the base template user interface. In some embodiments, if the template user interface had a circular dial labeled “Volume” while the user interface only has two buttons labeled “Volume Down” and “Volume Up,” the media guide application may modify the circular dial to two buttons labeled “Volume Down” and “Volume Up.” In some embodiments, the media guide application may store the new modified template user interface as another of several template user interfaces.

[0047] In some embodiments, the media guide application may determine that the remote controller has more inputs than the number of user interface elements of the selected optimal user interface. For example, the remote controller may have a special button labeled "Netflix" for directly launching the Netflix application, while none of the template user interfaces have such an interface element. In some embodiments, the media guide application may, in response to such a determination, modify the selected optimal user interface based on the characteristics of the remote controller.

[0048] In some embodiments, the media guide application may do at least one of the following: add at least one new user interface element to the optimal user interface template, or add a label to a blank user interface element to the optimal user interface template. For example, the media guide application may add an "Open Netflix" button to the selected optimal interface. In some embodiments, the media guide application may store the new modified template user interface as part of a set of template user interfaces.

[0049] In some embodiments, the media guide application may provide a series to the user device. For example, the media guide application may provide several episodes of the series to the user's television system. For example, each episode may be provided to the user device in response to an explicit user request. In some embodiments, the media guide application may automatically provide several episodes of the series sequentially. In some embodiments, the series may comprise multiple sequential seasons, each season comprising multiple sequential episodes.

[0050] In some embodiments, the media guide application may receive a request to record a series. For example, the user may interact with a “Record Series” button. In response, the media guide application may perform a series of steps described below.

[0051] In some embodiments, the media guide application may identify the last episode of a series being watched by the user. For example, the media guide application may examine the episode of the series currently selected by the user in the menu. In some embodiments, the media guide application may consider that episode to be the last episode of the series being watched by the user. In some embodiments, the media guide application may maintain a list of all episodes being watched by the user and determine that the most recent episode on that list is the last episode of the series being watched by the user.

[0052] In some embodiments, the media guide application may determine which of multiple seasons is relevant, including the last episode watched by the user, that precedes another season in the multi-season series. For example, if the user last watched episode 3 of season 4 of a series having six seasons, the media guide application may determine that season 3 is the relevant season.

[0053] In some embodiments, the media guide application may schedule recordings of episodes in the relevant season following the last episode watched by the user, so that episodes of seasons preceding the relevant season are not scheduled for recording. For example, if the user last watched episode 3 of season 4 of a series having six seasons, the media guide application may schedule recordings of all episodes of season 4 following episode 3, so that all episodes of seasons 1 and 2 are not scheduled for recording. In some embodiments, the media guide application may also not schedule recordings of any episodes of seasons following the relevant season. For example, the media guide application may not schedule recordings of all episodes of seasons 4, 5, and 6.

[0054] In some embodiments, the media guide application may provide the series to the user device. For example, the media guide application may provide several episodes of the series to the user's television system. For example, each episode may be provided to the user device in response to an explicit user request. In some embodiments, the media guide application may automatically provide several episodes of the series sequentially. In some embodiments, the series may comprise multiple sequential seasons, each season comprising multiple sequential episodes. For example, the series "Game of Thrones" may comprise six sequential seasons, each comprising 10 sequential episodes.

[0055] In some embodiments, the media guide application may maintain a series progress indicator that identifies the last episode of a series watched by the user. For example, the media guide application may track the most recent episode watched by the user (e.g., the last in a sequence of sequential episodes). For example, if a user has watched episode 3 of season 4 of "Game of Thrones" (but has not watched any subsequent episodes), the media guide application may set the series progress indicator for that show to "Season 4, Episode 3".

[0056] In some embodiments, the media guide application may receive a request to record a series. For example, the user may click a “Record Season” button. In some embodiments, the media guide application may then perform a series of steps in response to a request such as those described below.

[0057] In some embodiments, the media guide application may determine a related season among multiple seasons, which includes an episode that precedes another season among multiple seasons and is identified by a series progress indicator. For example, if the series progress indicator is set to "Season 4, Episode 3" (and the series has more than four seasons), the media guide application may determine that the fourth season is the "related season".

[0058] In some embodiments, the media guide application may monitor broadcast schedules and identify multiple available episodes of a series. For example, the media guide application may receive broadcast schedules for the next two weeks and determine whether any episodes of the series are scheduled for broadcast (for example, by matching the series title with the broadcast schedule metadata). For example, if the broadcast data includes scheduled transmissions of season 4, episodes 1-9 and season 5, episodes 1-5 of the series, the media guide application may identify these episodes as available. In some embodiments, the media guide application may also access user profiles and determine whether the user has a subscription that allows recording multiple available episodes of a series. For example, if the series is scheduled to air on HBO, the media guide application may check whether the user has an HBO subscription.

[0059] In some embodiments, the media guide application may determine, for each specific episode among several available episodes of a series, whether that particular episode belongs to the relevant season and follows an episode identified by the series progress indicator. For example, if the relevant season is "Season 3," the media guide application may determine whether a particular episode belongs to Season 3. In some embodiments, the media guide application may then schedule a particular episode to be recorded if it belongs to the relevant season and follows an episode identified by the series progress indicator. For example, if the series progress indicator is set to "Season 4, Episode 3," then episodes 4-9 of Season 4 would be scheduled to be recorded. In some embodiments, the media guide application would schedule recordings so that episodes from seasons preceding a given relevant season are not scheduled for recording. For example, episodes of a series belonging to seasons 1-3 would not be recorded if season 4 is the relevant season. In some embodiments, the media guide application would schedule recordings so that episodes of seasons following a given relevant season are not scheduled for recording. For example, episodes of a series belonging to seasons 5-6 would not be recorded if season 4 is the relevant season.

[0060] In some embodiments, the media guide application may maintain a series progress indicator by monitoring the series episode selected by the user on a menu. For example, if the user selects an episode from the menu, the series progress indicator may be set to that episode.

[0061] In some embodiments, the media guide application may maintain a list of episodes of a series watched by the user. For example, the media guide application may maintain a data structure that permanently identifies all episodes of a series watched by the user. In some embodiments, the media guide application may determine which episode of the series watched by the user is the most recent in the series. For example, if the data structure contains episodes 1-8 of season 1 of a series, the media guide application may set the series progress indicator to season 1, episode 8.

[0062] In some embodiments, the media guide application may provide a completion notification to the user in response to the step of determining that all episodes of the relevant season, following the episode identified by the series progress indicator, have been recorded. For example, if the series progress indicator is set to season 3, episode 4 (and the season has 9 episodes), the media guide application may provide a completion notification when all episodes 5-9 of season 3 have been recorded.

[0063] In some embodiments, the media guide application may determine that at least one episode of the relevant series following an episode identified by the series progress indicator is not available for recording. For example, if the series progress indicator is set to season 3, episode 4 (and the season has 9 episodes), the media guide application may determine that season 3, episode 5 is not scheduled for broadcast.

[0064] In some embodiments, the media guide application may then determine that at least one episode of the relevant series is available for over-the-top (OTT) streaming. For example, the media guide application may determine that season 3, episode 5 is available via Netflix (or any other OTT service). In some embodiments, the media guide application may then provide the user with a notification that includes a hyperlink to stream at least one episode of the relevant series via at least one over-the-top (OTT) streaming service. For example, the media guide application may provide a hyperlink to watch season 3, episode 5 on Netflix. In some embodiments, the media guide application may also access the user profile and determine whether the user has a subscription to at least one OTT streaming service before providing a hyperlink. For example, the media guide application may check whether the user has a Netflix subscription.

[0065] In some embodiments, a request to record a series may include the step of the user selecting an option to record the relevant season from a list of possible options. For example, the options may include “Relevant Season,” “Current Season,” and “All Seasons.” In some embodiments, the user may make this selection using a radio selection user interface element. This specification also provides, for example, the following items: (Item 1) A method for scheduling season recordings, wherein the method is The provision of a series to a user device, wherein the series comprises multiple sequential seasons, and each season comprises multiple episodes. In response to receiving a request to record the aforementioned series, Identifying the final episode of the series viewed by the aforementioned user, To determine the relevant season among the multiple seasons, which includes the last episode viewed by the user, and which precedes another season among the multiple seasons; To prevent episodes of seasons preceding the relevant season from being scheduled for recording, schedule recording of episodes of the relevant season that follow the last episode watched by the user. Methods that include... (Item 2) A method for scheduling season recordings, wherein the method is The provision of a series to a user device, wherein the series comprises multiple sequential seasons, and each season comprises multiple episodes. Maintaining a series progress indicator that identifies the last episode of the series viewed by the user, Receiving a request to record the aforementioned series, In response to receiving a request to record the aforementioned series, Determining the relevant season among the multiple seasons that precedes another season among the multiple seasons and includes the episode identified by the series progress indicator, To monitor the broadcast schedule and identify multiple available episodes of the aforementioned series, For each specific episode among the multiple available episodes of the aforementioned series, In response to determining that the particular episode belongs to the relevant season and follows the episode identified by the series progress indicator, the system schedules the particular episode to be recorded on the user's device so that no episodes from seasons preceding the given relevant season are scheduled for recording. Record all episodes that are scheduled to be recorded at their respective broadcast times. Methods that include... (Item 3) The method of item 2, further comprising, in response to determining that the particular episode belongs to the relevant season, scheduling the particular episode to be recorded on the user's device so that no episodes of seasons following the given relevant season are scheduled for recording. (Item 4) The method of item 2, wherein maintaining the series progress indicator includes monitoring the episode of the series selected by the user on the menu. (Item 5) Maintaining the aforementioned series progress indicator means Maintain a list of episodes of the series viewed by the aforementioned user, To determine the most recent episode of the series viewed by the user within the series. The method described in item 2, including the method described in item 2. (Item 6) The method of item 2, further comprising providing a completion notification to the user in response to determining that all episodes of the relevant season following the episode identified by the series progress indicator have been recorded. (Item 7) In response to determining that at least one episode of the related series following the episode identified by the series progress indicator is not available for recording, To determine that at least one episode of the aforementioned related series is available for over-the-top (OTT) streaming, Providing the user with a notification comprising a hyperlink for streaming at least one episode of the relevant series via at least one over-the-top (OTT) streaming service. The method described in item 2, further including the method described in item 2. (Item 8) Determining that at least one episode of the aforementioned related series is available for OTT streaming is Access the user profile and determine whether the user has a subscription to at least one OTT streaming service. The method described in item 2, including the method described in item 2. (Item 9) The method according to item 2, wherein the request to record the aforementioned series is provided with a user selection option to record the relevant season. (Item 10) The method according to item 9, wherein the option to record the relevant season is part of a group of recording options, including the option to record the current season and the option to record all seasons. (Item 11) Monitoring the broadcast schedule is Access the user profile and determine whether the user has a subscription that allows recording of multiple available episodes of the series. The method described in item 2, including the method described in item 2. (Item 12) A system for scheduling season recordings, wherein the system is A control circuit, The provision of a series to a user device, wherein the series comprises multiple sequential seasons, and each season comprises multiple episodes. Maintaining a series progress indicator that identifies the last episode of the series viewed by the user, Receiving a request to record the aforementioned series, In response to receiving a request to record the aforementioned series, Determining the relevant season among the multiple seasons that precedes another season among the multiple seasons and includes the episode identified by the series progress indicator, To monitor the broadcast schedule and identify multiple available episodes of the aforementioned series, For each specific episode among the multiple available episodes of the aforementioned series, In response to determining that the particular episode belongs to the relevant season and follows the episode identified by the series progress indicator, the system schedules the particular episode to be recorded on the user's device so that no episodes from seasons preceding the given relevant season are scheduled for recording. Record all episodes that are scheduled to be recorded at their respective broadcast times. A control circuit configured to perform A system that includes these features. (Item 13) The system according to item 12, wherein the control circuit is further configured to schedule the particular episode to be recorded on the user device in response to determining that the particular episode belongs to the relevant season, such that episodes of seasons following the given relevant season are not scheduled for recording. (Item 14) The system according to item 12, wherein the control circuit is configured to maintain the series progress indicator by monitoring the episodes of the series selected by the user on a menu. (Item 15) The aforementioned control circuit is Maintain a list of episodes of the series viewed by the aforementioned user, To determine the most recent episode of the series viewed by the user within the series. The system described in item 12, configured to maintain the series progress indicator. (Item 16) The system according to item 12, wherein the control circuit is further configured to provide the user with a completion notification in response to determining that all episodes of the relevant season following the episode identified by the series progress indicator have been recorded. (Item 17) The control circuit further, In response to determining that at least one episode of the related series following the episode identified by the series progress indicator is not available for recording, To determine that at least one episode of the aforementioned related series is available for over-the-top (OTT) streaming, Providing the user with a notification comprising a hyperlink for streaming at least one episode of the relevant series via at least one over-the-top (OTT) streaming service. The system described in item 12, configured to perform the following actions. (Item 18) The system according to item 12, wherein the control circuit is configured to determine whether at least one episode of the associated series is available for OTT streaming by accessing a user profile and determining whether the user has a subscription to the at least one OTT streaming service. (Item 19) The system described in item 12 provides for the user selection of the option to record the aforementioned series, which is used to record the aforementioned related season. (Item 20) The system described in item 19, wherein the option to record the relevant season is part of a plurality of recording options, including the option to record the current season and the option to record all seasons. (Item 21) The system according to item 12, wherein the control circuit is configured to monitor the broadcast schedule by accessing a user profile and determining whether the user has a subscription that allows recording of multiple available episodes of the series. (Item 22) A device for scheduling season recordings, wherein the device, A means for providing a series to a user device, wherein the series comprises multiple sequential seasons, and each season comprises multiple episodes. Means for maintaining a series progress indicator that identifies the last episode of the series viewed by the user, Means for receiving a request to record the aforementioned series, In response to receiving a request to record the aforementioned series, Means for determining a relevant season among the plurality of seasons that includes the episode identified by the series progress indicator, which precedes another season among the plurality of seasons; Means for monitoring the broadcast schedule and identifying multiple available episodes of the series, For each specific episode among the multiple available episodes of the aforementioned series, In response to determining that the particular episode belongs to the relevant season and follows the episode identified by the series progress indicator, means for scheduling the particular episode to be recorded on the user's device so that episodes of seasons preceding the given relevant season are not scheduled for recording; A means to record all episodes that are scheduled to be recorded at their respective broadcast times and A device equipped with the following features. (Item 23) The apparatus according to item 22, further comprising means for scheduling the particular episode to be recorded on the user device in response to determining that the particular episode belongs to the relevant season, such that episodes of seasons following the given relevant season are not scheduled for recording. (Item 24) The apparatus according to item 22, wherein the means for maintaining the series progress indicator comprises means for monitoring the episodes of the series selected by the user on a menu. (Item 25) The means for maintaining the series progress indicator is, Means for maintaining a list of episodes of the series viewed by the user, A means for determining which episode of the series is the most recent to have been viewed by the user within the series. The apparatus described in item 22, comprising: (Item 26) The apparatus according to item 22, further comprising means for providing a completion notification to the user in response to determining that all episodes of the relevant season following the episode identified by the series progress indicator have been recorded. (Item 27) In response to determining that at least one episode of the related series following the episode identified by the series progress indicator is not available for recording, Means for determining whether at least one episode of the aforementioned related series is available for over-the-top (OTT) streaming, A means for providing a notification to the user, wherein the notification comprises a hyperlink for streaming at least one episode of the relevant series via at least one over-the-top (OTT) streaming service. The apparatus described in item 22, further comprising: (Item 28) Means for determining whether at least one episode of the aforementioned related series is available for OTT streaming are: Means for accessing a user profile and determining whether the user has a subscription to the at least one OTT streaming service. The apparatus described in item 22, comprising: (Item 29) The request for recording the aforementioned series is provided by the apparatus described in item 22, which includes a user selection option for recording the relevant season. (Item 30) The device described in item 29, wherein the option to record the relevant season is part of a plurality of recording options, including the option to record the current season and the option to record all seasons. (Item 31) The means for monitoring the aforementioned broadcast schedule are: Means for accessing a user profile and determining whether the user has a subscription that allows recording of multiple available episodes of the series. The apparatus described in item 22, comprising: (Item 32) A non-transient computer-readable medium having non-transient computer-readable instructions encoded thereon for scheduling season recordings, the non-transient computer-readable instructions are Instructions for providing a series to a user device, wherein the series comprises multiple sequential seasons, and each season comprises multiple episodes, and the instructions include: Instructions for maintaining a series progress indicator that identifies the last episode of the series viewed by the user, A command for receiving a request to record the aforementioned series, In response to receiving a request to record the aforementioned series, An instruction for determining the relevant season among the multiple seasons, which includes the episode identified by the series progress indicator, and which precedes another season among the multiple seasons; Instructions for monitoring the broadcast schedule and identifying multiple available episodes of the series, For each specific episode among the multiple available episodes of the aforementioned series, In response to determining that the particular episode belongs to the relevant season and follows the episode identified by the series progress indicator, an instruction to schedule the particular episode to be recorded on the user's device so that no episodes of seasons preceding the given relevant season are scheduled for recording; Instructions to record all episodes that are scheduled to be recorded at their respective broadcast times and A non-transient, computer-readable medium equipped with [specific features / features]. (Item 33) A non-transient computer-readable medium according to item 32, further comprising instructions for scheduling the particular episode to be recorded on the user device in response to determining that the particular episode belongs to the relevant season, such that episodes of seasons following the given relevant season are not scheduled for recording. (Item 34) The instructions for maintaining the series progress indicator include instructions for monitoring episodes of the series selected by the user on a menu, as described in item 32, in a non-transient computer-readable medium. (Item 35) The instruction to maintain the series progress indicator is: Instructions for maintaining a list of episodes of the series viewed by the user, A command to determine which episode of the series is the most recent one viewed by the user within the series. A non-transient computer-readable medium as described in item 32, comprising the features described above. (Item 36) A non-transient computer-readable medium as described in item 32, further comprising instructions for providing a completion notification to the user in response to determining that all episodes of the relevant season following the episode identified by the series progress indicator have been recorded. (Item 37) In response to determining that at least one episode of the related series following the episode identified by the series progress indicator is not available for recording, An instruction to determine whether at least one episode of the aforementioned related series is available for over-the-top (OTT) streaming, An instruction for providing a notification to the user, wherein the notification comprises a hyperlink for streaming at least one episode of the relevant series via at least one over-the-top (OTT) streaming service. A non-transient, computer-readable medium as described in item 32, further comprising the features described above. (Item 38) The instruction for determining whether at least one episode of the aforementioned related series is available for OTT streaming is: Instructions for accessing the user profile and determining whether the user has a subscription to at least one OTT streaming service. A non-transient computer-readable medium as described in item 32, comprising the features described above. (Item 39) The request for recording the aforementioned series is a non-transient computer-readable medium as described in item 32, comprising a user selection of the option to record the relevant season. (Item 40) The option to record the relevant season is part of a set of recording options, including the option to record the current season and the option to record all seasons, as described in Item 39, for a non-transient computer-readable medium. (Item 41) The order to monitor the aforementioned broadcast schedule is, Instructions for accessing the user profile and determining whether the user has a subscription that allows recording of multiple available episodes of the series. A non-transient computer-readable medium as described in item 32, comprising the features described above. (Item 42) A method for scheduling season recordings, wherein the method is The provision of a series to a user device, wherein the series comprises multiple sequential seasons, and each season comprises multiple episodes. Maintaining a series progress indicator that identifies the last episode of the series viewed by the user, Receiving a request to record the aforementioned series, In response to receiving a request to record the aforementioned series, Determining the relevant season among the multiple seasons that precedes another season among the multiple seasons and includes the episode identified by the series progress indicator, To monitor the broadcast schedule and identify multiple available episodes of the aforementioned series, For each specific episode among the multiple available episodes of the aforementioned series, In response to determining that the particular episode belongs to the relevant season and follows the episode identified by the series progress indicator, the system schedules the particular episode to be recorded on the user's device so that no episodes from seasons preceding the given relevant season are scheduled for recording. Record all episodes that are scheduled to be recorded at their respective broadcast times. Methods that include... (Item 43) The method of item 42, further comprising, in response to determining that the particular episode belongs to the relevant season, scheduling the particular episode to be recorded on the user's device so that no episodes of seasons following the given relevant season are scheduled for recording. (Item 44) Maintaining the series progress indicator is the method described in any one of items 42-43, which includes monitoring the episodes of the series selected by the user on the menu. (Item 45) Maintaining the aforementioned series progress indicator means Maintain a list of episodes of the series viewed by the aforementioned user, To determine the most recent episode of the series viewed by the user within the series. The method described in any one of items 42-44, including the method described in item 42-44. (Item 46) The method of any one of items 42-45, further comprising providing a completion notification to the user in response to determining that all episodes of the relevant season following the episode identified by the series progress indicator have been recorded. (Item 47) In response to determining that at least one episode of the related series following the episode identified by the series progress indicator is not available for recording, To determine that at least one episode of the aforementioned related series is available for over-the-top (OTT) streaming, Providing the user with a notification comprising a hyperlink for streaming at least one episode of the relevant series via at least one over-the-top (OTT) streaming service. The method described in any one of items 42-46, further including the method described in any one of items 42-46. (Item 48) Determining that at least one episode of the aforementioned related series is available for OTT streaming is Access the user profile and determine whether the user has a subscription to at least one OTT streaming service. The method described in any one of items 42-47, including the method described in item 42-47. (Item 49) A request to record the aforementioned series is made according to any one of items 42-48, comprising a user selection of the option to record the relevant season. (Item 50) The method described in any one of items 42-49, wherein the option to record the relevant season is part of a group of recording options, including the option to record the current season and the option to record all seasons. (Item 51) Monitoring the broadcast schedule is Access the user profile and determine whether the user has a subscription that allows recording of multiple available episodes of the series. The method described in any one of items 42-50, including the method described in item 42-50. (Item 52) A method for selecting a user interface, wherein the method is To detect the functionality of a remote controller that is connected to the user's device in a communicative manner, Determining the indicators and functions of each input on the remote controller, Selecting a user interface that includes at least one user interface element that matches the indicator and functionality of at least one input of the remote controller, Displaying the selected user interface on the user device Methods that include... (Item 53) A method for selecting a user interface, wherein the method is The method involves detecting a remote controller capable of interacting with a user interface on a remote user device, wherein the remote controller has multiple inputs. The characteristics of the remote controller are determined, wherein the characteristics include a description of all of the plurality of inputs, and each input description comprises the type of input and an indicator of the input. The selection of the optimal user interface to be displayed on the user device is based on the characteristics of the remote controller, and the selection is made by: The method involves storing multiple template user interfaces, each template user interface comprising multiple user interface elements, and each interface element comprising an indicator and a functionality type. The method involves selecting a template user interface from among the plurality of template user interfaces such that at least one interface element of the template user interface corresponds to a description of at least one input of the remote controller, The at least one interface element corresponds to the description of the input when the indicator of the interface element matches the indicator of the input and the type of the input is compatible with the functional type of the interface element. This includes, Displaying the selected optimal user interface on the user device Methods that include... (Item 54) The aforementioned selection means, Selecting a template user interface from among the multiple template user interfaces such that each interface element of the template user interface corresponds to a description of at least one input of the remote controller. The method described in item 53, including the method described in item 53. (Item 55) Determining the characteristics of the remote controller is, Receiving a remote controller identifier from the aforementioned remote controller, The aforementioned identifier is transmitted to a remote server, Receiving the characteristics of the remote controller from the remote server and The method described in item 54, including the method described in item 54. (Item 56) In response to determining that none of the stored template user interfaces can be selected, a new template user interface is generated based on the characteristics of the remote controller. The method described in item 54, further including the method described in item 54. (Item 57) Generating a new template user interface is Selecting a base template user interface from the aforementioned multiple template user interfaces, Modify the base template user interface so that each interface element of the modified template user interface corresponds to a description of at least one input of the remote controller. The method described in item 56, including the method described in item 56. (Item 58) The method according to item 56, wherein modifying the base template user interface includes at least one of relabeling at least one interface element, removing at least one interface element, and modifying the functionality of at least one interface element. (Item 59) The method according to item 56, further comprising storing the new template user interface as part of the plurality of template user interfaces. (Item 60) The method of item 54, further comprising modifying the selected optimal user interface based on the characteristics of the remote controller in response to the remote controller determining that it has more inputs than the number of user interface elements of the selected optimal user interface. (Item 61) The method according to item 60, wherein modifying the selected optimal user interface includes at least one of adding at least one new user interface element to the optimal user interface template and adding indicators to blank user interface elements to the optimal user interface template. (Item 62) The method according to item 60, further comprising storing the modified template user interface as part of the plurality of template user interfaces. (Item 63) A system for selecting a user interface, wherein the system is A control circuit, The method involves detecting a remote controller capable of interacting with a user interface on a remote user device, wherein the remote controller has multiple inputs. The characteristics of the remote controller are determined, wherein the characteristics include a description of all of the plurality of inputs, and each input description comprises the type of input and an indicator of the input. The selection of the optimal user interface to be displayed on the user device is based on the characteristics of the remote controller, and the selection is made by: The method involves storing multiple template user interfaces, each template user interface comprising multiple user interface elements, and each interface element comprising an indicator and a functionality type. The method involves selecting a template user interface from among the plurality of template user interfaces such that at least one interface element of the template user interface corresponds to a description of at least one input of the remote controller, The at least one interface element corresponds to the description of the input when the indicator of the interface element matches the indicator of the input and the type of the input is compatible with the functional type of the interface element. This includes, Displaying the selected optimal user interface on the user device A control circuit configured to perform A system that includes these features. (Item 64) The system according to item 63, wherein the control circuit is configured to select a template user interface from among the plurality of template user interfaces such that each interface element of the template user interface corresponds to a description of at least one input of the remote controller. (Item 65) The aforementioned control circuit is Receiving a remote controller identifier from the aforementioned remote controller, The aforementioned identifier is transmitted to a remote server, Receiving the characteristics of the remote controller from the remote server and The characteristics of the remote controller are determined by the following: The system described in item 64. (Item 66) The system according to item 64, wherein the control circuit is further configured to generate a new template user interface based on the characteristics of the remote controller in response to determining that none of the stored template user interfaces can be selected. (Item 67) The aforementioned control circuit is Selecting a base template user interface from the aforementioned multiple template user interfaces, Modify the base template user interface so that each interface element of the modified template user interface corresponds to a description of at least one input of the remote controller. The system described in item 66, configured to generate a new template user interface. (Item 68) The system according to item 66, wherein the control circuit is configured to modify the base template user interface by performing at least one of the following: relabeling at least one interface element, removing at least one interface element, and modifying the functionality of at least one interface element. (Item 69) The system according to item 66, wherein the control circuit is configured to store the new template user interface as part of the plurality of template user interfaces. (Item 70) The system according to item 64, wherein the control circuit is configured to modify the selected optimal user interface based on the characteristics of the remote controller in response to the remote controller determining that it has more inputs than the number of user interface elements of the selected optimal user interface. (Item 71) The system according to item 70, wherein the control circuit is configured to modify the selected optimal user interface by performing at least one of the following: adding at least one new user interface element to the optimal user interface template, and adding indicators to blank user interface elements to the optimal user interface template. (Item 72) The system according to item 70, wherein the control circuit is further configured to store the modified template user interface as part of the plurality of template user interfaces. (Item 73) A device for selecting a user interface, wherein the device is A means for detecting a remote controller capable of interacting with a user interface on a remotely located user device, wherein the remote controller comprises a means having a plurality of inputs, Means for determining the characteristics of the remote controller, wherein the characteristics include descriptions of all of the plurality of inputs, and each input description comprises the type of input and an indicator of the input. A means for selecting the optimal user interface to be displayed on the user device based on the characteristics of the remote controller, wherein the means for selection is: A means for storing multiple template user interfaces, wherein each template user interface comprises multiple user interface elements, and each interface element comprises an indicator and a functionality type. Means for selecting a template user interface from a plurality of template user interfaces such that at least one interface element of the template user interface corresponds to a description of at least one input of the remote controller, The at least one interface element is a means corresponding to the description of the input when the indicator of the interface element matches the indicator of the input and the type of the input is compatible with the functional type of the interface element. means that include, means for displaying the selected optimal user interface on the user device A device equipped with the following features. (Item 74) The means for making the selection are, Means for selecting a template user interface from among a plurality of template user interfaces such that each interface element of the template user interface corresponds to a description of at least one input of the remote controller. The apparatus described in item 73, comprising: (Item 75) The means for determining the characteristics of the remote controller is, Means for receiving a remote controller identifier from the remote controller, Means for transmitting the aforementioned identifier to a remote server, means for receiving the characteristics of the remote controller from the remote server and The apparatus described in item 74, comprising: (Item 76) The apparatus according to item 74, further comprising means for generating a new template user interface based on the characteristics of the remote controller in response to determining that none of the stored template user interfaces can be selected. (Item 77) The means for generating the new template user interface is, Means for selecting a base template user interface from the aforementioned plurality of template user interfaces, Means for modifying the base template user interface such that each interface element of the modified template user interface corresponds to a description of at least one input of the remote controller, The apparatus described in item 76, comprising: (Item 78) The apparatus according to item 76, wherein the means for modifying the base template user interface comprises at least one of the means for relabeling at least one interface element, means for removing at least one interface element, and means for modifying the functionality of at least one interface element. (Item 79) The apparatus according to item 76, further comprising means for storing the new template user interface as part of the plurality of template user interfaces. (Item 80) The apparatus according to item 74, further comprising means for modifying the selected optimal user interface based on the characteristics of the remote controller in response to the remote controller determining that it has more inputs than the number of user interface elements of the selected optimal user interface. (Item 81) The apparatus according to item 80, wherein the means for modifying the selected optimal user interface comprises at least one of the means for adding at least one new user interface element to the optimal user interface template, and the means for adding indicators to blank user interface elements to the optimal user interface template. (Item 82) The apparatus according to item 80, further comprising means for storing the modified template user interface as part of the plurality of template user interfaces. (Item 83) A non-transient computer-readable medium having non-transient computer-readable instructions encoded thereon for selecting a user interface, the non-transient computer-readable instructions are A command for detecting a remote controller capable of interacting with a user interface on a remote user device, wherein the remote controller has multiple inputs, and the command and An instruction for determining the characteristics of the remote controller, wherein the characteristics include a description of all of the plurality of inputs, and each input description comprises the type of input and an indicator of the input; A command for selecting the optimal user interface to be displayed on the user device based on the characteristics of the remote controller, wherein the command for selection is: An instruction for storing multiple template user interfaces, wherein each template user interface comprises multiple user interface elements, and each interface element comprises an indicator and a functionality type, and the instruction is: An instruction for selecting a template user interface from among a plurality of template user interfaces such that at least one interface element of the template user interface corresponds to a description of at least one input of the remote controller, The at least one interface element, when the indicator of the interface element matches the indicator of the input and the type of the input is compatible with the functional type of the interface element, provides instructions and commands corresponding to the description of the input. Equipped with commands, Commands for displaying the selected optimal user interface on the user device and A non-transient, computer-readable medium equipped with [specific features / features]. (Item 84) The command for making the selection is, Instructions for selecting a template user interface from among the multiple template user interfaces such that each interface element of the template user interface corresponds to a description of at least one input of the remote controller. A non-transient computer-readable medium as described in item 83, comprising the features described above. (Item 85) The command for determining the characteristics of the remote controller is: A command for receiving a remote controller identifier from the aforementioned remote controller, A command for transmitting the aforementioned identifier to a remote server, A command for receiving the characteristics of the remote controller from the remote server and A non-transient computer-readable medium as described in item 84, comprising the features described above. (Item 86) A non-transient computer-readable medium according to item 84, further comprising instructions for generating a new template user interface based on the characteristics of the remote controller in response to determining that none of the stored template user interfaces can be selected. (Item 87) The instruction for generating the aforementioned new template user interface is: A command for selecting a base template user interface from the aforementioned multiple template user interfaces, Instructions for modifying the base template user interface such that each interface element of the modified template user interface corresponds to a description of at least one input of the remote controller. A non-transient computer-readable medium as described in item 86, comprising the features described above. (Item 88) The instructions for modifying the base template user interface include at least one of the following: instructions for relabeling at least one interface element, instructions for removing at least one interface element, and instructions for modifying the functionality of at least one interface element, as described in item 86, for a non-transient computer-readable medium. (Item 89) A non-transient computer-readable medium according to item 86, further comprising instructions for storing the new template user interface as part of the plurality of template user interfaces. (Item 90) A non-transient computer-readable medium according to item 84, further comprising instructions for modifying the selected optimal user interface based on the characteristics of the remote controller, in response to the remote controller determining that it has more inputs than the number of user interface elements of the selected optimal user interface. (Item 91) The instructions for modifying the selected optimal user interface include at least one of the following: instructions for adding at least one new user interface element to the optimal user interface template, and instructions for adding indicators to blank user interface elements to the optimal user interface template, as described in item 90, for a non-transient computer-readable medium. (Item 92) A non-transient computer-readable medium as described in item 90, further comprising instructions for storing the modified template user interface as part of the plurality of template user interfaces. (Item 93) A method for selecting a user interface, wherein the method is The method involves detecting a remote controller capable of interacting with a user interface on a remote user device, wherein the remote controller has multiple inputs. The characteristics of the remote controller are determined, wherein the characteristics include a description of all of the plurality of inputs, and each input description comprises the type of input and an indicator of the input. The selection of the optimal user interface to be displayed on the user device is based on the characteristics of the remote controller, and the selection is made by: The method involves storing multiple template user interfaces, each template user interface comprising multiple user interface elements, and each interface element comprising an indicator and a functionality type. The method involves selecting a template user interface from among the plurality of template user interfaces such that at least one interface element of the template user interface corresponds to a description of at least one input of the remote controller, The at least one interface element corresponds to the description of the input when the indicator of the interface element matches the indicator of the input and the type of the input is compatible with the functional type of the interface element. This includes, Displaying the selected optimal user interface on the user device Methods that include... (Item 94) The aforementioned selection means, Selecting a template user interface from among the multiple template user interfaces such that each interface element of the template user interface corresponds to a description of at least one input of the remote controller. The method described in item 93, including the method described in item 93. (Item 95) Determining the characteristics of the remote controller is, Receiving a remote controller identifier from the aforementioned remote controller, The aforementioned identifier is transmitted to a remote server, Receiving the characteristics of the remote controller from the remote server and The method described in item 94, including the method described in item 94. (Item 96) In response to determining that none of the stored template user interfaces can be selected, a new template user interface is generated based on the characteristics of the remote controller. The method described in any one of items 93-95, further including the method described in any one of items 93-95. (Item 97) Generating a new template user interface is Selecting a base template user interface from the aforementioned multiple template user interfaces, Modify the base template user interface so that each interface element of the modified template user interface corresponds to a description of at least one input of the remote controller. The method described in item 96, including the method described in item 96. (Item 98) Modifying the base template user interface is the method described in any one of items 96-97, which includes at least one of relabeling at least one interface element, removing at least one interface element, and modifying the functionality of at least one interface element. (Item 99) The method according to any one of items 96-98, further comprising storing the new template user interface as part of the plurality of template user interfaces. (Item 100) The method according to any one of items 94-99, further comprising modifying the selected optimal user interface based on the characteristics of the remote controller in response to the remote controller determining that it has more inputs than the number of user interface elements of the selected optimal user interface. (Item 101) The method according to item 100, wherein modifying the selected optimal user interface includes at least one of adding at least one new user interface element to the optimal user interface template and adding indicators to blank user interface elements to the optimal user interface template. (Item 102) The method according to any one of items 100-101, further comprising storing the modified template user interface as part of the plurality of template user interfaces. (Item 103) A method for displaying the status of an application to a user, wherein the method is: The application determines the account status of the user, In response to determining that the account status indicates a first level of access to the application, the user may use the first level of access to the application to access a first set of media content. To generate a menu icon indicating the user having the first level of access to the application, In response to determining that the account status indicates a second level of access to the application, the user may use the second level of access to the application to access a second set of media content that includes at least one media content not included in the first set. To generate a menu icon indicating the user having the second level of access to the application, To generate the menu icon for display on the user device and Methods that include... (Item 104) A method for displaying the status of an application to a user, wherein the method is: Maintaining a user profile, wherein the user profile includes a user account status indicating the level of access the user to individual applications with respect to multiple applications. From the user profile, read the user's account status in relation to the first application among the multiple applications, The level of access the user has to the first application is determined from the user's account status. In response to the user determining that they have a first level of access, the user may use the first level of access to the first application to access a first set of media content. The process involves generating a menu icon, the appearance of which indicates that the user has a first level of access to the first application, To generate the menu icon for display on the user device, In response to the user deciding to have a second level of access, the user may use the second level of access to the first application to access a second set of media content that includes at least one media content not included in the first set. The process involves generating the menu icon, the appearance of which indicates that the user has the second level of access to the first application, To generate the menu icon for display on the user device, In response to receiving an indication of user interaction with the menu icon, the first application is launched. Methods that include... (Item 105) The first level of access to the first application refers to the user who has a free subscription to the first application, The method according to item 104, wherein the second level of access to the first application indicates the user who has a paid subscription to the first application. (Item 106) Determining the level of access the user to the first application is: The time is determined from the user's account status, wherein the time is the amount of time remaining until the user's subscription to the first application expires. Based on the aforementioned time, the level of access the user to the first application is determined. The method described in item 104, including the method described in item 104. (Item 107) The process involves generating the menu icon such that the appearance of the menu icon indicates that the user has a second level of access to the first application. To change the appearance of the menu icon to include the time indication. The method described in item 106, including the method described in item 106. (Item 108) The process involves generating the menu icon such that the appearance of the menu icon indicates that the user has a first level of access to the first application. To change the appearance of the menu icon to include the first color. Includes, The process involves generating the menu icon such that the appearance of the menu icon indicates that the user has a second level of access to the first application. The appearance of the menu icon is changed to include a second color different from the first color. The method described in item 104, including the method described in item 104. (Item 109) The process involves generating the menu icon such that the appearance of the menu icon indicates that the user has a first level of access to the first application. Set the size of the aforementioned menu icon to the first size. Includes, The process involves generating the menu icon such that the appearance of the menu icon indicates that the user has a second level of access to the first application. Set the size of the menu icon to a second size that is different from the first size. The method described in item 104, including the method described in item 104. (Item 110) The process involves generating the menu icon such that the appearance of the menu icon indicates that the user has a first level of access to the first application. Set the appearance of the aforementioned menu icon to be static. Includes, The process involves generating the menu icon such that the appearance of the menu icon indicates that the user has a second level of access to the first application. Modify the appearance of the menu icon to include animation. The method described in item 104, including the method described in item 104. (Item 111) The process involves generating the menu icon such that the appearance of the menu icon indicates that the user has a first level of access to the first application. To change the appearance of the menu icon to include the first text. Includes, The process involves generating the menu icon such that the appearance of the menu icon indicates that the user has a second level of access to the first application. To change the appearance of the menu icon to include a second text that is different from the first text. The method described in item 104, including the method described in item 104. (Item 112) The process involves generating the menu icon such that the appearance of the menu icon indicates that the user has a first level of access to the first application. The appearance of the menu icon is changed to include an indication that the user has access to the first set of media content. Includes, The process involves generating the menu icon such that the appearance of the menu icon indicates that the user has a second level of access to the first application. The appearance of the menu icon is changed to include an indication that the user has access to a second set of media content. The method described in item 104, including the method described in item 104. (Item 113) In response to determining that the account status indicates the first level of access to the application, To generate the menu icon that includes the upgrade input, In response to detecting the user interaction with the upgrade input, The appearance of the menu icon is adjusted to indicate that the user has a second level of access to the first application. The method described in item 104, further including the method described in item 104. (Item 114) A system for displaying the status of an application to a user, wherein the system is A control circuit, Maintaining a user profile, wherein the user profile includes a user account status indicating the level of access the user to individual applications with respect to multiple applications. From the user profile, read the user's account status in relation to the first application among the multiple applications, The level of access the user has to the first application is determined from the user's account status. In response to the user determining that they have a first level of access, the user may use the first level of access to the first application to access a first set of media content. The process involves generating a menu icon, the appearance of which indicates that the user has a first level of access to the first application, To generate the menu icon for display on the user device, In response to the user deciding to have a second level of access, the user may use the second level of access to the first application to access a second set of media content, which includes at least one media content not included in the first set. The process involves generating the menu icon, the appearance of which indicates that the user has the second level of access to the first application, To generate the menu icon for display on the user device, In response to receiving an indication of user interaction with the menu icon, the first application is launched. A control circuit configured to perform A system that includes these features. (Item 115) The first level of access to the first application refers to the user who has a free subscription to the first application, The second level of access to the first application is the system described in item 114, which represents the user who has a paid subscription to the first application. (Item 116) The aforementioned control circuit is The time is determined from the user's account status, wherein the time is the amount of time remaining until the user's subscription to the first application expires. Based on the aforementioned time, the level of access the user to the first application is determined. The system described in item 114, configured to determine the level of access the user to the first application by means of the system. (Item 117) The aforementioned control circuit is The system according to item 116, configured to generate the menu icon by changing the appearance of the menu icon to include an indication of the time, wherein the appearance of the menu icon indicates that the user has the second level of access to the first application. (Item 118) The aforementioned control circuit is The system is configured to generate the menu icon by changing its appearance to include a first color, the appearance of the menu icon indicating that the user has a first level of access to the first application. The aforementioned control circuit is The system according to item 114, configured to generate the menu icon by changing its appearance to include a second color different from the first color, wherein the appearance of the menu icon indicates that the user has a second level of access to the first application. (Item 119) The aforementioned control circuit is The system is configured to generate the menu icon by setting its size to a first size, and the appearance of the menu icon indicates that the user has a first level of access to the first application. The aforementioned control circuit is The system according to item 114, configured to generate the menu icon by setting the size of the menu icon to a second size different from the first size, wherein the appearance of the menu icon indicates that the user has a second level of access to the first application. (Item 120) The aforementioned control circuit is The system is configured to generate the menu icon by setting its appearance to be static, and the appearance of the menu icon indicates that the user has the first level of access to the first application. The aforementioned control circuit is The system according to item 114, configured to generate the menu icon by modifying its appearance to include animation, wherein the appearance of the menu icon indicates that the user has a second level of access to the first application. (Item 121) The aforementioned control circuit is The system is configured to generate the menu icon by changing its appearance to include a first text, the appearance of the menu icon indicating that the user has a first level of access to the first application. The aforementioned control circuit is The system according to item 114, configured to generate the menu icon by changing its appearance to include a second text different from the first text, wherein the appearance of the menu icon indicates that the user has a second level of access to the first application. (Item 122) The aforementioned control circuit is The system is configured to generate the menu icon by changing its appearance to include an indication that the user has access to a first set of media content, the appearance of the menu icon indicating that the user has a first level of access to the first application, The aforementioned control circuit is The system according to item 114, configured to generate the menu icon by changing its appearance to include an indication that the user has access to a second set of media content, wherein the appearance of the menu icon indicates that the user has a second level of access to the first application. (Item 123) The aforementioned control circuit is In response to determining that the account status indicates the first level of access to the application, To generate the menu icon that includes the upgrade input, In response to detecting the user interaction with the upgrade input, The appearance of the menu icon is adjusted to indicate that the user has a second level of access to the first application. The system described in item 114, configured to perform the following actions. (Item 124) A device for displaying the status of an application to a user, wherein the device is Means for maintaining a user profile, wherein the user profile includes a user account status indicating the level of access the user to individual applications with respect to multiple applications, Means for reading the user's account status from the user profile in relation to a first application among the multiple applications, Means for determining the level of access the user has to the first application based on the user's account status, In response to the user determining that they have a first level of access, the user may use the first level of access to the first application to access a first set of media content. Means for generating a menu icon, wherein the appearance of the menu icon indicates that the user has a first level of access to the first application, Means for generating the menu icon to be displayed on the user device, In response to the user deciding to have a second level of access, the user may use the second level of access to the first application to access a second set of media content that includes at least one media content not included in the first set. Means for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a second level of access to the first application, Means for generating the menu icon to be displayed on the user device, In response to receiving an indication of user interaction with the menu icon, means for launching the first application and A device equipped with the following features. (Item 125) The first level of access to the first application refers to the user who has a free subscription to the first application, The second level of access to the first application is the device described in item 124, which represents the user having a paid subscription to the first application. (Item 126) Means for determining the level of user access to the first application are: A means for determining a time from the user's account status, wherein the time is the amount of time remaining until the user's subscription to the first application expires. Means for determining the level of user access to the first application based on the aforementioned time, The apparatus described in item 124, comprising: (Item 127) Means for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a second level of access to the first application, Means for changing the appearance of the menu icon to include the time indication. The apparatus described in item 126, comprising: (Item 128) Means for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a first level of access to the first application, Means for changing the appearance of the menu icon to include a first color Equipped with, Means for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a second level of access to the first application, Means for changing the appearance of the menu icon to include a second color different from the first color. The apparatus described in item 124, comprising: (Item 129) Means for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a first level of access to the first application, Means for setting the size of the menu icon to a first size Equipped with, Means for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a second level of access to the first application, Means for setting the size of the menu icon to a second size different from the first size. The apparatus described in item 124, comprising: (Item 130) Means for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a first level of access to the first application, Means for setting the appearance of the menu icon to be static Equipped with, Means for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a second level of access to the first application, Means for modifying the appearance of the menu icon to include animation The apparatus described in item 124, comprising: (Item 131) Means for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a first level of access to the first application, Means for changing the appearance of the menu icon to include the first text. Equipped with, Means for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a second level of access to the first application, Means for changing the appearance of the menu icon to include a second text different from the first text. The apparatus described in item 124, comprising: (Item 132) Means for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a first level of access to the first application, Means for changing the appearance of the menu icon to include an indication that the user has access to the first set of media content. Equipped with, Means for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a second level of access to the first application, Means for changing the appearance of the menu icon to include an indication that the user has access to a second set of media content. The apparatus described in item 124, comprising: (Item 133) In response to determining that the account status indicates the first level of access to the application, Means for generating the menu icon including the upgrade input, In response to detecting the user interaction with the upgrade input, Means for adjusting the appearance of the menu icon to indicate that the user has a second level of access to the first application, The apparatus described in item 124, further comprising: (Item 134) A non-transient computer-readable medium on which non-transient computer-readable instructions are encoded to display the status of an application to a user, the non-transient computer-readable instructions are Instructions for maintaining a user profile, wherein the user profile includes a user account status indicating the level of access the user to individual applications with respect to multiple applications, and A command to read the user's account status in relation to the first application among the multiple applications from the user profile, A command for determining the level of access the user has to the first application based on the user's account status, In response to the user determining that they have a first level of access, the user may use the first level of access to the first application to access a first set of media content. An instruction for generating a menu icon, wherein the appearance of the menu icon is such that the user has a first level of access to the first application. Commands that indicate, A command for generating the menu icon to be displayed on the user device, In response to the user deciding to have a second level of access, the user may use the second level of access to the first application to access a second set of media content that includes at least one media content not included in the first set. Instructions for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a second level of access to the first application; A command for generating the menu icon to be displayed on the user device, In response to receiving an indication of user interaction with the menu icon, a command is issued to launch the first application. A non-transient, computer-readable medium equipped with [specific features / features]. (Item 135) The first level of access to the first application refers to the user who has a free subscription to the first application, The second level of access to the first application is a non-transient computer-readable medium as described in item 134, indicating the user who has a paid subscription to the first application. (Item 136) The instruction for determining the level of user access to the first application is: An instruction for determining a time from the user's account status, wherein the time is the amount of time remaining until the user's subscription to the first application expires; Based on the aforementioned time, an instruction for determining the level of user access to the first application and A non-transient computer-readable medium as described in item 134, comprising the features described above. (Item 137) An instruction for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a second level of access to the first application, is: Instructions to change the appearance of the menu icon to include the time indication. A non-transient computer-readable medium as described in item 136, comprising the features described above. (Item 138) An instruction for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a first level of access to the first application, is: Instructions for changing the appearance of the menu icon to include the first color Equipped with, An instruction for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a second level of access to the first application, is: Instructions for changing the appearance of the menu icon to include a second color different from the first color. A non-transient computer-readable medium as described in item 134, comprising the features described above. (Item 139) An instruction for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a first level of access to the first application, is: Command to set the size of the menu icon to the first size Equipped with, An instruction for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a second level of access to the first application, is: Command to set the size of the menu icon to a second size different from the first size. A non-transient computer-readable medium as described in item 134, comprising the features described above. (Item 140) An instruction for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a first level of access to the first application, is: Command to set the appearance of the menu icon to be static. Equipped with, An instruction for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a second level of access to the first application, is: Instructions for modifying the appearance of the menu icon to include animation. A non-transient computer-readable medium as described in item 134, comprising the features described above. (Item 141) An instruction for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a first level of access to the first application, is: Instructions for changing the appearance of the menu icon to include the first text. Equipped with, An instruction for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a second level of access to the first application, is: Instructions for changing the appearance of the menu icon to include a second text different from the first text. A non-transient computer-readable medium as described in item 134, comprising the features described above. (Item 142) An instruction for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a first level of access to the first application, is: Instructions for changing the appearance of the menu icon to include an indication that the user has access to the first set of media content. Equipped with, An instruction for generating the menu icon, wherein the appearance of the menu icon indicates that the user has a second level of access to the first application, is: Instructions for changing the appearance of the menu icon to include an indication that the user has access to a second set of media content. A non-transient computer-readable medium as described in item 134, comprising the features described above. (Item 143) In response to determining that the account status indicates the first level of access to the application, Instructions for generating the menu icon including the upgrade input, In response to detecting the user interaction with the upgrade input, Instructions for adjusting the appearance of the menu icon so that it indicates the user has a second level of access to the first application, and A non-transient, computer-readable medium as described in item 134, further comprising the features described above. (Item 144) A method for displaying the status of an application to a user, wherein the method is: Maintaining a user profile, wherein the user profile includes a user account status indicating the level of access the user to individual applications with respect to multiple applications. From the user profile, read the user's account status in relation to the first application among the multiple applications, The level of access the user has to the first application is determined from the user's account status. In response to the user determining that they have a first level of access, the user may use the first level of access to the first application to access a first set of media content. The process involves generating a menu icon, the appearance of which indicates that the user has a first level of access to the first application, To generate the menu icon for display on the user device, In response to the user deciding to have a second level of access, the user may use the second level of access to the first application to access a second set of media content that includes at least one media content not included in the first set. Generating the menu icon, wherein an appearance of the menu icon indicates that the user has a level of the second access to the first application Generating the menu icon for display on a user device Launching the first application in response to receiving an indication of user interaction with the menu icon A method comprising the above (Item 145) The level of the first access to the first application indicates the user having a free subscription to the first application The method according to item 144, wherein the level of the second access to the first application indicates the user having a paid subscription to the first application (Item 146) Determining the level of the user's access to the first application comprises Determining a time from the user's account status, the time being an amount of time remaining until a subscription to the first application for the user expires Determining the level of the user's access to the first application based on the time The method according to any one of items 144 - 145, comprising the above (Item 147) Generating the menu icon, wherein an appearance of the menu icon indicates that the user has a level of the second access to the first application, comprises Changing an appearance of the menu icon to include an indication of the time The method according to item 146, comprising the above (Item 148) Generating the menu icon, wherein the appearance of the menu icon indicates that the user has the level of the first access to the first application, which is Changing the appearance of the menu icon to include a first color including Generating the menu icon, wherein the appearance of the menu icon indicates that the user has the level of the second access to the first application, which is Changing the appearance of the menu icon to include a second color different from the first color The method according to any one of items 144 - 147, including (Item 149) Generating the menu icon, wherein the appearance of the menu icon indicates that the user has the level of the first access to the first application, which is Setting the size of the menu icon to a first size including Generating the menu icon, wherein the appearance of the menu icon indicates that the user has the level of the second access to the first application, which is Setting the size of the menu icon to a second size different from the first size The method according to any one of items 144 - 148, including (Item 150) Generating the menu icon, wherein the appearance of the menu icon indicates that the user has the level of the first access to the first application, which is Setting the appearance of the menu icon to be static including Generating the menu icon, wherein the appearance of the menu icon indicates that the user has the level of the second access to the first application, which is Modify the appearance of the menu icon to include animation. The method described in any one of items 144-149, including the method described in item 144-149. (Item 151) The process involves generating the menu icon such that the appearance of the menu icon indicates that the user has a first level of access to the first application. To change the appearance of the menu icon to include the first text. Includes, The process involves generating the menu icon such that the appearance of the menu icon indicates that the user has a second level of access to the first application. To change the appearance of the menu icon to include a second text that is different from the first text. The method described in any one of items 144-150, including the method described in any one of items 144-150. (Item 152) The process involves generating the menu icon such that the appearance of the menu icon indicates that the user has a first level of access to the first application. The appearance of the menu icon is changed to include an indication that the user has access to the first set of media content. Includes, The process involves generating the menu icon such that the appearance of the menu icon indicates that the user has a second level of access to the first application. The appearance of the menu icon is changed to include an indication that the user has access to a second set of media content. The method described in any one of items 144-151, including the method described in item 144-151. (Item 153) In response to determining that the account status indicates the first level of access to the application, generating the menu icon including an upgrade input; in response to detecting the user interaction with the upgrade input, adjusting the menu icon such that an appearance of the menu icon indicates that the user has a level of access to the second application to the first application; The method according to any one of items 144-152, further comprising.

Brief Description of the Drawings

[0066] The following and other objects and advantages of the present disclosure will become apparent from consideration of the following detailed description taken in conjunction with the accompanying drawings in which like reference characters refer to like parts throughout.

[0067] [Figure 1] FIG. 1 shows an illustrative example of a display screen that can be used to provide a list of media guide applications and other media guide information, according to some embodiments of the present disclosure.

[0068] [Figure 2] FIG. 2 shows another illustrative example of a display screen that can be used to provide a list of media guide applications, according to some embodiments of the present disclosure.

[0069] [Figure 3] FIG. 3 is a block diagram of an illustrative user equipment (UE) device, according to some embodiments of the present disclosure. 5

[0070] [Figure 4] FIG. 4 is a block diagram of an illustrative media system, according to some embodiments of the present disclosure. \

[0071] [Figure 5] FIG. 5 shows an illustrative embodiment of an application menu shown on a display screen, according to some embodiments of the present disclosure.

[0072] [Figure 6] Figure 6 illustrates an illustrative embodiment of another application menu displayed on a screen, according to some embodiments of the present disclosure.

[0073] [Figure 7] Figure 7 illustrates yet another application menu displayed on a screen according to some embodiments of the present disclosure.

[0074] [Figure 8] Figure 8 illustrates an illustrative flowchart for a process of generating menu icons indicating the user's level of access, according to some embodiments of the present disclosure.

[0075] [Figure 9] Figure 9 illustrates another illustrative flowchart for the process of generating menu icons indicating the user's level of access, according to some embodiments of the present disclosure.

[0076] [Figure 10] Figure 10 illustrates an illustrative flowchart for the process of changing the appearance of a menu icon according to some embodiments of the present disclosure.

[0077] [Figure 11] Figure 11 illustrates another illustrative flowchart for the process of changing the appearance of a menu icon according to some embodiments of the present disclosure.

[0078] [Figure 12] Figure 12 illustrates yet another illustrative flowchart for the process of changing the appearance of a menu icon according to some embodiments of the present disclosure.

[0079] [Figure 13]Figure 13 illustrates illustrative embodiments of user interfaces selected based on the functionality of the remote controller, according to several embodiments of the present disclosure.

[0080] [Figure 14] Figure 14 illustrates illustrative embodiments of user interfaces selected based on the functionality of the remote controller, according to several embodiments of the present disclosure.

[0081] [Figure 15] Figure 15 illustrates an illustrative flowchart for the process of selecting a user interface according to some embodiments of the present disclosure.

[0082] [Figure 16] Figure 16 illustrates another illustrative flowchart for the process of selecting a user interface according to some embodiments of the present disclosure.

[0083] [Figure 17] Figure 17 illustrates an illustrative flowchart for a process for detecting a remote controller according to some embodiments of the present disclosure.

[0084] [Figure 18] Figure 18 illustrates an illustrative flowchart for a process of receiving characteristics of a remote controller according to some embodiments of the present disclosure.

[0085] [Figure 19] Figure 19 illustrates an illustrative flowchart for a process of storing a new template user interface according to some embodiments of the present disclosure.

[0086] [Figure 20] Figure 20 illustrates another illustrative flowchart for a process of storing a new template user interface according to some embodiments of the present disclosure.

[0087] [Figure 21] Figure 21 shows another illustrative embodiment of a display screen that may be used to provide a list of media guide applications according to some embodiments of the present disclosure.

[0088] [Figure 22] Figure 22 illustrates an illustrative flowchart for the process of scheduling season recordings according to some embodiments of the present disclosure.

[0089] [Figure 23] Figure 23 illustrates another illustrative flowchart for the process of scheduling season recordings according to some embodiments of the present disclosure.

[0090] [Figure 24] Figure 24 illustrates an illustrative embodiment of the step of generating a list of playable content based on a first user and a second user, according to some embodiments of the present disclosure.

[0091] [Figure 25-1] Figure 25 illustrates an illustrative embodiment of several embodiments of the present disclosure for retrieving previously viewed content based on a sticky key. [Figure 25-2] Figure 25 illustrates an illustrative embodiment of several embodiments of the present disclosure for retrieving previously viewed content based on a sticky key. [Figure 25-3] Figure 25 illustrates an illustrative embodiment of several embodiments of the present disclosure for retrieving previously viewed content based on a sticky key.

[0092] [Figure 26] Figure 26 illustrates an illustrative embodiment of a home menu displayed on a screen, according to several embodiments of the present disclosure.

[0093] [Figure 27] Figure 27 illustrates an illustrative embodiment of an application menu displayed on a screen, according to several embodiments of the present disclosure.

[0094] [Figure 28] Figure 28 illustrates an illustrative embodiment of a watchlist menu displayed on a screen according to several embodiments of the present disclosure.

[0095] [Figure 29] Figure 29 illustrates an illustrative embodiment of an application menu shown on a guide screen according to several embodiments of the present disclosure.

[0096] [Figure 30] Figure 30 illustrates an illustrative embodiment of a tuner menu displayed on a screen according to several embodiments of the present disclosure. [Modes for carrying out the invention]

[0097] In some embodiments, the media guide application may modify the application icon (e.g., launch icon) and indicate the application status to the user. For example, the media guide application may determine the user's account status for the application. For example, the media guide application may determine whether the user has a first level of access to the application or a second level of access (e.g., a level of access that allows the user to access at least one more media content item than would be possible with the first level of access). In some embodiments, the media guide application may then generate a menu icon for the application indicating the first or second level of access, making it easy for the user to understand the level they have.

[0098] Different media systems often contain different hardware, including different remote controllers. Some of these controllers have more functionality than others (e.g., more inputs, the ability to receive voice commands, etc.). Based on the determined functionality of the remote controller used by the user's media system, there is a need to modify the menus of the media guide application to provide a more efficient user interface that increases usefulness for the user. Therefore, the media guide application may detect the functionality of the remote controller, which is isolated and remote from the equipment it controls. The media guide application may then select a user interface such that all user interface elements of its interface match at least one of the controller's inputs (e.g., similar indicators and compatible functionality). The media guide application may then display the selected user interface on the user equipment controlled by the remote controller. In this way, it is ensured that the user interface does not contain any useless or confusing elements, and thus improves the functionality of the user equipment.

[0099] In some embodiments, the media guide application may receive input from the user and record seasons of television programs. In some embodiments, the media guide application may also receive an indication that the user is interested only in recording the season of a series currently relevant to the user. In some embodiments, the media guide application may determine that the user is interested in recording the season currently being watched by the user. For example, if the user has most recently watched season 3, episode 4 of the "Game of Thrones" series, the media guide application may determine that season 3 is the relevant season, even if there are seasons that come after season 3. For example, seasons 1-6 may be available, but the media guide application may determine that only season 3 is currently relevant. In some embodiments, the media guide application may then schedule recording only episodes of the currently relevant season. In some embodiments, the media guide application may then schedule recording only episodes of the currently relevant season that follow the most recently watched episode.

[0100] The amount of content available to users in any given content distribution system can be enormous. As a result, many users desire a form of media guide through an interface that allows them to efficiently navigate content selection and easily identify the content they desire. Applications that provide such guidance are referred to herein as interactive media guide applications, but are sometimes also referred to as media guide applications or guide applications.

[0101] Interactive media guide applications may take various forms depending on the content they provide. One typical type of media guide application is an interactive television program guide. An interactive television program guide (sometimes referred to as an electronic program guide) is a well-known guide application that, among other things, enables users to navigate between and identify many types of content or media assets. An interactive media guide application may generate a graphical user interface screen that enables users to navigate between content and identify and select it. As used herein, the terms “media asset” and “content” should be understood to mean electronically consumable user assets such as television programs, and pay programs, on-demand programs (such as in video-on-demand (VOD) systems), internet content (e.g., streaming content, downloadable content, webcasts, etc.), video clips, audio, content information, photographs, rotated images, documents, playlists, websites, articles, books, ebooks, blogs, chat sessions, social media, applications, games, and / or any other media or multimedia, and / or combinations thereof. A guide application also enables users to navigate between content and identify it. As used herein, the term “multimedia” should be understood to mean content that utilizes at least two different content forms described above, such as text, audio, images, video, or interactive content forms. Content may be recorded, played back, displayed, or accessed by a user's equipment device, and may also be part of a live performance.

[0102] Media guide applications and / or any instructions for carrying out any of the embodiments discussed herein may be encoded on a computer-readable medium. The computer-readable medium includes any medium capable of storing data. The computer-readable medium may be transient, including the propagation of electrical or electromagnetic signals, or non-transient, including, but not limited to, volatile and non-volatile computer memory or storage devices such as hard disks, floppy disks, USB drives, DVDs, CDs, media cards, register memory, processor caches, and random access memory ("RAM").

[0103] With the advent of the internet, mobile computing, and high-speed wireless networks, users are now accessing media on user devices they didn't previously use. As used herein, the terms “User Equipment Device,” “User Equipment,” “User Device,” “Electronic Device,” “Electronic Device,” “Media Equipment Device,” or “Media Device” should be understood to mean any device for accessing the content described above, such as televisions, smart TVs, set-top boxes, integrated receiver decoders (IRDs) for satellite television, digital storage devices, digital media receivers (DMRs), digital media adapters (DMAs), streaming media devices, DVD players, DVD recorders, connected DVDs, local media servers, Blu-ray® players, Blu-ray® recorders, personal computers (PCs), laptop computers, tablet computers, webTV boxes, personal computer televisions (PC / TVs), PC media servers, PC media centers, handheld computers, landline telephones, personal digital assistants (PDAs), mobile phones, portable video players, portable music players, portable game consoles, smartphones, or any other television equipment, computing equipment, or wireless devices, and / or combinations thereof. In some embodiments, the user device may have a front screen and a rear screen, multiple front screens, or multiple angled screens. In some embodiments, the user device may have a front camera and / or a rear camera. On these user devices, the user may be able to navigate between and identify identical content available through the television. As a result, a media guide may also be available on these devices. The guide provided may be for content available only through the television, content available only through one or more of the other types of user devices, or content available through both the television and one or more of the other types of user devices.The media guide application may be provided on the user's device as an online application (i.e., provided on a website), or as a standalone application or client. Various devices and platforms on which the media guide application can be implemented are described in more detail below.

[0104] One of the functions of a media guide application is to provide media guide data to the user. As used herein, the terms “media guide data” or “guide data” should be understood to mean any data related to content or data used to operate the guide application. For example, guide data may include program information, guide application settings, user preferences, user profile information, media lists, media-related information (e.g., broadcast times, broadcast channels, titles, content, rating information (e.g., parental control ratings, critic ratings, etc.), genre or category information, actor information, logo data of broadcaster or provider logos, etc.), media format (e.g., standard definition, high definition, 3D, etc.), on-demand information, blogs, websites, and any other types of guide data that help the user navigate between and identify their desired content selections.

[0105] Figure 1-2 shows an illustrative display screen that may be used to provide media guide data. The display screen shown in Figure 1-2 may be implemented on any suitable user equipment device or platform. Although the displays in Figure 1-2 are illustrated as full-screen displays, they may also be fully or partially overlaid on the displayed content. Users may indicate their desire to access content information by selecting selectable options provided on the display screen (e.g., menu options, list options, icons, hyperlinks, etc.) or by pressing a dedicated button on a remote control or other user input interface or device (e.g., a “Guide” button). In response to user indication, the media guide application may provide the display screen with media guide data organized in one of several ways, such as by time and channel in a grid, by time, by channel, by source, by content type, by category (e.g., movies, sports, news, children's, or other programming categories), or by other predetermined, user-defined, or other organizing criteria.

[0106] Figure 1 shows an illustrative grid of a program list display 100 arranged by time and channel, which also allows access to different types of content within a single display. Display 100 may include a grid 102, which includes (1) a column of channel / content type identifiers 104, where each channel / content type identifier (cell in the column) identifies a different channel or type of content available, and (2) a row of time identifiers 106, where each time identifier (cell in the row) identifies the time slot of the program. Grid 102 also includes cells for program lists, such as program list 108, where each list provides the title of the program, provided above the channel and time associated with the list. Using a user input device, the user can select a program list by moving a highlight area 110. Information about the program list selected by the highlight area 110 may be provided in a program information area 112. Area 112 may include, for example, the program title, program content, the time the program is offered (if applicable), the channel on which the program is broadcast (if applicable), the program rating, and other desired information.

[0107] In addition to providing access to linear programming (e.g., content scheduled to be transmitted to multiple user devices at a given time and delivered according to that schedule), the media guide application also provides access to non-linear programming (e.g., content that is accessible to user devices at any time and is not delivered according to a schedule). Non-linear programming may include content from different content sources, including on-demand content (e.g., VOD), internet content (e.g., streaming media, downloadable media, etc.), locally stored content (e.g., content stored on any user device or other storage device as described above), or other content without time constraints. On-demand content may include content from specific content providers (e.g., HBO, which provides "The Sopranos" and "Curb Your Enthusiasm"). HBO ON DEMAND may include movies or any other content provided on demand. HBO ON DEMAND is a service mark owned by Time Warner Company LP et al., and THE SOPRANOS and CURB YOUR ENTHUSIASM are trademarks owned by Home Box Office, Inc. Internet content may include web events such as chat sessions or webcasts, or content available on demand as streaming or downloadable content through internet websites or other internet access (e.g., FTP).

[0108] Grid 102 may provide media guide data for non-linear programming, including an on-demand list 114, a recorded content list 116, and an internet content list 118. A display that combines media guide data for content from different types of content sources is sometimes referred to as a “mixed media” display. Various permutations of the types of media guide data that can be displayed, different from display 100, may be based on user selection or guide application definition (e.g., displaying only recorded and broadcast lists, or only on-demand and broadcast lists). As illustrated, lists 114, 116, and 118 are shown as spanning the entire time period displayed within grid 102, indicating that selection of these lists may provide access to displays dedicated to the on-demand list, recorded list, or internet list, respectively. In some embodiments, these content type lists may be included directly in grid 102. Additional media guide data may be displayed in response to the user selecting one of the navigation icons 120 (pressing arrow keys on a user input device may affect the display as well as selecting a navigation icon 120).

[0109] Display 100 may also include a video area 122 and an optional area 126. The video area 122 may allow the user to view and / or preview programs that are currently available to the user, will become available in the future, or have been available to the user. The content of the video area 122 may correspond to or be independent of one of the lists displayed in grid 102. A grid display including a video area is sometimes referred to as a Picture-in-Guide (PIG) ​​display. PIG displays and their functionality are described in more detail in U.S. Patent No. 6,564,378 by Satterfield et al., issued May 13, 2003, and U.S. Patent No. 6,239,794 by Yuen et al., issued May 29, 2001 (incorporated herein by reference to them as a whole). PIG displays may be included in other media guide application display screens of embodiments described herein.

[0110] The options area 126 may allow the user to access different types of content, media guide application displays, and / or media guide application features. The options area 126 may be part of display 100 (and other display screens described herein), or may be invoked by the user by selecting an option on the screen or by pressing a dedicated or assignable button on a user input device. Selectable options within the options area 126 may relate to features related to the program list in grid 102, or may include options available from the main menu display. Features related to the program list may include searching for other broadcast times or ways to receive programs, recording programs, enabling continuous recording of programs, setting programs and / or channels as favorites, purchasing programs, or other features. Options available from the main menu display may include search options, VOD options, parental control options, internet options, cloud-based options, device synchronization options, second screen device options, options to access various types of media guide data displays, options to subscribe to premium services, options to edit the user profile, options to access a browser overlay, or other options.

[0111] A media guide application may be personalized based on user preferences. A personalized media guide application allows users to customize its display and features to generate a personalized “experience” using the media guide application. This personalized experience may be generated by allowing users to input these customizations and / or by the media guide application monitoring user activity to determine various user preferences. Users may access these personalized guide applications by logging in or otherwise identifying themselves to the guide application. Customizations of the media guide application may be created according to a user profile. Customizations may include steps to modify presentation methods (e.g., display color scheme, text font size, etc.), aspects of the displayed content list (e.g., HDTV programs only or 3D programs only, user-specified broadcast channels based on favorite channel selection, sorting of channel displays, recommended content, etc.), desired recording features (e.g., recording or continuous recording for a specific user, recording quality, etc.), parental control settings, customized presentation of internet content (e.g., presentation of social media content, emails, electronically distributed articles, etc.), and other desired customizations.

[0112] The media guide application may allow the user to provide user profile information, or it may automatically compile user profile information. The media guide application may monitor, for example, the content the user accesses and / or other interactions the user may have with the guide application. In addition, the media guide application may obtain all or part of other user profiles related to a particular user (e.g., from other websites on the internet that the user accesses, such as www.Tivo.com, from other media guide applications that the user accesses, from other interactive applications that the user accesses, from other user devices of the user, etc.), and / or obtain information about the user from other sources that the media guide application may access. As a result, the user can be provided with a unified guide application experience across the user's different user devices. This type of user experience is described in more detail below in relation to Figure 4. Additional personalized media guide application features are described in more detail in U.S. Patent Application Publication No. 2005 / 0251827 of Ellis et al., filed July 11, 2005; U.S. Patent No. 7,165,098 of Boyer et al., issued January 16, 2007; and U.S. Patent Application Publication No. 2002 / 0174430 of Ellis et al., filed February 21, 2002 (which are incorporated herein by reference to them as a whole).

[0113] Another display array for providing a media guide is shown in Figure 2. The video mosaic display 200 includes selectable options 202 for content information organized based on content type, genre, and / or other organizing criteria. In display 200, the TV list option 204 is selected, and therefore provides lists 206, 208, 210, and 212 as broadcast program lists. In display 200, lists may provide graphic images, including cover art, still images from content, video clip previews, live video from content, or other types of content that show the user the content described by the media guide data in the list. Graphic lists may also be accompanied by text, each providing further information about the content associated with the list. For example, list 208 may include one or more parts, including a media section 214 and a text section 216. The media section 214 and / or text section 216 may be selectable to view the content in full screen or to browse information related to the content displayed in the media section 214 (for example, to browse a list of channels on which the video will be shown).

[0114] The lists within display 200 are of different sizes (i.e., list 206 is larger than lists 208, 210, and 212), but all lists may be the same size, if desired. Lists may be of different sizes or graphically highlighted to indicate the degree of user interest or to highlight certain content, as desired by the content provider or based on user preferences. Various systems and methods for graphically highlighting content lists are discussed, for example, in Yates' U.S. Patent Application Publication No. 2010 / 0153885, filed November 12, 2009 (which is incorporated herein by reference in whole).

[0115] A user may access the content and media guide application (and its display screen as described above and below) from one or more of their user equipment devices. Figure 3 shows a generalized embodiment of an illustrative user equipment device 300. More specific implementations of the user equipment device are discussed below in relation to Figure 4. The user equipment device 300 may receive content and data via an input / output (hereinafter "I / O") path 302. The I / O path 302 may provide content (e.g., broadcast programs, on-demand programs, Internet content, content available via a local area network (LAN) or wide area network (WAN), and / or other content) and data to a control circuit 304, which includes a processing circuit 306 and a storage device 308. The control circuit 304 may use the I / O path 302 to send and receive commands, requests, and other suitable data. The I / O path 302 may connect the control circuit 304 (specifically, the processing circuit 306) to one or more communication paths (described below). I / O functionality may be provided by one or more of these communication paths, but to avoid making the diagram too complex, it is shown as a single path in Figure 3.

[0116] The control circuit 304 may be based on any suitable processing circuit, such as the processing circuit 306. As used herein, a processing circuit is understood to mean a circuit based on one or more microprocessors, microcontrollers, digital signal processors, programmable logic devices, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), etc., and may include a multi-core processor (e.g., dual-core, quad-core, hexa-core, or any suitable number of cores) or a supercomputer. In some embodiments, the processing circuit may be distributed across multiple separate processors or processing units, for example, multiple processing units of the same type (e.g., two Intel Core i7 processors) or multiple different processors (e.g., an Intel Core i5 processor and an Intel Core i7 processor). In some embodiments, the control circuit 304 executes instructions for a media guide application stored in memory (i.e., storage device 308). Specifically, the control circuit 304 may be instructed by the media guide application to perform the functions discussed above and below. For example, the media guide application may provide the control circuit 304 with instructions for generating a media guide display. In some implementations, any action performed by the control circuit 304 may be based on instructions received from the media guide application.

[0117] In a client-server based embodiment, the control circuit 304 may include a suitable communication circuit for communicating with a guide application server or other network or server. Instructions for performing the functionality described above may be stored on the guide application server. The communication circuit may include a cable modem, an Integrated Digital Network (ISDN) modem, a Digital Subscriber Line (DSL) modem, a telephone modem, an Ethernet® card, a wireless modem for communication with other devices, or any other suitable communication circuit. Such communication may involve the Internet or any other suitable communication network or path (described in more detail in relation to Figure 4). In addition, the communication circuit may include a circuit that enables peer-to-peer communication between user equipment devices or communication between user equipment devices located at distant locations (described in more detail below).

[0118] The memory may be an electronic storage device provided as a storage device 308, which is part of the control circuit 304. As used herein, the terms “electronic storage device” or “storage device” should be understood to mean any device for storing electronic data, computer software, or firmware, such as random access memory, read-only memory, hard drives, optical drives, digital video disc (DVD) recorders, compact disc (CD) recorders, Blu-ray® disc (BD) recorders, Blu-ray® 3D disc recorders, digital video recorders (DVRs, or sometimes referred to as personal video recorders or PVRs), solid-state devices, quantum memory devices, game consoles, game media, or any other suitable fixed or removable storage devices, and / or any combination thereof. The storage device 308 may be used to store various types of content as described herein, and media guide data as described above. Non-volatile memory may also be used (for example, to start boot-up routines and other instructions). A cloud-based storage device, as described in relation to Figure 4, may be used to complement or replace the storage device 308.

[0119] The control circuit 304 may include video generation and tuning circuits, such as one or more analog tuners, one or more MPEG-2 decoders, or other digital decoding circuits, high-resolution tuners, or any other suitable tuning or video circuits, or combinations of such circuits. Encoding circuits (for example, for converting radio, analog, or digital signals to MPEG signals for storage) may also be provided. The control circuit 304 may also include scaling circuits for converting content up and down to a preferred output format of the user device 300. The circuit 304 may also include digital-to-analog and analog-to-digital conversion circuits for converting between digital and analog signals. The tuning and encoding circuits may be used by the user device to receive and display, play back, or record content. The tuning and encoding circuits may also be used to receive guide data. For example, the circuits described herein, including tuning, video generation, encoding, decoding, encryption, decryption, scaling, and analog / digital circuits, may be implemented using software running on one or more general-purpose or specialized processors. Multiple tuners may be provided to handle simultaneous tuning functions (e.g., viewing and recording functions, picture-in-picture (PIP) functions, multiple tuner recording functions, etc.). If the storage device 308 is provided as a separate device from the user device 300, the tuning and encoding circuits (including multiple tuners) may be associated with the storage device 308.

[0120] The user may use the user input interface 310 to send commands to the control circuit 304. The user input interface 310 may be any suitable user interface, such as a remote control, mouse, trackball, keypad, keyboard, touchscreen, touchpad, stylus input, joystick, voice recognition interface, or other user input interface. The display 312 may be provided as a standalone device or integrated with other elements of the user equipment device 300. For example, the display 312 may be a touchscreen or a touch-sensitive display. In such a situation, the user input interface 310 may be integrated with or combined with the display 312. The display 312 may be one or more of the following: a monitor, a television, a liquid crystal display (LCD) for a mobile device, an amorphous silicon display, a low-temperature polysilicon display, an electronic ink display, an electrophoretic display, an active matrix display, an electrowetting display, an electrofluidic display, a cathode ray tube display, a light-emitting diode display, an electroluminescent display, a plasma display panel, a high-performance addressing display, a thin-film transistor display, an organic light-emitting diode display, a surface-conductive electron-emitting element display (SED), a laser television, a carbon nanotube, a quantum dot display, an interference modulator display, or any other suitable device for displaying visual images. In some embodiments, the display 312 may be HDTV-compatible. In some embodiments, the display 312 may be a 3D display, and interactive media guide applications and any suitable content may be displayed in 3D. A video card or graphics card may generate output to the display 312. The video card may provide various functions such as accelerating the rendering of 3D scenes and 2D graphics, MPEG-2 / MPEG-4 decoding, TV output, or the ability to connect multiple monitors.The video card may be any processing circuit described above related to the control circuit 304. The video card may be integrated with the control circuit 304. The speaker 314 may be provided as an integrated part of the user equipment device 300, or it may be a standalone unit. The audio components of the video and other content displayed on the display 312 may be played through the speaker 314. In some embodiments, the audio may be distributed to a receiver (not shown) that processes and outputs the sound via the speaker 314.

[0121] The guide application may be implemented using any preferred architecture. For example, it may be a standalone application fully implemented on the user equipment device 300. In such an approach, the application's instructions are stored locally (e.g., in the storage device 308), and data for use by the application is downloaded periodically (e.g., from an out-of-band feed, from an internet resource, or using another preferred approach). The control circuit 304 may read the application's instructions from the storage device 308 and process the instructions to generate one of the displays discussed herein. Based on the processed instructions, the control circuit 304 may determine what action to take when input is received from the input interface 310. For example, moving the cursor up / down on the display may be indicated by the processed instructions when the input interface 310 indicates that the up / down button has been selected.

[0122] In some embodiments, the media guide application is a client-server based application. Data for use by a thick or thin client, implemented on the user device 300, is retrieved on demand by issuing a request to a server located remotely from the user device 300. In one embodiment of the client-server based guide application, the control circuit 304 launches a web browser that interprets a web page provided by the remote server. For example, the remote server may store instructions for the application in a storage device. The remote server may use a circuit (e.g., the control circuit 304) to process the stored instructions and generate the displays discussed above and below. The client device may receive the displays generated by the remote server and display the content of the displays locally on the device device 300. Thus, while the processing of instructions is performed remotely by the server, the resulting displays are provided locally on the device device 300. The device device 300 may receive user inputs via the input interface 310 and transmit those inputs to the remote server to process and generate the corresponding displays. For example, the device 300 may transmit a communication to a remote server indicating that the up / down button has been selected via the input interface 310. The remote server may process the command according to the input and generate an application display corresponding to the input (for example, a display to move the cursor up / down). The generated display is then transmitted to the device 300 for presentation to the user.

[0123] In some embodiments, the media guide application is downloaded, interpreted, or otherwise launched by an interpreter or virtual machine (launched by the control circuit 304). In some embodiments, the guide application may be encoded in ETV Binary Interchange Format (EBIF), received by the control circuit 304 as part of a preferred feed, and interpreted by a user agent launched on the control circuit 304. For example, the guide application may be an EBIF application. In some embodiments, the guide application may be defined by a set of Java®-based files, received and launched by a local virtual machine or other preferred middleware executed by the control circuit 304. In some of such embodiments (e.g., employing MPEG-2 or other digital media encoding schemes), the guide application may be encoded and transmitted, for example, in an MPEG-2 object carousel using the program's MPEG audio and video packets.

[0124] The user equipment device 300 in Figure 3 can be implemented in the system 400 in Figure 4 as any other type of user equipment suitable for accessing content such as user television equipment 402, user computer equipment 404, wireless user communication device 406, or non-portable game consoles. For simplicity, these devices may be collectively referred to herein as user equipment or user equipment devices and may be substantially similar to the user equipment devices described above. User equipment devices, in which media guide applications may be implemented, may function as standalone devices or as part of a network of devices. Various network configurations of devices may be implemented and will be discussed in more detail below.

[0125] In relation to Figure 3, user equipment devices utilizing at least some of the system features described above do not necessarily have to be classified simply as user television equipment 402, user computer equipment 404, or wireless user communication device 406. For example, user television equipment 402 may be internet-enabled, like some user computer equipment 404, enabling access to internet content, while user computer equipment 404 may include a tuner, like some television equipment 402, enabling access to television programs. The media guide application may also have the same layout on various different types of user equipment, or it may be adapted to the display capabilities of the user equipment. For example, on user computer equipment 404, the guide application may be provided as a website accessed by a web browser. In another embodiment, the guide application may be scaled down for wireless user communication device 406.

[0126] In System 400, typically there are more than one of each type of user equipment device, but to avoid making the diagrams too complex, only one of each is shown in Figure 4. In addition, each user may use more than one type of user equipment device, and more than one of each type of user equipment device.

[0127] In some embodiments, user equipment devices (e.g., user television equipment 402, user computer equipment 404, wireless user communication device 406) may be referred to as “second screen devices.” For example, the second screen device may complement the content presented on the first user equipment device. The content presented on the second screen device may be any suitable content that complements the content presented on the first device. In some embodiments, the second screen device provides an interface for adjusting the settings and display preferences of the first device. In some embodiments, the second screen device is configured to interact with other second screen devices or with social networks. The second screen device may be located in the same room as the first device, in a different room but in the same house or building as the first device, or in a different building as the first device.

[0128] Users may also configure various settings to maintain consistent Media Guide application settings across home and remote devices. These settings include those described herein, as well as favorite channels and programs, program preferences, display preferences, and other desired Guide settings that the Guide application uses to recommend programs. For example, if a user sets a channel as a favorite on their office personal computer, for instance, on the website www.Tivo.com, the same channel will appear as a favorite on the user's home devices (e.g., user television equipment and user computer equipment), and optionally on the user's mobile devices. Thus, changes made on one user device, whether identical or different types of user devices, can alter the Guide experience on another user device. In addition, changes made may be based on user-entered settings and user activity monitored by the Guide application.

[0129] User equipment devices may be coupled to the communication network 414. That is, user television equipment 402, user computer equipment 404, and wireless user communication device 406 are coupled to the communication network 414 via communication paths 408, 410, and 412, respectively. The communication network 414 may be one or more networks, including the Internet, a mobile phone network, a mobile voice or data network (e.g., a 4G or LTE network), a cable network, a public switched telephone network, or other types of communication networks, or a combination of communication networks. Paths 408, 410, and 412 may individually or together include one or more communication paths such as a satellite path, a fiber optic path, a cable path, a path supporting Internet communications (e.g., IPTV), a free-space connection (e.g., for broadcast or other wireless signals), or any other suitable wired or wireless communication path, or a combination of such paths. In the exemplary embodiment shown in Figure 4, path 412 is drawn with a dashed line to indicate that it is a wireless path, and paths 408 and 410 are drawn with solid lines to indicate that they are wired paths (however, these paths may also be wireless paths, if desired). Communication with the user equipment device may be provided by one or more of these communication paths, but in Figure 4, it is shown as a single path to avoid making the drawing too complex.

[0130] Although no communication paths are described between user equipment devices, these devices may communicate directly with each other via communication paths such as those described above in relation to paths 408, 410, and 412, and other short-range point-to-point communication paths such as USB cables, IEEE 1394 cables, wireless paths (e.g., Bluetooth®, infrared, IEEE 802-11x, etc.), or other short-range communications via wired or wireless paths. BLUETOOTH® is a registered trademark of Bluetooth®. This is a certification mark owned by SIG, INC. User equipment devices may also communicate directly with each other through an indirect path via the communication network 414.

[0131] System 400 includes a content source 416 and a media guide data source 418, which are connected to a communication network 414 via communication paths 420 and 422, respectively. Paths 420 and 422 may include any of the communication paths described above in relation to paths 408, 410, and 412. Communication with the content source 416 and the media guide data source 418 may occur via one or more communication paths, but in Figure 4, they are shown as a single path to avoid making the diagram too complex. In addition, there may be more than one of each of the content source 416 and the media guide data source 418, but in Figure 4, only one of each is shown to avoid making the diagram too complex. (Different types of these sources are discussed below). If desired, the content source 416 and the media guide data source 418 may be integrated as a single source device. Although the communication between sources 416 and 418 and user equipment devices 402, 404, and 406 is shown as occurring through the communication network 414, in some embodiments sources 416 and 418 may communicate directly with user equipment devices 402, 404, and 406 via communication paths (not shown), such as those described above in relation to paths 408, 410, and 412.

[0132] System 400 may also include an advertising source 424 connected to a communication network 414 via a communication path 426. Path 426 may include any of the communication paths described above in relation to paths 408, 410, and 412. The advertising source 424 may include advertising logic for determining which advertisements to transmit to specific users and the circumstances under which they are transmitted. For example, a cable operator may have the right to insert advertisements during specific time slots on a specific channel. Thus, the advertising source 424 may transmit advertisements to users during these time slots. In another embodiment, the advertising source may target advertisements based on the demographics of users known to watch a particular program (e.g., teenagers watching reality shows). In yet another embodiment, the advertising source may offer different advertisements depending on the location of the user's device viewing the media asset (e.g., East Coast or West Coast).

[0133] In some embodiments, the ad source 424 may be configured to maintain user information, including an ad suitability score associated with the user, in order to provide targeted advertisements. In addition, or alternatively, a server associated with the ad source 424 may be configured to store raw information that can be used to derive the ad suitability score. In some embodiments, the ad source 424 may transmit requests regarding the raw information to another device and calculate the ad suitability score. The ad source 424 may update the ad suitability score for specific users (e.g., a first subset, a second subset, or a third subset of users) and transmit advertisements for targeted products to the appropriate users.

[0134] Content source 416 may include one or more types of content distribution equipment, including television distribution facilities, cable system headends, satellite distribution facilities, program sources (e.g., television broadcasters such as NBC, ABC, HBO, etc.), intermediate distribution facilities and / or servers, internet providers, on-demand media servers, and other content providers. NBC is the National Broadcasting Company. ABC is a trademark owned by American Broadcasting Company, Inc., and HBO is a trademark owned by Home Box Office, Inc. Content Source 416 may be a source of content (e.g., a television broadcaster, a webcast provider, etc.) or may not be a source of content (e.g., an on-demand content provider, an internet provider of broadcast program content for download, etc.). Content Source 416 may also include a cable source, a satellite provider, an on-demand provider, an internet provider, an over-the-top content provider, or other content provider. Content Source 416 may also include a remote media server used to store different types of content (including video content selected by the user) located in a remote location from any of the user equipment devices. Systems and methods for remote storage of content and for providing remotely stored content to user equipment are discussed in more detail in relation to U.S. Patent No. 7,761,892 by Ellis et al., published July 20, 2010 (incorporated herein by reference to it as a whole).

[0135] The media guide data source 418 may provide media guide data, such as the media guide data described above. The media guide data may be provided to the user equipment device using any preferred approach. In some embodiments, the guide application may be a standalone interactive television program guide that receives program guide data via a data feed (e.g., a continuous feed or trickle feed). Program schedule data and other guide data may be provided to the user equipment on the sidebands of television channels using in-band digital signals, using out-of-band digital signals, or by any other preferred data transmission technology. Program schedule data and other media guide data may be provided to the user equipment on multiple analog or digital television channels.

[0136] In some embodiments, guide data from media guide data source 418 may be provided to the user's device using a client-server approach. For example, the user's device may pull media guide data from the server, or the server may push media guide data to the user's device. In some embodiments, a guide application client residing on the user's device may initiate a session with source 418 and retrieve guide data as needed, for example, when the guide data is outdated or when the user's device receives a request from the user to receive the data. Media guides may be provided to the user's device at any preferred frequency (e.g., continuously, daily, at user-defined intervals, at system-defined intervals, in response to requests from the user's device, etc.). The media guide data source 418 may provide the user's device devices 402, 404, and 406 with the media guide application itself, or software updates for the media guide application.

[0137] In some embodiments, media guide data may include viewer data. For example, viewer data may include current and / or historical user activity information (e.g., content the user typically watches, the time the user watches the content, whether the user interacts with social networks, the time the user interacts with social networks and posts information, the type of content the user typically watches (e.g., pay TV or free TV), mood, brain activity information, etc.). Media guide data may also include subscription data. For example, subscription data may identify sources or services that a given user subscribes to and / or sources or services that a given user previously subscribed to but later discontinued access to (e.g., whether the user subscribes to a premium channel, whether the user added a premium level service, whether the user accelerated their internet speed). In some embodiments, viewer data and / or subscription data may identify patterns of a given user over periods longer than one year. Media guide data may include a model (e.g., a survivor model) used to generate a score indicating the likelihood that a given user will discontinue access to a service / source. For example, a media guide application may process audience data along with subscription data using a model to generate a value or score that indicates the likelihood of a given user terminating access to a particular service or source. In particular, a higher score may indicate a higher level of confidence that the user is likely to terminate access to a particular service or source. Based on the score, the media guide application may generate advertisements that encourage users to maintain access to a particular service or source indicated by the score as one that the user is likely to terminate access to.

[0138] The media guide application may be a standalone application implemented on the user device, for example. For example, the media guide application may be implemented as software or a set of executable instructions that are stored in a storage device 308 and can be executed by the control circuit 304 of the user device 300. In some embodiments, the media guide application may be a client-server application, in which case only the client application resides on the user device, and the server application resides on a remote server. For example, the media guide application may be implemented partly as a client application on the control circuit 304 of the user device 300, and partly on the remote server as a server application (e.g., media guide data source 418) that is launched on the control circuit of the remote server. When executed by the control circuit of the remote server (media guide data source 418, etc.), the media guide application may instruct the control circuit to generate a guide application display and transmit the generated display to the user device. The server application may instruct the control circuit of the media guide data source 418 to transmit data for storage on the user device. The client application may instruct the control circuit of the receiving user device to generate a guide application display.

[0139] The content and / or media guide data delivered to user equipment devices 402, 404, and 406 may be over-the-top (OTT) content. OTT content delivery enables Internet-enabled user devices, including any user equipment devices described above, to receive content transmitted over the Internet, including any content described above, in addition to content received over cable or satellite connections. OTT content is delivered over Internet connections provided by Internet service providers (ISPs), but third parties also distribute content. ISPs may not be responsible for viewing ability, copyright, or redistribution of content and may only transmit IP packets provided by OTT content providers. Examples of OTT content providers include YouTube®, Netflix, and Hulu, which deliver audio and video over IP packets. YouTube is a trademark owned by Google Inc., Netflix is ​​a trademark owned by Netflix, Inc., and Hulu is a trademark owned by Hulu, LLC. OTT content providers may also, or alternatively, provide media guide data as described above. In addition to content and / or media guide data, OTT content providers may distribute media guide applications (e.g., web-based or cloud-based applications), or the content may be displayed by a media guide application stored on the user's device.

[0140] The media guide system 400 is intended to illustrate several approaches or network configurations, thereby allowing user equipment devices and sources of content and guide data to communicate with each other for the purpose of accessing content and providing media guides. The embodiments described herein may be applied in any one or part of these approaches, or in systems employing other approaches for distributing content and providing media guides. The following four approaches provide specific illustrations of the generalized embodiment shown in Figure 4.

[0141] In one approach, user equipment devices may communicate with each other within a home network. User equipment devices can communicate with each other directly via the short-range point-to-point communication scheme described above, via an indirect path through a hub or other similar device provided on the home network, or via the communication network 414. Each of several individuals in a household may operate different user equipment devices on the home network. As a result, it may be desirable for various media guide information or settings to be communicated between different user equipment devices. For example, as described in more detail in U.S. Patent Publication 2005 / 0251827 of Ellis et al., filed July 11, 2005, it may be desirable for a user to maintain consistent media guide application settings on different user equipment devices within a home network. Different types of user equipment devices within a home network may also communicate with each other and transmit content. For example, a user may transmit content from a user computer device to a portable video player or a portable music player.

[0142] In the second approach, a user may have multiple types of user devices, thereby accessing content and obtaining media guides. For example, some users may have a home network accessed by both in-home and mobile devices. Users may control their in-home devices via a media guide application implemented on a remote device. For example, a user may access an online media guide application on a website via their office personal computer or a mobile device such as a PDA or web-enabled mobile phone. Users may control their in-home devices by configuring various settings (e.g., recording, reminders, or other settings) on the online guide application. The online guide may control the user's devices directly or by communicating with the media guide application on the user's in-home devices. Various systems and methods for communication between user device devices that are located remotely from one another are discussed, for example, in U.S. Patent No. 8,046,801 by Ellis et al., published October 25, 2011 (which is incorporated herein by reference in its entirety).

[0143] In the third approach, users of user devices inside and outside the home can communicate directly with the content source 416 and use its media guide application to access the content. Specifically, within the home, users of user television equipment 402 and user computer equipment 404 may access the media guide application to navigate between and identify the desired content. Users may also use the wireless user communication device 406 to access the media guide application outside the home to navigate between and identify the desired content.

[0144] In a fourth approach, user equipment devices may operate within a cloud computing environment and access cloud services. In a cloud computing environment, various types of computing services for content sharing, storage, or distribution (e.g., video sharing sites or social networking sites) are provided by a collection of network-accessible computing and storage resources referred to as the “cloud.” For example, the cloud may include a collection of server computing devices, which may be located centrally or in distributed locations, that provide cloud-based services to various types of users and devices connected via a network such as the Internet via a communication network 414. These cloud resources may include one or more content sources 416 and one or more media guide data sources 418. In addition, or alternatively, remote computing sites may include other user equipment devices such as user television equipment 402, user computer equipment 404, and wireless user communication devices 406. For example, other user equipment devices may provide access to stored copies of video or streamed video. In such embodiments, user equipment devices may operate in a peer-to-peer manner without communicating with a central server.

[0145] The cloud provides user devices with access to services such as content storage, content sharing, or social networking services, and access to any content described above, among other embodiments. Services may be delivered within the cloud through a cloud computing service provider or through other providers of online services. For example, cloud-based services may include content storage services, content sharing sites, social networking sites, or other services through which user-supplied content is distributed for viewing by others on connected devices. These cloud-based services may enable user devices to store content in the cloud and receive content from the cloud, rather than storing and accessing content locally.

[0146] Users may record content using various content capture devices such as camcorders, digital cameras with video modes, audio recorders, mobile phones, and handheld computing devices. Users can upload content to a content storage service on the cloud either directly, for example, from user computer equipment 404, or from a wireless user communication device 406 having content capture features. Alternatively, users can first transfer content to a user equipment device such as user computer equipment 404. The user equipment device storing the content uploads the content to the cloud using a data transmission service on the communication network 414. In some embodiments, the user equipment device itself is the cloud resource, and other user equipment devices can directly access the content from the user equipment device where the user has stored the content.

[0147] Cloud resources may be accessed by a user device using, for example, a web browser, a media guide application, a desktop application, a mobile application, and / or any combination thereof of access applications. A user device may be a cloud client that relies on cloud computing for application delivery, or it may have certain functionality without accessing cloud resources. For example, some applications launched on a user device may be cloud applications, i.e., applications delivered as a service over the internet, while other applications may be stored and launched on the user device. In some embodiments, a user device may receive content from multiple cloud resources simultaneously. For example, a user device may stream audio from one cloud resource while downloading content from a second cloud resource. Alternatively, a user device may download content from multiple cloud resources for more efficient downloading. In some embodiments, a user device may use cloud resources for processing operations, such as processing operations performed by processing circuits described in relation to Figure 3.

[0148] As used herein, the term "in response to" means "to be initiated as a result of." For example, a first action performed in response to a second action may include an intervening step between the first action and the second action. As used herein, the term "directly in response to" means "to be caused by." For example, a first action performed directly in response to a second action may not include an intervening step between the first action and the second action.

[0149] In some embodiments, the Media Guide application may periodically or continuously check a database in the user profile to determine whether any user account information associated with the application has been updated, added, or deleted. The Media Guide application may also periodically or continuously refresh the application menu to reflect the current status of all applications.

[0150] In some embodiments, the media guide application may establish different cues to distinguish the level of account a user has for the application. For example, the media guide application may have three distinctly different cues to represent three account levels (e.g., no account, account without paid subscription to content, and account with paid subscription to content). These distinctly different cues may be used to help the user identify the current status of all applications displayed on the user device screen.

[0151] In some embodiments, the media guide application may determine that the user has selected and opened an application (e.g., by navigating to it, or by selecting it remotely or via voice command). The media guide application may also determine that the user has entered their account information into the application (e.g., by logging in via a login screen). The media guide application may store this account information in a database within the user profile, associated with the opened application.

[0152] In some embodiments, the Media Guide application may generate prompts for the user, prompting the user to enter account information for currently installed applications when applicable. The Media Guide application may generate prompts when initializing the user's settings and profile. The Media Guide application may also generate prompts when the user navigates from the main menu to a submenu (e.g., a settings menu).

[0153] In some embodiments, the media guide application may decide that the cues are visual. The media guide application may decide that highlight boxes are created around all applications for which the user has an account.

[0154] As defined herein, “level of access” to an application refers to any kind of data or rule that defines a user’s ability to access different tiers of services provided by that application. For example, with respect to an exemplary application, a user may have a top-level subscription, an intermediate-level subscription, or no subscription or account at all associated with the application. A top-level subscription may be a paid subscription, a paid subscription to premium content (e.g., a monthly paid subscription to HBO Now, Netflix, etc.), or any subscription that includes access to content within the application. An intermediate-level subscription may be a paid subscription (e.g., a paid subscription in a lower tier than the top-level subscription) or a free subscription (e.g., a free account with the music streaming application Spotify that requires the user to listen to ads for every set number of songs). An intermediate-level subscription may not allow a user access to all content available on the corresponding application, and some content (e.g., at least one media content item) may be restricted and / or require a higher level subscription.

[0155] As defined herein, “account status” refers to any type of data that defines the level of a user’s access to an application. In some embodiments, the account status may be a locally stored file that defines the level of a user’s access to an application. In some embodiments, the media guide application may read the account status by reading user account information for the application from a database in the user profile. If the search returns no results, the media guide application may determine that the user does not have an account in the corresponding application.

[0156] Figure 5 illustrates illustrative embodiments of application menus displayed on a screen according to some embodiments of the present disclosure. Figure 5 shows a display 500 on a user device. The display 500 may include an "APPS" menu 502. The display 500 may include an application overlay 504 that shows different application filter options (for example, the user selecting one of these options will filter applications based on application type (e.g., Favorites, Sports, Kids, Video, etc.)). The display 500 may include a plurality of menu icons (e.g., Netflix icon, HBO GO icon, Amazon icon, etc.). In some embodiments, at least one icon (e.g., Netflix icon) may include a visual cue 506. For example, the visual cue 506 may highlight the border of the application icon in a first color. In some embodiments, at least one icon (e.g., Spotify icon) may include a different visual cue 508. For example, the visual cue 508 may highlight the border of the application (e.g., Spotify) in a second color. In some embodiments, at least one application icon 510 (e.g., the Bravo Now launch icon) may not have a visual cue associated with it.

[0157] For example, the media guide application may generate a visual cue 506 (e.g., a green highlight box) around each application icon associated with an application for which the user has a paid subscription account. In another embodiment, the media guide application may generate a visual cue 508 (e.g., a red highlight box) around all application icons associated with an application for which the user has a free account. In some embodiments, the media guide application may not generate any cue for application icons 510 associated with an application for which the user does not have an account.

[0158] In some embodiments, the media guide application may filter applications based on their status (e.g., based on subscribed applications and / or premium applications) to show applications that are not free. Filters may be selected by the user, for example, by using the application overlay 504.

[0159] In some embodiments, the media guide application may filter applications based on the application's status in relation to free trials (for example, for applications that require a paid subscription). For example, the media guide application may filter applications based on whether the user still has free trial periods available (determined, for example, based on information in the user profile).

[0160] Figure 6 shows a user device display 600. Display 600 may include an "APPS" menu 602. Display 600 may also include an application overlay 604 that shows different application filtering options (for example, the user selecting one of these options will filter applications based on application type (e.g., Favorites, Sports, Kids, Video, etc.)). Display 600 may include a visual cue 606 that highlights the border of an application icon (e.g., Netflix) in color 1. Display 600 may also include a visual cue 608 that highlights the border of another application icon (e.g., Spotify) in color 2. Display 600 may also include a visual cue 610 that highlights the border of an application icon (e.g., Hulu) in color 3. Display 600 may also include an application icon 612 (e.g., Bravo Now) that does not have an associated visual cue.

[0161] In some embodiments, the media guide application may establish different cues indicating the amount of time a user has left before their paid subscription to an application expires. The media guide application may read this information from a database that stores user account and subscription information. For example, the media guide application may read a set of thresholds (e.g., by an editor) from the user profile, which may be adjustable according to user input. For example, the media guide application may read a set of thresholds, each corresponding to a cue (e.g., 30+ days for green, 7+ days for yellow, and expiration for red). The media guide application may compare the time a user has left before their paid subscription to an application expires for each application they have a subscription to with the set of thresholds and assign a cue to each application. The media guide application may then generate and display the cue for each application on the user's device.

[0162] For example, the media guide application may determine, using the method described above, that a user's paid subscription to the application associated with the icon will not expire for at least 30 days, and therefore generate a signal 606 that highlights the icon in green. In some embodiments, the media guide application may determine that a user's paid subscription to the application will not expire for at least 7 days, and therefore generate a signal 608 that highlights the icon in yellow. In some embodiments, the media guide application may determine that a user's paid subscription to the application has already expired, and therefore generate a signal 610 that highlights the icon in red. In some embodiments, the media guide application may not highlight the icon in any color after determining that the user does not have any subscriptions or accounts associated with the application associated with the application icon 612.

[0163] In some embodiments, the size of the application as it appears on the display may be modified by the media guide application to indicate the difference between paid and non-paid subscriptions associated with the application, and to indicate that there is no account / subscription for the application. Modifications can help users easily identify which applications they might prefer to access (for example, an application with a paid subscription might be more desirable than an application without a subscription / account).

[0164] Figure 7 shows a display 700 of a user device 700. The display 700 may include an "APPS" menu 700. The display 700 may also include an application overlay 700 that shows different application filtering options (for example, the user selecting one of these options would filter applications based on application type (e.g., Favorites, Sports, Kids, Video, etc.)). The display 700 may include a visual cue 706 that enlarges the size of an application icon (e.g., Netflix) to a first size. The display 700 may also include a visual cue 708 that enlarges the size of an application icon (e.g., Spotify) to a second size. The display 700 may also include a visual cue that shrinks the size of an application icon (e.g., Hulu) to a third size. For example, a media guide application may modify all icons associated with applications that the user has a paid subscription application for and enlarge their size to a first size. In some embodiments, the media guide application may modify all icons associated with applications for which the user has a non-paid subscription, enlarging them to a second size, where the first size is larger than the second size. In some embodiments, the media guide application may modify all icons associated with applications for which the user does not have a subscription, reducing them to a third size, where the third size is smaller than the first and second sizes.

[0165] In some embodiments, the media guide application may create application cues based on application size (e.g., making applications for which the user has an account larger and more prominent than applications for which the user does not have an account), opacity (e.g., fading out applications for which the user does not have an account), order (visual cues based on ordering applications for which the user has an account (e.g., from paid to free to none)), application size manipulation (e.g., making applications for which the user has an account "bounce" on the screen by repeatedly making the application icon size smaller and larger in short time cycles), and any other similar visual cues.

[0166] In some embodiments, the media guide application may provide haptic feedback as a signal. For example, the media guide application may use a sensor (e.g., a piezoelectric sensor) contained inside a remote controller to generate vibrations within the remote controller when the user navigates to an application for which the user has an account. Once the user has navigated to an application and remains on it for a threshold amount of time (e.g., a threshold amount of time found in the user profile and pre-set by the editor), the media guide application may generate vibrations. The media guide application may determine that the length of the vibration, the force of the vibration, and other characteristics of the vibration depend on the status of the application. For example, the media guide application may generate vibrations within three different time lengths (e.g., a long vibration to indicate that the user has a paid subscription to the selected application, a medium vibration to indicate that the user has a non-paid subscription to the selected application, and a short vibration or no vibration to indicate that the user does not have a subscription or account to the selected application). The media guide application may decide not to use the sensor to generate vibrations when the user navigates to an application for which the user does not have an account.

[0167] In some embodiments, the media guide application may provide audio feedback as a signal. The media guide application may play different tones or phrases based on the status of the application. For example, immediately after a user navigates to an application, the media guide application may generate low, medium, and high frequency tones associated with no account, non-paid account, and paid account. In another embodiment, the media guide application may play a phrase (e.g., the phrase "none") immediately after a user navigates to an application for which the user does not have an account. The media guide application may play a phrase (e.g., the phrase "free") immediately after a user navigates to an application for which the user has a non-paid subscription account. In some embodiments, the media guide application may play a phrase (e.g., the phrase "paid" or "premium") immediately after a user navigates to an application for which the user has a paid subscription.

[0168] Figure 8 illustrates an illustrative flowchart of a process 800 for generating menu icons indicating the user's level of access, according to some embodiments of the present disclosure. Process 800 may be executed by control circuit 304 (for example, in a manner instructed to control circuit 304 by a media guide application). Control circuit 304 may be part of user equipment (e.g., user television equipment 402, user computer equipment 404, and / or wireless communication device 406) or a remote server separated from user equipment via a communication network 414.

[0169] Process 800 begins with 802, where the control circuit 304 determines the user's account status for an application. For example, the control circuit 304 may determine the user's account status for an application associated with the Netflix icon (e.g., Netflix) in Figure 5. For example, the control circuit 304 may query the local storage device 308 and receive a file that stores the account status for all applications installed on the user's television device 402 or user's computer device 404. In some embodiments, the control circuit 304 may read the account status from a remote server (e.g., a media guide data source 418).

[0170] Process 800 continues in 804, where control circuit 804 determines the level of access the user has to an application (e.g., Netflix). For example, control circuit 304 may determine whether the user has a first level of access or a second level of access. In some embodiments, when the user has a first level of access to the application, the user may be able to use the application to access a first set of media content items. For example, the first level of access may be a free subscription to the application. In some embodiments, a free subscription may allow the user to watch some movie trailers and / or some free promotional offers for media content items (e.g., movies or TV shows). In some embodiments, when the user has a second level of access to the application, the user may be able to use the application to access a second set of media content items. The second set of media content items may contain at least one more media content item than the first set. For example, the second level of access may be a paid subscription to the application. In some embodiments, a paid subscription may allow users to watch a number of premium movies and television shows, in addition to some free promotional offers of movie trailers and / or media content items (e.g., movies or television shows).

[0171] In some embodiments, when the control circuit 304 determines that the user has a first level of access to the application, process 800 may continue at 806. In some embodiments, when the control circuit 304 determines that the user has a second level of access to the application, process 800 may continue at 808.

[0172] In 806, the control circuit 304 may generate a menu icon (e.g., the Netflix icon in Figure 5) that indicates a user having a first level of access to the application. For example, the menu icon may be generated to include a first color that indicates the first level of access. In another embodiment, the menu icon may be generated to have a first size that indicates the first level of access.

[0173] In 808, the control circuit 304 may generate a menu icon (e.g., the Netflix icon in Figure 5) that indicates a user with a second level of access to the application. For example, the menu icon may be generated to include a second color that indicates the second level of access. In another embodiment, the menu icon may be generated to have a second size that indicates the second level of access.

[0174] Figure 9 depicts another illustrative flowchart of a process 900 for generating menu icons indicating the user's level of access, according to some embodiments of the present disclosure. Process 900 may be executed by control circuit 304 (for example, in a manner instructed to control circuit 304 by a media guide application). Control circuit 304 may be part of user equipment (e.g., user television equipment 402, user computer equipment 404, and / or wireless communication device 406) or a remote server separated from user equipment via a communication network 414.

[0175] Process 900 begins from 902, where the control circuit 304 may maintain a user profile. In some embodiments, the user profile may include a user account status indicating the level of the user's access to individual applications with respect to multiple applications. For example, the user profile may be in a database containing the status of each application installed by the user (e.g., Netflix, Spotify, etc.). In some embodiments, whenever a user purchases a subscription or a subscription expires, the control circuit 304 may modify the user profile to reflect this change. For example, if a user purchases a paid subscription to Spotify, the control circuit 304 may modify the database entry associated with Spotify to reflect that the user has paid subscription access. In some embodiments, when a user's Spotify subscription expires, the control circuit 304 may modify the database entry associated with Spotify to reflect that the user no longer has subscription access.

[0176] Process 900 continues in step 904, in which the control circuit 304 may read the user's account status from the user profile in relation to a first application (e.g., the Netflix application in Figure 5) among several applications (e.g., the applications in Figure 5). In some embodiments, the control circuit 304 may perform step 904 periodically or aperiodically. For example, the control circuit 304 may perform step 904 each time the application menu (e.g., the APP menu 504 in Figure 5) is opened. In another embodiment, the control circuit 304 may perform step 904 every 30 minutes or every time period.

[0177] Process 900 continues in 906, where a control circuit 304 may determine the user's level of access to a first application based on the user's account status. For example, the control circuit 304 may determine the user's level of access to a specific application (e.g., Netflix) among all applications installed on the user's television device 402. For example, the control circuit 304 may determine whether the user has a first level of access to the application (e.g., a free subscription) or a second level of access to the application (e.g., a paid subscription). In some embodiments, there may be any number of levels of access to the application. In some embodiments, when the user has a first level of access to the application, the user can access a first set of media content items through the application (e.g., watching movie trailers on Netflix). In some embodiments, when the user has a second level of access to the application, the user can access a second set of media content items through the application, which includes at least one more media content item than the first set (e.g., watching movies and TV shows on Netflix in addition to movie trailers).

[0178] Process 900 continues at 908, where the control circuit 304 may take different paths depending on the level of access indicated by the account status with respect to the application. In some embodiments, if the account status indicates a first level of access, process 900 may continue to 910. In some embodiments, if the account status indicates a second level of access, process 900 may continue to 914.

[0179] In 910, the control circuit 304 may generate a menu icon whose appearance indicates that the user has a first level of access to the first application. For example, the control circuit 304 may generate an icon that includes a first color (e.g., a dull blue) to indicate that the user has a first level of access to the first application. In another embodiment, the control circuit 304 may generate an icon that is of a first size to indicate that the user has a first level of access to the first application.

[0180] In 912, the control circuit 304 may generate menu icons for display on the user device. For example, the control circuit 304 may display menu icons on the display 500 in Figure 5.

[0181] In 914, the control circuit 304 may generate a menu icon whose appearance indicates that the user has a second level of access to the first application. For example, the control circuit 304 may generate an icon that includes a second color (e.g., bright yellow) to indicate that the user has a second level of access to the first application. In another embodiment, the control circuit 304 may generate an icon that is a second size (e.g., larger than the first size) to indicate that the user has a first level of access to the first application.

[0182] In 916, the control circuit 304 may generate menu icons for display on the user device. For example, the control circuit 304 may display menu icons on the display 500 in Figure 5.

[0183] Process 900 continues in 918, in which the control circuit 304 may launch a first application in response to an indication of user interaction with a menu icon. For example, the control circuit 304 may listen for user input via a user input interface 310. For example, the user may click a menu icon using a TV remote controller, a touchscreen interface, or a computer mouse. Once the user clicks a menu icon, the control circuit 304 may launch the associated application.

[0184] Figure 10 illustrates an illustrative flowchart for a process of changing the appearance of a menu icon according to some embodiments of the present disclosure. Process 1000 may be executed by the control circuit 304 in a manner in which it is instructed, for example, by a media guide application. In some embodiments, process 1000 is executed as part of block 906.

[0185] Process 1000 begins with the control circuit 304 determining the time from the user's account status, where the time is the amount of time remaining until the user's subscription to the first application expires, starting from 1002. For example, if a user purchased a paid subscription to Netflix on November 20, 2017, and 10 days have passed since then, the control circuit 304 may determine that 20 days remain on the paid subscription.

[0186] Process 1000 continues in 1004, where the control circuit 304 determines the level of user access to the first application based on time. For example, if the control circuit 304 determines that 20 days remain on a paid subscription, the control circuit 304 may determine that the user still has a paid subscription to the application. However, if the amount of time is equal to (or less than) 0, the control circuit 304 may determine that the user has expired and reverts to a free subscription.

[0187] Process 1000 continues in 1006, where the control circuit 304 may change the appearance of the menu icon associated with the application to reflect the determined subscription level. This may be carried out in the manner described in steps 910 and 914 of Figure 9.

[0188] Figure 11 depicts another illustrative flowchart for a process of changing the appearance of a menu icon according to some embodiments of the present disclosure. Process 1000 may be executed by the control circuit 304 in a manner in which the control circuit 304 is instructed to do so, for example, by a media guide application. In some embodiments, process 1000 is executed as part of block 906.

[0189] Process 1100 begins from 1102, in which the control circuit 304 may generate a menu icon containing an upgrade input in response to the step in which the account status determines that the account status indicates a first level of access to the application. For example, the menu icon (e.g., the Netflix icon in Figure 5) may be generated to contain the text "Upgrade Now". The text may be below, above, alongside, or overlaid on the menu icon.

[0190] Process 1100 continues in 1104, where the control circuit 304 may, in response to a step in detecting user interaction with an upgrade input, adjust the appearance of the menu icon so that it indicates the user has a second level of access to the first application. For example, if the user clicks an upgrade input, the control circuit 304 may automatically upgrade the user's access level (e.g., by submitting the user's payment information to the application store), and then modify the icon to indicate that the user now has a second level of access to the application (e.g., a paid subscription).

[0191] Figure 12 depicts yet another illustrative flowchart for a process of changing the appearance of a menu icon according to some embodiments of the present disclosure. Process 1200 may be executed by the control circuit 304 in a manner in which it is instructed, for example, by a media guide application. In some embodiments, process 1200 is executed as part of either block 1210 or 1214.

[0192] Process 1200 begins at 1202, in which the control circuit 304 can determine the level of application indicated by the account status. In some embodiments, steps 1204-1212 are performed in response to the control circuit 304 determining that the user has a first level of access to a first application (e.g., Netflix) (e.g., a free subscription). In some embodiments, steps 1214-1222 are performed in response to the control circuit 304 determining that the user has a second level of access to the first application (e.g., Netflix) (e.g., a premium subscription). In some embodiments, any of steps 1204-1222 may be performed optionally, simultaneously, or sequentially.

[0193] In step 1204, the control circuit 304 may change the appearance of the menu icon to include a first color (e.g., blue). For example, the background or outline of the icon may be changed to include the first color. In some embodiments, some design elements of the menu icon (e.g., text) may be changed to the first color.

[0194] In step 1206, the control circuit 304 may change the appearance of the menu icon by setting its size to a first size. For example, the first size may be a relatively smaller size.

[0195] In step 1208, the control circuit 304 may modify the appearance of the menu icon to be static. For example, the menu icon may be generated without any animation.

[0196] In step 1210, the control circuit 304 may modify the appearance of the menu icon to include a first text. For example, the menu icon may be modified to include the text "Free" or "Free Subscription".

[0197] In step 1212, the control circuit 304 may modify the appearance of the menu icon to include an indication that the user has access to a first set of media content. For example, the menu icon may be modified to include the text "Trailers Only".

[0198] In step 1214, the control circuit 304 may change the appearance of the menu icon to include a second color (e.g., yellow). For example, the background or outline of the icon may be changed to include the second color. In some embodiments, some design elements of the menu icon (e.g., text) may be changed to the second color.

[0199] In step 1216, the control circuit 304 may change the appearance of the menu icon by setting its size to a second size. For example, the first size may be relatively larger.

[0200] In step 1218, the control circuit 304 may modify the appearance of the menu icon to include animation. For example, the menu icon may be generated to include moving or flashing elements.

[0201] In step 1220, the control circuit 304 may modify the appearance of the menu icon to include the first text. For example, the menu icon may be modified to include the text "Premium" or "Premium Subscription".

[0202] In step 1222, the control circuit 304 may modify the appearance of the menu icon to include an indication that the user has access to a second set of media content (for example, a larger set than the first set). For example, the menu icon may be modified to include the text "Full Library Access".

[0203] The media guide application may read information associated with the user and the remote controller associated with the user's equipment. The media guide application may then determine the functionality of the remote controller based on the indicators and functionality of each input of the remote controller (e.g., the number and indicators of active buttons / inputs it has, and the remote controller's ability to detect voice commands). In some embodiments, the media guide application may also read thresholds from the user profile, which correspond to different functionalities of the remote controller.

[0204] In some embodiments, the media guide application may determine the indicator and functionality of each input of the remote controller. In some embodiments, the media guide application may determine the total number of programmable inputs (e.g., buttons) included by the remote controller. In some embodiments, the media guide application may compare this number to a threshold from a user profile to determine the functionality of the remote controller (e.g., 0 to 5 inputs are determined to be limited functionality, 5 to 10 inputs are determined to be intermediate functionality, and 10+ inputs are determined to be high functionality). The media guide application may select an appropriate user interface corresponding to the functionality determined by the comparison.

[0205] In some embodiments, the media guide application may generate and display a user interface menu based on the selected user interface on the user device. In some embodiments, the media guide application may simplify the selected user interface when there are fewer buttons on the remote controller than there are user interface elements on the selected user interface. In some embodiments, the media guide application may make the selected user interface more complex when there are more buttons on the remote controller than there are user interface elements on the selected user interface. For example, the media guide application may automatically populate text in an area of ​​the selected user interface where text can be entered for a remote controller with fewer buttons, but does not have to automatically populate text entries for a remote controller containing more buttons (e.g., a functional keyboard). In another embodiment, the media guide application may simplify the selected user interface based on fewer inputs present on the remote controller (e.g., by changing the input from accepting text input to a yes / no question). The media guide application may remove some commands on the selected user interface (e.g., as depicted in Figures 8 and 9) when the functionality of the remote controller is more limited.

[0206] As defined herein, “remote controller” refers to any type of physical device or software application that a user uses to remotely issue commands to another physical device or software application. For example, “remote controller” could refer to a physical device that issues commands to an STB and / or television device via IR signals. In some embodiments, “remote controller” could refer to a remote controller application running on a mobile phone that enables a user to issue commands to an STB and / or DVR over a network.

[0207] As defined herein, “input” of a remote controller refers to any physical or software feature that can be used by a user to issue specific commands. In some embodiments, the input may refer to a button, touchpad, circular input, toggle, voice input element, or any other device or part of a device that can be used to issue a command.

[0208] As defined herein, “User Interface Element” means any type of visual feature of a user interface (e.g., a menu) that can be interacted with by a user via input from a remote controller. For example, a user interface element may mean a visual representation of a button, toggle, voice input field, radio input field, or any other visual feature that responds to a command issued by a user.

[0209] Figure 13 illustrates illustrative embodiments of user interfaces selected based on the functionality of a remote controller according to some embodiments of the present disclosure. In some embodiments, the media guide application may select user interface 1300 in response to the step of determining that the functionality of the remote controller 1302 is highly functional (e.g., the remote 1302 has 10+ buttons). The remote controller 1302 has input input 1304, red input 1306, blue input 1308, and setting input 1310 from among a number of inputs. User interface 1300 is displayed on a screen and may represent an application menu (e.g., the user interface menu of the Netflix application).

[0210] In some embodiments, the media guide application may select the user interface 1300 by analyzing the functionality and indicators of the inputs of the remote controller 1302. In some embodiments, the media guide application may receive this information from the remote controller 1302. For example, the remote controller 1302 may transmit the following remote controller information, as depicted in Table 1. [Table 1]

[0211] In some embodiments, after receiving remote controller information, the media guide application may select a user interface (including multiple user interface elements) such that at least one input (or all inputs of the remote controller) of the remote controller matches at least one element of that user interface. For example, the media guide application may select user interface 1300 because it has the following user interface elements as depicted in Table 2. [Table 2]

[0212] For example, in this embodiment, the media guide application may select user interface 1300 because each user interface element in Table 2 has at least one input as described in Table 1, with matching indicators and functionality. For example, button 1 matches user interface element 1.

[0213] In some embodiments, the user interface 1300 includes an icon 1312 that identifies the application controlled by the user interface 1300 (e.g., Netflix). In some embodiments, the user interface 1300 includes a user interface element 1314 having a button labeled "Enter". In some embodiments, the media guide application may assign the functionality "Open Application" to the user interface element 1314. In some embodiments, the media guide application may place the text "Open Application" next to the user interface element 1314. In some embodiments, the media guide application may associate the user interface element 1314 with the input 1304 of the remote 1302 based on the labeling and functionality of the input 1304 that matches the labeling and functionality of the user interface element 1314. In some embodiments, when the user presses the button 1304, the media guide application may visually depict the pressed button 1314 and perform the functionality associated with the user interface element 1314 (e.g., the media guide application may open the Netflix application).

[0214] In some embodiments, the media guide application may also associate interface element 1316 with input 1306, for example, having matching indicators and functionality. In some embodiments, the media guide application may assign option 2 (e.g., "Annie's Profile") to interface element 1316. In some embodiments, when a user presses button 1306, the media guide application may visually depict the pressed button 1316 and perform functionality associated with user interface element 1316 (e.g., the media guide application may select Annie's Profile).

[0215] In some embodiments, the media guide application may also associate interface element 1318 with input 1308, for example, having matching indicators and functionality. In some embodiments, the media guide application may assign option 3 (e.g., "Sam's Profile") to interface element 1318. In some embodiments, when a user presses button 1308, the media guide application may visually depict the pressed button 1318 and perform functionality associated with the user interface element 1318 (e.g., the media guide application may select Sam's Profile).

[0216] In some embodiments, the media guide application may also associate interface element 1320 with input 1310, for example, having matching indicators and functionality. In some embodiments, the media guide application may assign option 4 (e.g., "Change Netflix settings") to interface element 1320. In some embodiments, when a user presses button 1310, the media guide application may visually represent the pressed button 1320 and perform functionality associated with user interface element 1317 (e.g., the media guide application may open a menu for changing Netflix settings).

[0217] Figure 14 shows another illustrative embodiment of a user interface selected based on the functionality of a remote controller, according to some embodiments of the present disclosure. In some embodiments, the media guide application may select user interface 1400 in response to the step of determining that the functionality of the remote controller 1402 is limited (e.g., the remote 1402 has fewer than five inputs). In some embodiments, the remote controller 1402 has a navigation input 1404, a home input 1406, and an enter input 1408 from among several potentially available inputs. User interface 1400 may be displayed on a screen and represent an application menu (e.g., the user interface menu of the Netflix application). In some embodiments, user interface 1400 may be used to launch and / or control the same application as user interface 1300 in Figure 13.

[0218] In some embodiments, the media guide application may select the user interface 1400 by analyzing the functionality and indicators of the inputs of the remote controller 1402. In some embodiments, the media guide application may receive this information from the remote controller 1402. For example, the remote controller 1402 may transmit the following remote controller information, as depicted in Table 3. [Table 3]

[0219] In some embodiments, after receiving remote controller information, the media guide application may select a user interface (including multiple user interface elements) such that at least one input (or all inputs of the remote controller) of the remote controller matches at least one element of that user interface. For example, the media guide application may select user interface 1400 because it has the following user interface elements as depicted in Table 4. [Table 4]

[0220] For example, in this embodiment, the media guide application may select user interface 1400 because each user interface element in Table 4 has at least one input as described in Table 3 with matching indicators and functionality (for example, button 1 matches user interface element 1).

[0221] In some embodiments, the user interface 1400 includes an icon 1410 that identifies the application controlled by the user interface 1400 (e.g., Netflix). In some embodiments, the user interface 1400 includes a user interface element 1414 having a button labeled "Enter". In some embodiments, the media guide application may assign the functionality "Open Application" to the user interface element 1414. In some embodiments, the media guide application may place the text "Open Application" next to the user interface element 1414. In some embodiments, the media guide application may associate the user interface element 1414 with the input 1408 of the remote 1402 based on the labeling and functionality of the input 1408 that matches the labeling and functionality of the user interface element 1414. In some embodiments, when the user presses the button 1408, the media guide application may visually depict the pressed button 1414 and perform the functionality associated with the user interface element 1414 (e.g., the media guide application may open the Netflix application).

[0222] In some embodiments, the media guide application may also associate interface element 1412 with input 1406, for example, having matching indicators and functionality. In some embodiments, the media guide application may assign option 2 (e.g., "Return to Main Menu") to interface element 1412. In some embodiments, when the user presses button 1406, the media guide application may visually represent the pressed button 1412 and perform functionality associated with the user interface element 1412 (e.g., the media guide application may exit to the main menu).

[0223] In some embodiments, user interface 1400 does not include functionality that was available on user interface 1300. For example, user interface 1400 may lack the options “Annie’s Profile,” “Sam’s Profile,” and “Change Netflix Settings” because (unlike remote controller 1302) remote controller 1402 lacks suitable inputs that can match these functionalities.

[0224] In another embodiment, the media guide application may determine that a remote controller with limited functionality needs to traverse fewer screens to reach a menu location than a remote controller with intermediate or high functionality. For example, the media guide application may determine that an intermediate or high-function remote controller needs to navigate through one screen to reach the Netflix homepage (e.g., by selecting the Netflix icon on the main menu screen associated with a default input on the remote controller (e.g., the Netflix button on the remote)), while a limited-function remote controller needs to navigate through three screens to reach the Netflix homepage (e.g., by selecting the Applications menu from the main menu screen, selecting the Netflix application from the Applications menu, and selecting the "Open Application" button from the Netflix menu).

[0225] In another embodiment, the media guide application may generate a database that associates different application interfaces with different controller types, the number of input buttons (and their labeling and functionality), and voice command capabilities. The media guide application may compare the currently used remote controller with the database. From the comparison, the media guide application may determine the optimal user interface (e.g., an interface that matches the remote controller) that should be displayed as a menu.

[0226] Figure 15 illustrates an illustrative flowchart for a process 1500 for selecting a user interface according to several embodiments of the present disclosure. Process 1500 may be performed by the control circuit 304 (for example, in a manner instructed to the control circuit 304 by a media guide application). The control circuit 304 selects user equipment (e.g., user television equipment 402, user computer equipment 404, and / or wireless communication device 406), or a remote server separated from the user equipment via a communication network 414. Partial submission is acceptable.

[0227] Process 1500 begins at 1502, in which the control circuit 304 detects the functionality of a remote controller (e.g., remote controller 1302 or 1402) that is communicatively connected to the user equipment (e.g., user television equipment 402). For example, the control circuit 304 may receive remote controller data directly from the remote controller (e.g., via an IR signal or via a communication network 414). In another embodiment, the user may input the model number of the remote controller via a user input interface 310, and the control circuit 304 may retrieve the remote controller data from a remote server (e.g., a media guide data source 418).

[0228] Process 1500 continues in 1504, in which the control circuit 304 determines the labeling and functionality of each input on the remote controller. For example, the control circuit 304 may analyze a table (e.g., Table 1 or Table 3) received from the remote controller. For example, the control circuit 304 may determine that the remote controller has a "button 1" labeled "input" and has "push button" functionality. In some embodiments, the control circuit 304 may also make similar decisions regarding all other inputs of the remote controller.

[0229] Process 1500 continues in 1506, where the control circuit 304 selects a user interface having at least one user interface element that matches the indicator and functionality of at least one input of the remote controller. In some embodiments, the control circuit 404 selects a user interface having at least one user interface element that matches the indicator and functionality of all inputs of the remote controller. For example, the control circuit 304 may have access to several user interfaces (e.g., user interface 1300 and user interface 1400). In some embodiments, each user interface may have associated tables (e.g., Tables 2 and 4 described above) that define the indicator and functionality of each user interface element of the associated user interface. For example, the exemplary user interface may have a table that defines "User Interface Element 1" having the indicator "Input" and the functionality "Push Button". The table may also define other user interface elements.

[0230] In some embodiments, the control circuit 304 may select the user interface such that at least one user interface element matches the labeling and functionality of at least one input of the remote controller. For example, "Button 1" may be determined to match "User Interface Element 1" because it has the same (or similar or compatible) labeling (e.g., "Input") and the same (or similar or compatible) functionality (e.g., "Push Button"). In some embodiments, the control circuit 304 may select the user interface such that all user interface elements match the labeling and functionality of at least one input of the remote controller.

[0231] Process 1500 continues in 1508, in which the control circuit 304 displays the selected user interface on the user equipment. For example, the control circuit 304 may display the selected user interface on the user television equipment 402, the user computer equipment 404, or the display 312.

[0232] Figure 16 depicts another illustrative flowchart of a process 1600 for selecting a user interface according to some embodiments of the present disclosure. Process 1600 may be performed by the control circuit 304 (for example, in a manner instructed to the control circuit 304 by a media guide application). The control circuit 304 may be part of user equipment (e.g., user television equipment 402, user computer equipment 404, and / or wireless communication device 406) or a remote server separated from the user equipment via a communication network 414.

[0233] Process 1600 begins with the control circuit 304 detecting a remote controller (e.g., remote controller 1302 or 1402) having multiple inputs, which is capable of interacting with a user interface on a user device (e.g., user television device 402) located remotely from the remote controller. For example, the control circuit 304 may detect an identification signal from the remote controller. In some embodiments, the control circuit 304 detects the remote controller as a result of an explicit input from the user.

[0234] Process 1600 continues in 1604, where the control circuit 304 determines the characteristics of the remote controller. In some embodiments, the characteristics may include a description of all of the inputs among a plurality of inputs. In some embodiments, the description of each input may include the type of input and an indicator of the input. For example, when the remote controller is controller 1302 in Figure 3, the type of input and the indicator of the input may be defined as described by Table 1. For example, the control circuit 304 may determine that the remote controller has a "button 1" that is labeled "input" and has "push button" functionality. In some embodiments, the control circuit 304 may also make similar determinations regarding all other inputs of the remote controller.

[0235] Process 1600 continues in 1606, in which the control circuit 304 selects the optimal user interface to display on the user device based on the characteristics of the remote controller. In some embodiments, the control circuit 304 can significantly improve the user experience by selecting a user interface that makes full use of the capabilities of the remote controller, while avoiding presenting options that the user cannot select, and thus providing the maximum possible number of options and avoiding the frustration of seeing options that are not selectable. In some embodiments, the control circuit 304 selects the optimal user interface by performing steps 1608-1614 as described below.

[0236] Process 1600 continues in 1608, where the control circuit 304 stores a plurality of template user interfaces, each template user interface comprising a plurality of user interface elements, each interface element comprising an indicator and a functionality type. For example, each template user interface may define the layout of several user interface elements. For example, each template user interface may define the absolute location of each user interface element. In another embodiment, each template user interface may define the relative location of each user interface element to each other so that each template user interface can be scaled to different sizes of the display. In some embodiments, each template user interface may have associated tables (e.g., Tables 2 and 4 described above) that define the indicator and functionality of each user interface element of the associated user interface. For example, the exemplary template user interface may have a table that defines "User Interface Element 1" having the indicator "Input" and functionality "Push Button". In some embodiments, process 1600 may continue in either 1610 or 1612.

[0237] In 1610, the control circuit 304 may select a template user interface from among several template user interfaces such that at least one interface element of its template user interface corresponds to a description of at least one input of the remote controller. For example, "Button 1" of the remote controller may be determined to match "User Interface Element 1" of the first template user interface because it has the same (or similar or compatible) signage (e.g., "Input") and the same (or similar or compatible) functionality (e.g., "Push Button"). In some embodiments, the control circuit 304 may, as a result, select the first template user interface as the optimal user interface for the remote controller.

[0238] In 1612, the control circuit 304 may select a template user interface from among several template user interfaces such that each interface element of its template user interface corresponds to a description of at least one input of the remote controller. For example, "Button 1" of the remote controller may be determined to match "User Interface Element 1" of the first template user interface because it has the same (or similar or compatible) sign (e.g., "Input") and the same (or similar or compatible) functionality (e.g., "Push Button"). In some embodiments, the control circuit 304 may similarly match each user interface element of the first template user interface to at least one input of the remote controller. In some embodiments, the control circuit 304 may, as a result, select the first template user interface as the optimal user interface for the remote controller.

[0239] In some embodiments, the control circuit 304 may find that at least one interface element corresponds to an input description when the interface element's label matches the input label and the input type is compatible with the interface element's functionality type. For example, the input label "Home" may match the user input element label "Home". In some embodiments, the input label "Home" may match a sufficiently similar user input element label. For example, the label "Base Menu" or a picture depicting a house may be determined to match the label "Home". In some embodiments, the input functionality "Push Button" may match the user input element functionality "Push Button". In some embodiments, the input functionality "Toggle" may match the user input element functionality "Radio Select". In some embodiments, the input functionality "Circular Touchpad" may match the user input element functionality "Dial".

[0240] In 1614, the control circuit 304 may display the selected optimal user interface (e.g., user interface 1300 or 1400) on the user device (e.g., user television device 402).

[0241] Figure 17 illustrates an illustrative flowchart of a process 1700 for detecting a remote controller according to some embodiments of the present disclosure. Process 1700 may be executed by the control circuit 304 in a manner in which it is instructed, for example, by a media guide application. In some embodiments, process 1700 is executed as part of block 1602. Process 1700 may start from either 1702 or 1704. In some embodiments, these steps may be performed arbitrarily, sequentially, or simultaneously.

[0242] In 1702, the control circuit 304 may receive a wireless identification signal from the remote controller. For example, the remote controller may transmit its model number (e.g., Samsung 4504) via IR. Depending on the initial settings, the remote controller may transmit the model number periodically (e.g., daily) or aperiodicly.

[0243] In 1704, the control circuit 304 may receive user input to identify the remote controller. For example, the user may manually type the model number of the remote controller via the user input interface 310.

[0244] In version 1706, the control circuit 304 may detect a remote controller. For example, the control circuit 304 may detect an identification signal or a user input signal and identify the controller using a local database stored on the storage device 308.

[0245] Figure 18 illustrates an illustrative flowchart of a process 1800 for receiving characteristics of a remote controller according to some embodiments of the present disclosure. Process 1800 may be executed by the control circuit 304 in a manner in which it is instructed to the control circuit 304, for example, by a media guide application. In some embodiments, process 1800 is executed as part of 1604.

[0246] In version 1802, the control circuit 304 may receive a remote controller identifier from the remote controller. For example, the remote controller may transmit its model number (e.g., Samsung 4504) via an IR signal or over a network.

[0247] In version 1804, the control circuit 304 may transmit an identifier to a remote server. For example, the control circuit 304 may transmit a model number (e.g., Samsung 4504) to the media guide data source 418 via the communication network 414.

[0248] In version 1806, the control circuit 304 may receive characteristics of the remote controller from a remote server. For example, the media guide data source 418 may transmit a table (e.g., Table 1 or Table 3) describing each input of the remote controller via the communication network 414.

[0249] Figure 19 illustrates an illustrative flowchart of process 1900 for storing a new template user interface according to some embodiments of the present disclosure. Process 1900 may be executed by the control circuit 304 in a manner in which it is instructed, for example, by a media guide application. In some embodiments, process 1900 is executed as part of 1606.

[0250] Process 1902 begins with step 1902, in response to the control circuit 304 determining that none of the stored template user interfaces can be selected, and generating a new template user interface based on the characteristics of the remote controller.

[0251] For example, the control circuit 304 may determine that all of the stored template user interfaces have user interface elements that cannot be matched to at least one input of the remote controller. For example, each of the stored template user interfaces may have a user interface element that is a push button labeled "Home," while the remote controller does not have a button labeled "Home." In some embodiments, the control circuit 304 may then modify one of the template user interfaces such that each interface element of the modified template user interface corresponds to a description of at least one input of the remote controller. For example, the control circuit 304 may generate a new template user interface by performing steps 1904-1906, or any one of steps 1908, 1910, and 1912. In some embodiments, these steps may be performed arbitrarily, sequentially, or simultaneously.

[0252] In 1904, the control circuit 304 may select a base template user interface from several template user interfaces. For example, the control circuit 304 may select the template that is closest to the optimal user interface. For example, the control circuit 304 may select the user interface template that has the fewest user interface elements that cannot be matched to at least one input of the remote controller.

[0253] In 1906, the control circuit 304 may modify the base template user interface such that each interface element of its modified template user interface corresponds to a description of at least one input of the remote controller. For example, the control circuit 304 may do so by performing any one of steps 1908, 1910, or 1912.

[0254] In 1908, the control circuit 304 may relabel at least one interface element. For example, the base user interface may have a user interface element which is a push button labeled "Home," while the remote controller does not have a button labeled "Home." On the other hand, the remote controller does not have a button labeled "Back." In some embodiments, the control circuit 304 may then relabel the user interface element labeled "Home" so that it is labeled "Back."

[0255] In 1910, the control circuit 304 may remove at least one interface element. For example, the base user interface may have a user interface element which is a push button labeled "Home," while the remote controller does not have a button labeled "Home." In some embodiments, the control circuit 304 may then remove the user interface element labeled "Home" from the base user interface.

[0256] In 1912, the control circuit 304 may modify the functionality of at least one interface element. For example, the base user interface may have a user interface element that is a push button labeled "Home," while the remote controller does not have a button labeled "Home." On the other hand, the remote controller may have voice input capability. In some embodiments, the control circuit 304 may then modify the user interface element (the push button labeled "Home") to be an audio response element labeled "Say Home," allowing the user to return to the home menu.

[0257] In 1914, the control circuit 304 may store a base template user interface as part of a plurality of template user interfaces. For example, the control circuit 304 may store a base template user interface on the storage device 308.

[0258] Figure 20 illustrates an illustrative flowchart of process 1900 for storing a new template user interface according to some embodiments of the present disclosure. Process 2000 may be executed by the control circuit 304 in a manner in which it is instructed, for example, by a media guide application. In some embodiments, process 2000 is executed as part of block 1606.

[0259] Process 2000 begins from 2002, in which the control circuit 304 may modify the selected optimal user interface based on the characteristics of the remote controller, in response to the step in which the remote controller determines that the remote controller has more inputs than the number of user interface elements of the selected optimal user interface.

[0260] For example, the control circuit 304 may determine that the remote controller has an input that does not correspond to at least one user interface element of the optimal user interface. For example, the remote controller may have a button labeled "Home," while the optimal user interface does not have a user interface element labeled "Home." In some embodiments, the control circuit 304 may modify the selected optimal user interface based on the characteristics of the remote controller. For example, the control circuit 304 may do so by performing any of steps 2004-2008. In some embodiments, these steps may be performed optionally, sequentially, or simultaneously.

[0261] In 2004, the control circuit 304 may add at least one new user interface element to the optimal user interface. For example, the remote controller may have a button labeled "Home," while the optimal user interface does not have a user interface element labeled "Home." In some embodiments, the control circuit 304 may then add a button to the optimal user interface using the label "Home."

[0262] In 2006, the control circuit 304 may add a label to a blank user interface element. For example, a remote controller may have a button labeled "Home," while the optimal user interface does not have a user interface element labeled "Home." In some embodiments, the optimal user interface may intentionally have several user interface elements that are left blank. In some embodiments, the control circuit 304 may then add a "Home" label to one of such blank user interface elements.

[0263] In 2008, the control circuit 304 may modify the functionality of at least one interface element. For example, the remote controller may have a circular volume control, while the optimal user interface has two push buttons labeled "Volume Up" and "Volume Down". In some embodiments, the control circuit 304 may modify the functionality of the push buttons labeled "Volume Up" and "Volume Down" so that they are dials that visually rotate in response to the user operating the circular volume control.

[0264] In 2010, the control circuit 304 may store a modified template user interface as part of a set of multiple template user interfaces. For example, the control circuit 304 may store a base template user interface on the storage device 308.

[0265] In some embodiments, the media guide application may schedule recording only episodes of the relevant season that follow the last episode watched by the user. In some embodiments, the media guide application may avoid scheduling recording episodes of seasons that precede or follow the relevant season. For example, if a user has recently watched season 3, episode 4 of the "Game of Thrones" series, season 3 may be determined to be the relevant season. In this embodiment, the media guide application may schedule recording any available "Game of Thrones" episodes from season 3, rather than from any season that precedes or follows season 3 (e.g., seasons 1, 2, and 4-6). In some embodiments, the media guide application may also schedule recording only episodes of seasons that follow season 3, episode 4. In some embodiments, the media guide application may notify the user when the season recording is complete. This technique provides an improvement to the technical field of video recording by saving space on the DVR by not selecting episodes that are not currently relevant to the user.

[0266] As used herein, the terms “series” or “media asset series” refer to any kind of media (e.g., video, audio, or multimedia) content that includes distinctly different sequential episodes that can be viewed separately from each other. For example, the television series “Game of Thrones” may include sequential episodes “Episode 1,” “Episode 2,” ... “Episode 7.” A series may be intended to be delivered in a sequential order according to episode numbering via television, computer, or any other user device. In some embodiments, for example, when the series is being broadcast, the series may be delivered in any order.

[0267] As used herein, the term “episode” refers to any kind of media content (e.g., video, audio, or multimedia) that forms a distinctly different part of a series. Each episode can be viewed separately from other episodes of the series. Episodes may typically be numbered consecutively, such that the content of one episode follows the content of the previous episode.

[0268] Figure 21 shows an illustrative media guide interface on a display screen that may provide improved functionality for resuming relevant seasons of a series according to some embodiments of the present disclosure. Display 2100 shows a media guide interface for video presentation and an interface for scheduling season recordings. In some embodiments, display 2100 may display media content provided by a media guide application. For example, display 2100 may display image 2102, which may be part of the media content provided by the media guide application. In some embodiments, the media content provided by the media guide application includes a series containing multiple sequential episodes.

[0269] In some embodiments, the display 2100 may include a current episode user interface UI element 2110. In some embodiments, the current episode UI element 2110 may show the episode (Season 3, Episode 4) of the series currently selected by the user (e.g., the "Game of Thrones" series). In some embodiments, the current episode UI element 2110 may include an episode indicator 2112. For example, the episode indicator 2112 may visually indicate the currently selected episode. For example, the episode indicator 2112 may include the text "Game of Thrones, Season 3, Episode 4". In some embodiments, the media guide application may assume that the currently selected episode is the last episode of the series watched by the user. In some embodiments, the media guide application may maintain a file tracking all episodes watched by the user to date and determine the last episode of the series watched by the user.

[0270] In some embodiments, the display 2100 may include a season recording interface 2104. For example, the season recording interface 2104 may appear in response to the user clicking the “Record” button on the remote controller. In some embodiments, the season recording interface 2104 may include a radio selection interface 2106 that allows the user to select one of the season recording options. For example, the radio selection interface 2106 may allow the user to select between the “Current Season,” “Related Seasons,” and “All Seasons” options. In some embodiments, the user may confirm their selection by clicking the “Record Season” button 2108 displayed on the display 2100.

[0271] In some embodiments, if the “Current Season” option is selected, the Media Guide application may schedule recordings of the most recent season of the series. For example, if the series is the “Game of Thrones” series, which consists of six seasons, the Media Guide application may schedule recordings of all episodes of season 6 (the most recent season).

[0272] In some embodiments, if the “All Seasons” option is selected, the Media Guide application may schedule recordings of all seasons of the series. For example, if the series is the “Game of Thrones” series, which consists of six seasons, the Media Guide application may schedule recordings of all episodes of all six seasons.

[0273] In some embodiments, if the “Relevant Season” option is selected, the Media Guide application may schedule recording only the relevant season of the series. For example, if the series is the “Game of Thrones” series, which consists of six seasons, the Media Guide application may determine the most recent episode of the “Game of Thrones” series watched by the user and determine the relevant season. For example, if the user last watched season 3, episode 4, the Media Guide application may determine that season 3 is the relevant season. In some embodiments, the Media Guide application may then schedule recording all episodes of season 3 (even if seasons 4-6 are subsequent seasons to season 3). That is, episodes of seasons 4-6 of the “Game of Thrones” series are not scheduled for recording. In some embodiments, the Media Guide application may also schedule recording only episodes of the relevant season (e.g., season 3) that follow the last episode watched by the user (e.g., episode 4 of season 3).

[0274] Figure 22 illustrates an illustrative flowchart of a process 2200 for scheduling season recordings according to some embodiments of the present disclosure. Process 2200 may be performed by the control circuit 304 (for example, in a manner instructed to the control circuit 304 by a media guide application). The control circuit 304 may be part of user equipment (e.g., user television equipment 402, user computer equipment 404, and / or wireless communication device 406) or a remote server separated from the user equipment via a communication network 414.

[0275] Process 2200 begins in 2202, where the control circuit 304 provides a series (e.g., the "Game of Thrones" series) to a user device, the series comprising multiple sequential seasons, each season comprising multiple episodes. For example, the control circuit 304 may make the series (or any part of the series) available for viewing on user equipment (e.g., user television equipment 402 or user computer equipment 404). For example, in response to a user request, the control circuit 304 may provide episodes of the series via broadcast signals in an order defined by a television schedule, or via a network (in any order).

[0276] Process 2200 continues in 2204, where the control circuit 304 receives a request to record the series. For example, a user may request recording of the relevant season of the series via the season recording interface 2104 shown in Figure 21.

[0277] Process 2200 continues in 2206, where the control circuit 304 identifies the last episode of the series to be watched by the user. For example, the control circuit 304 may maintain a file (e.g., on a storage device 308) in which all episodes watched by the user so far are recorded. In some embodiments, the control circuit 304 may then select the highest number of episodes identified by the file. In some embodiments, the control circuit 304 may instead assume that the episode of the series currently selected by the user is the last episode watched. For example, the control circuit 304 may determine that the episode identified by the episode indicator 2112 in Figure 21 is the last episode watched. For example, if the episode indicator 2112 contains the text "Game of Thrones, Season 3, Episode 4", the control circuit 304 may determine that Season 3, Episode 4 is the last episode watched in the "Game of Thrones" series.

[0278] Process 2200 continues in 2208, where the control circuit 304 determines the relevant season among multiple seasons, which includes the last episode viewed by the user and precedes another season among multiple seasons. For example, the series may be the "Game of Thrones" series, which includes six seasons, while season 3, episode 4 is the last episode viewed in the "Game of Thrones" series. In this embodiment, the control circuit 304 may determine that season 3 (the season preceding seasons 4-6) is the relevant season because it includes the last episode viewed by the user.

[0279] Process 2200 is a control circuit 304 that ensures that episodes of seasons preceding the relevant season are not scheduled for recording, following the last episode to be watched by the user (e.g., season 3, episode 4) of the relevant season (e.g., "Game The program continues in 2210 by scheduling the recording of an episode from season 3 of the "of Thrones" series. In some embodiments, episodes from seasons preceding the relevant season (e.g., seasons 1 and 2) are not scheduled for recording. In some embodiments, episodes from seasons following the relevant season (e.g., seasons 4-6) are also not scheduled for recording.

[0280] Figure 23 illustrates an illustrative flowchart of a process 2300 for scheduling season recordings according to several embodiments of the present disclosure. Process 2300 may be performed by the control circuit 304 (for example, in a manner instructed to the control circuit 304 by a media guide application). The control circuit 304 may be part of user equipment (e.g., user television equipment 402, user computer equipment 404, and / or wireless communication device 406) or a remote server separated from the user equipment via a communication network 414.

[0281] Process 2300 begins 2302, where the control circuit 304 provides a series (e.g., the "Game of Thrones" series) to a user device, the series comprising multiple sequential seasons, each season comprising multiple episodes. For example, the control circuit 304 may make the series (or any part of the series) available for viewing on user equipment (e.g., user television equipment 402 or user computer equipment 404). For example, in response to a user request, the control circuit 304 may provide episodes of the series via broadcast or via a network in an order defined by a television schedule.

[0282] Process 2300 continues in 2304, where the control circuit 304 maintains a series progress indicator that identifies the last episode of the series to be watched by the user. For example, the control circuit 304 may maintain a file (e.g., on a storage device 308) in which all episodes watched by the user so far are recorded. In some embodiments, the control circuit 304 may then set the series progress indicator to the highest number of episodes stored in the file. In some embodiments, the control circuit 304 may instead set the series progress indicator to indicate that the episode of the series currently selected by the user is the last episode watched. For example, the control circuit 304 may determine that the episode identified by the episode indicator 2112 is the last episode watched. For example, if the episode indicator 2112 contains the text "Game of Thrones, Season 3, Episode 4", the control circuit 304 may determine that Season 3, Episode 4 is the last episode watched in the "Game of Thrones" series. In some embodiments, the control circuit 304 may then set the series progress indicator to Season 3, Episode 4.

[0283] Process 2300 continues in 2306, in which the control circuit 304 receives a request to record the series. For example, the user may request recording of the relevant season of the series via the season recording interface 2104 in Figure 21. For example, the user may explicitly select the option to record the relevant season, as shown in Figure 21. In some embodiments, the user may explicitly select the option to record the relevant season from among several options, such as the option to record the current season and the option to record all seasons.

[0284] In some embodiments, in response to the step of receiving a request to record a series, the control circuit 304 may determine the relevant season among multiple seasons, which includes an episode that precedes another season among multiple seasons and is identified by the series progress indicator. For example, the series may be the "Game of Thrones" series, which includes six seasons, while season 3, episode 4 is an episode of the "Game of Thrones" series identified by the series progress indicator. In this embodiment, the control circuit 304 may determine that season 3 (a season preceding seasons 4-6) is the relevant season because it includes an episode identified by the series progress indicator. In this embodiment, season 3 may be selected as the relevant season even if season 3 precedes seasons 4-6.

[0285] Process 2300 continues in 2308, where the control circuit 304 monitors the broadcast schedule and can identify multiple available episodes of the series. For example, the control circuit 304 may receive the broadcast schedule from a media guide data source 418. For example, the broadcast schedule may identify multiple episodes, the titles of these episodes, season and number information for each episode, broadcast time, and broadcast channel. For example, the broadcast schedule may include information that season 3, episode 5 of the "Game of Thrones" series is scheduled to air on channel 112 at 3pm on November 21, 2017. In some embodiments, the control circuit 304 may identify each episode of the series scheduled for broadcast within the broadcast schedule. In some embodiments, the control circuit 304 may monitor the broadcast schedule by accessing the user profile and determining whether the user has a subscription that allows recording multiple available episodes of the series. For example, if the user is not authorized to watch channel 112, that episode may be excluded from consideration by the control circuit 304.

[0286] Process 2300 continues in 2310, where the control circuit 304 may determine, for each specific episode among several available episodes of a series, that the specific episode belongs to the relevant season and follows the episode identified by the series progress indicator. For example, if the relevant season is season 3 and the episode identified by the series progress indicator is season 3, episode 4, the control circuit 304 may determine that the specific episode belongs to season 3 and follows the episode identified by the series progress indicator (e.g., has an episode number greater than 4). In some embodiments, the control circuit 304 may then (if the determination is successful) schedule the specific episode to be recorded on the user's equipment (e.g., on a DVR) so that episodes of seasons preceding the relevant season are not scheduled for recording. That is, none of the episodes of seasons 1-2 can be scheduled for recording. In some embodiments, episodes of seasons following the relevant season are also not scheduled for recording. That is, none of the episodes of seasons 4-6 can be scheduled for recording.

[0287] Process 2300 continues in 2312, in which the control circuit 304 may record all episodes that are scheduled to be recorded for their individual broadcast times. For example, season 3, episode 5 of the "Game of Thrones" series may be scheduled for recording, which is scheduled to air on channel 112 at 3 p.m. on November 21, 2017. In this embodiment, the control circuit 304 may record season 3, episode 5 by tuning into channel 112 at 3 p.m. on November 21, 2017, and recording the content being broadcast through that channel.

[0288] In some embodiments, the control circuit 304 may monitor the episodes being recorded. In some embodiments, the control circuit 304 may provide a completion notification to the user in response to the step of determining that all episodes of the relevant season, following an episode identified by the series progress indicator, have been recorded. For example, if all episodes of season 3 following episode 4 (e.g., episodes 5-10) have been recorded, the control circuit 304 may display a notification (e.g., on display 2100) having the text "Season 3 of Game of Thrones has been fully recorded."

[0289] In some embodiments, the control circuit 304 may determine that at least one episode of the relevant series following an episode identified by a series progress indicator (for example, based on the broadcast schedule) is not available for recording. For example, season 3, episode 5 may be missing from the broadcast schedule. In some embodiments, in response, the control circuit 304 may determine that at least one episode of the relevant series is available for over-the-top (OTT) streaming. For example, the control circuit 304 may determine that season 3, episode 5 is available for streaming on Netflix. In some embodiments, the control circuit 304 may then provide the user with a notification comprising a hyperlink to stream at least one episode of the relevant series via at least an OTT streaming service. For example, the control circuit 304 may display the text "Game A notification may be displayed (for example, on display 2100) that states "Season 3, Episode 5 of Game of Thrones is available on Netflix." The notification may also include a hyperlink to stream Season 3, Episode 5 of the "Game of Thrones" series on Netflix. In some embodiments, the control circuit 304 may access the user profile and determine whether the user has a subscription to at least one OTT streaming service (e.g., Netflix). In some embodiments, the notification is displayed only if the user has the relevant subscription.

[0290] Users may use the Media Guide application to launch third-party applications. These third-party applications can be launched from the Media Guide application's menu. As defined herein, “Third-party application” is any application developed or sold by an entity other than the original vendor of the Media Guide application. The Media Guide application's menu is a display that allows users to navigate to different types of content, settings, applications, and other features. The menu is user-customizable, as it may feature only certain user-selectable applications. The Media Guide application may generate and display menus on the user's device. The Media Guide application may generate applications that should appear in the menu on the user's device based on user preferences and default settings (for example, a certain application may be pre-installed on the main menu for all users). The Media Guide application may receive input from the user and use certain means to access, navigate, and select applications. For example, the Media Guide application may receive input from the user and navigate the menu using input buttons on a remote control. In another embodiment, the Media Guide application may receive voice commands from the user and navigate the menu. An exemplary implementation of the menu can be seen in Figure 12-15.

[0291] Users may customize the menu by ranking or customizing applications, and applications may be automatically selected for inclusion / exclusion from the menu based on how the user ranks / customizes applications.

[0292] In some embodiments, the user may categorize applications using “high rating” and “low rating” categorization. The media guide application may generate a menu to be displayed on the user's device that displays third-party applications. The media guide application may receive input from the user via the remote control, which may include a user choice regarding whether to categorize the selected application as a “favorite” application. For example, the media guide application may determine that the user has selected an application to be one of the user’s “favorite” applications (e.g., the user has navigated to an application in the menu) by receiving “high rating” input from the remote control via a “high rating” remote control button. The media guide application may also determine that the user no longer wants an application to be a “favorite” by determining that the user has selected a highlighted application and selected the “low rating” button on the remote control. An exemplary implementation of a favorites menu may be seen in Figure 27.

[0293] In some embodiments, the user may rank the applications. The media guide application may present the user with a set of applications from multiple applications. The media guide application may generate prompts asking the user to rank the applications within the set of applications. The user may navigate through the set of applications and rank them using commands from the remote control (e.g., using number keys to assign a number to each application), or rank the set of applications based on voice commands (e.g., giving a numerical voice command for each application within the set of applications, or assigning an arbitrary rank such as "high," "medium," or "low" to each application within the set of applications). The media guide application may order the applications in the menu based on their ranks (e.g., from the highest to the lowest ranked applications).

[0294] In some embodiments, applications may be ranked according to popularity. The media guide application may determine, based on settings within user preferences from the user profile, that a user prefers applications to be ranked and ordered based on popularity. The media guide application may read data from other users associated with the user (e.g., the user's friends) to determine the popularity of applications. For example, the media guide application may determine that the most used application (e.g., having the highest total usage time of all applications) is ranked highest, and subsequent applications are ranked from high to low based on total usage time, as follows. In another embodiment, the media guide application may determine an overall ranking based on individual user rankings for each application. The media guide application may determine a ranking based on individual user rankings for each application (e.g., an application is ranked highest by most users and therefore ranked highest for the user).

[0295] The media guide application may create user profiles for users among multiple users. The media guide application may store user profiles in a database. The media guide application may determine preferences for each user corresponding to each user profile based on user input. The media guide application may determine that each user profile among multiple profiles has pre-configured preferences (e.g., determined by an editor) that may be adjustable via user input.

[0296] The media guide application may display profile options corresponding to the user profile on the user's device. The media guide application may receive user input corresponding to the step of selecting a profile (for example, the step of the user using buttons on a remote controller to select a profile displayed on the user's device). Based on the user's selection, the media guide application may generate a menu screen based on the preferences of the selected user profile.

[0297] In some embodiments, the media guide application may store data corresponding to user account information within user preferences. This data may include account information associated with the application (e.g., login credentials such as username and password). For example, the media guide application may store usernames and passwords corresponding to third-party applications within user preferences.

[0298] In some embodiments, when a user requests access to an application (for example, when a user remotely selects a third-party application, such as Netflix), the Media Guide application may automatically retrieve the user's login credentials (e.g., username and password) associated with the application from a database in the user profile. The Media Guide application may also automatically log the user into the application without generating a prompt for the user requesting the user to enter their login credentials (e.g., username and password).

[0299] In some embodiments, when a user requests access to an application (for example, when a user selects a third-party application, Netflix, via a voice command), the Media Guide application may determine the user's identity based on a voiceprint (e.g., a unique voice identifier) ​​from the voice command. The Media Guide application may determine a corresponding user profile for the user based on the voiceprint (e.g., by matching the voiceprint to a correct voiceprint stored in the user profile). The Media Guide application may automatically retrieve the user's login credentials (e.g., username and password) associated with the application from a database in the user profile. The Media Guide application may automatically log the user into the application without generating a prompt for the user requesting the user to enter their login credentials (e.g., username and password).

[0300] In some embodiments, the media guide application may use data from a third-party application as data input into the predictive calculation, which may influence the recommendations in the predictive bar, as seen in Figures 11 and 2532. The media guide application may read viewing history data, favorites data, and any other relevant data for use as data input into the predictive calculation.

[0301] A media guide application may generate and display a main menu bar. The media guide application may provide suggestions for items to be featured in the main menu bar list (e.g., based on machine learning, frequency, user preferences, user input, etc.). For example, the media guide application may decide to suggest to the user that "Netflix" be added as an item to be featured in the main menu bar list based on how often the user uses a particular application (e.g., the user spends more time on the video streaming application Netflix than on any other application).

[0302] In some embodiments, the media guide application may determine the functionality of the remote controller based on the remote's ability to detect voice commands. The media guide application may read menu screen settings corresponding to voice commands. The media guide application may generate and display menu screens based on the voice command settings. For example, the media guide application may generate a menu that consistently displays prompts to the user to be answered via voice commands (e.g., "Which movie would you like to watch?"). In another embodiment, the media guide application may generate a menu where "keywords are easy to understand". The media guide application may display keywords associated with voice commands corresponding to actions (e.g., the keyword "Open Netflix" next to the third-party application Netflix).

[0303] In another embodiment, when the remote controller has the capability to process voice commands, the media guide application may generate and display a menu screen based on the voice command settings. The media guide application may generate icons for voice input to be displayed on the menu screen. Icons for voice input may include a microphone icon, a pause / play icon, a home menu icon, etc. These icons may not be generated when the remote controller does not have the functionality to process voice commands.

[0304] The media guide application may change the menu bar based on user attributes (e.g., tone of voice, facial recognition indicating the user is happy / sad). The media guide application may determine user attributes using sensors (e.g., a camera, a smartwatch that measures biometrics) or based on user data (e.g., indicating that the user has only watched "sad" movies and is sad, based on metadata from the user's viewing history). The media guide application may compare the user's current attributes (e.g., stored in a database within the user profile) with the determined user attributes. The media guide application may change the appearance and functionality of the menu bar in response to the step of determining that the user's attributes have changed.

[0305] The Media Guide application may change the menu bar display based on detecting new users. The Media Guide application may display the menu bar based on the profile of the current user accessing the user device. The Media Guide application may detect new users who are not the current user and are accessing the user device.

[0306] In some embodiments, the media guide application may use a camera to identify a new user. The camera may detect the presence of the new user within the new user's viewing environment. The camera may identify the new user (e.g., using face / body recognition) and read a profile associated with the new user. Based on the preferences in the profile associated with the new user, the media guide application may generate a menu bar that should be displayed on the user's device based on the preferences in the profile associated with the new user.

[0307] In some embodiments, the media guide application may use speech recognition to determine a new user. Speech recognition may detect the presence of the new user within the new user's viewing environment. Speech recognition may identify the new user (for example, by matching an audio sample of their voice to a corresponding audio sample from a user profile) and retrieve the profile associated with the new user. Based on the preferences in the profile associated with the new user, the media guide application may generate menus that should be displayed on the user's device based on the preferences in the profile associated with the new user.

[0308] The media guide application may detect audio input from a user. The media guide application may determine the user corresponding to the audio (e.g., speech) input. The media guide application may compare the audio input to an audio sample in a database of multiple audio samples, each of which corresponds to a known user. From the comparison, the media guide application may determine the identity of the user from which the audio input originated (e.g., determining a user from speech input). The media guide application may make this determination based on matching the tone, volume, and other audio characteristics used to match the audio signal.

[0309] In some embodiments, the media guide application may determine from the comparison that there is no match between the audio input and multiple audio samples corresponding to a known user. The media guide application may store the audio input in the database as an unknown user, and, in accordance with the creation of a user profile for the unknown user, the media guide application may assign the audio samples of the unknown user to the newly created user profile.

[0310] In some embodiments, the media guide application may read a profile for a user corresponding to an identified user from the audio input comparison. The media guide application may then process the audio input from the user. For example, the media guide application may use natural language processing of the audio input to determine the exact command spoken by the user. For example, the media guide application may use natural language processing on a phrase spoken by the user (e.g., "catch up to where Juliette is watching Game of Thrones") to determine that the user wishes to watch Game of Thrones from the user's current location in Game of Thrones to the latest episode Juliette has watched. The media guide application may determine keywords in the command spoken by the user that are associated with other users. These keywords may include the user's name associated with the user profile (e.g., Juliette) and family relationships (e.g., wife, sibling, etc.). The media guide application may determine family relationships based on data read from social media, user input, machine learning, etc. A media guide application may use natural language processing to determine the context of a command (for example, watching "Game of Thrones" to catch up with another viewer's location).

[0311] Figure 24 corresponds to display 2400, where the Media Guide application generates a playlist (e.g., episodes of "Game of Thrones") 2406 in response to a user command 2404 from user 2402 (e.g., "Catch up to where Juliette is watching 'Game of Thrones'"). The Media Guide application may generate a prompt 2408 that displays queries to the user, such as "Start playlist and catch up to Juliette?" and other similar queries. The trick play bar 624 displays the user's progress in playlist 2406.

[0312] The media guide application may access the profile of a second user (e.g., Juliette) and read data from the second user's profile in response to a step in determining whether another user's keywords are present in a spoken command, and in response to a step in determining the context of the command. The media guide application may read viewing history data, user preferences, and other similar types of data from the second user's profile. The media guide application may determine from the second user's data information relevant to the context of the command (e.g., Game of Thrones episodes watched by the second user). Based on the information, the media guide application may generate a response to the user's command. For example, the media guide application may generate a response (e.g., a playback list of "Game of Thrones" episodes from the next episode up to the latest episode watched by the second user) by reading the viewing history data of the first user and determining the next episode the user needs to watch, and by reading the viewing history data of the second user and determining the latest episode the second user has watched, and then play the response after receiving a user command (e.g., the user selects "Play" or "Select" on the remote control in response to the generated response). In another embodiment, the media guide application may determine, based on the second user's viewing history, that the latest episode watched by the second user was only partially watched (e.g., the second user watched only 15 minutes of a 60-minute episode). The media guide application may generate a playback list of episodes for the first user to catch up to the playback position (e.g., the 15-minute mark) of the latest episode watched by the second user.The media guide application may pause the playback list of an episode when it reaches a playback position and generate a prompt for the user (for example, "You've caught up with Juliette! Do you want to continue watching or end your viewing session?") to determine whether the user wants to move past the second user's playback position or stop watching the playback list.

[0313] In some embodiments, when a user navigates to a menu (e.g., the "My Shows" menu), the Media Guide application will retrieve artwork from a database to be displayed behind the menu, as shown in Figure 28. The user may navigate to or select media content using a remote controller or voice commands. The Media Guide application may retrieve artwork associated with the selected media content.

[0314] In some embodiments, when a user selects a program to watch from a menu screen (e.g., the "My Programs" menu), the Media Guide application may read a user profile for the user selecting the program. When a user chooses to watch a specific episode of a program (e.g., an episode of "Orange is the New Black"), the Media Guide application may read profile information for applications (e.g., Netflix, Amazon Video, etc.) through which the user can watch the episode. The Media Guide application may automatically play the episode of the program through one of the applications without going through the usual process of opening an application, selecting a user profile within the application, searching for the episode, and then choosing to play the episode (e.g., selecting the application to play the episode based on a user-defined pre-configured application order). The Media Guide application may automatically select a profile from an application based on reading the profile associated with that application, as found in a database within the user profile for playing the episode through it. This ensures that the user's viewing history, recommendations, or other information through which the application uses viewing history data is not altered by an external user.

[0315] The Media Guide application may configure the system to utilize Sticky Key. As used herein, “Sticky Key” is a setting that, when enabled, saves the settings of the selected submenu and the current page even when navigating outside of the submenu for a set amount of time (e.g., 30 seconds). The Media Guide application may read the setting from preferences in the user profile. The Media Guide application may decide that the setting is pre-configured (e.g., pre-configured to “On” by the editor) and adjustable by the user. For example, the Media Guide application may generate a prompt in the settings menu that asks the user whether to turn Sticky Key on or off (e.g., creating two selectable options on the prompt, i.e., “Yes” / “No”).

[0316] In some embodiments, the media guide application may detect that the user has navigated to a menu screen associated with a sticky key. The media guide application may store general menu screens associated with sticky keys in a database within the user profile. In response to detecting that the user has pressed a button that will cause them to navigate out of the menu screen, the media guide application may compare the menu screen with general menu screens and determine if a match exists. In response to determining that a match exists, the media guide application may store settings, data, and metadata associated with the current menu screen in memory or in a temporary cache in storage. The media guide application may store enough data to recreate the current menu screen from scratch in real time. The media guide application may then navigate to a screen associated with an input pressed by the user. In response to the user navigating back to a screen that the user was viewing prior to the user's input, the media guide application may determine the amount of time between the time the user pressed the remote input button and navigated away from the current menu screen and the time the user pressed the remote button and navigated back to the current menu screen. In response to the step of determining that the time period is within a threshold time period (e.g., 30 seconds read from the user profile), the Media Guide application may display the current menu screen instead of the stock menu screen. The Media Guide application may read the threshold time period from preferences in the user profile. The Media Guide application may determine that the threshold time period is pre-set by an editor which may be adjustable based on user input. The Media Guide application may also read the threshold time period from a pre-stored setting in the user profile.For example, the Media Guide application may read a threshold time period (e.g., 30 seconds, pre-configured by the editor) from the preferences in the user profile. In response to determining that the time period is not within the threshold time period, the Media Guide application may reset the menu screen to its original (stock) settings. The Media Guide application may delete data stored in memory or in a temporary cache in storage after the threshold time period. When the user navigates back to the current menu screen after the threshold time period, the current menu screen will be reset to its default state.

[0317] In some embodiments, when the user navigates back to the current menu screen after a threshold time period and the media guide application resets the current menu screen to its default state, the media guide application may generate a prompt to ask the user whether they wish to extend the threshold time period (e.g., "Would you like to extend the stickiness time from 30 seconds to 45 seconds?") using inputs (e.g., "Yes" and "No" input buttons) to record the user's response.

[0318] Figure 25 shows one embodiment of Stickineski. Step 1 occurs in 2500, where the user navigates to the search menu 2502. The search menu 2502 contains a search bar 2504 which may contain user input (e.g., "Harry Potter") that the user wishes to search for. The search results grid 2506 represents the results generated from the user search. Search result 2506 represents one of several search results (e.g., "Harry Potter and the Sorcerer's Stone"). The highlighted search result 2508 represents the search result that the user navigated to (e.g., "Harry Potter and the Chamber of Secrets"), which may be indicated by a visual cue (e.g., highlighting the search results box). The results window 2510 represents the image associated with the content from search result 2508. The text box 2512 represents a text box which contains a text description of the content from search result 2508. The application box 2514 represents an application from which the user can view content from search result 2508.

[0319] Step 2 occurs in 2516, where the user selects an input button from the remote controller 2518. The remote controller 2518 may contain an input to be entered 2520 and a home input 2522, along with a number of other input buttons. Step 3 occurs in 2524, where the user may accidentally select the home input 2522 instead of the input to be entered 2520, returning the user to the home menu 2526. The home menu 2526 may contain an overlay bar 2528, a favorites list 2530, and a prediction bar 2532. Step 4 occurs in 2534, where the media guide application determines whether the time period 2538 required for the user to navigate back to the search menu is within a threshold time period 2536 associated with the sticky key, in response to the user navigating back to the search menu 2502. Step 4 occurs when the media guide application determines that time period 2538 is within threshold time period 2536, the search menu 2502 is loaded and displayed for the user, the search menu 2502 displays the search results grid 2504 containing the same results as the previous search. When the media guide application determines that time period 2538 is not within threshold time period 2536, the search menu 2502 will display within any stored data (for example, the search bar 2504 will not contain "Harry Potter" and the search results grid 2504 will not be displayed).

[0320] In some embodiments, the media guide application may adjust the threshold time period based on the speed of clicks by the user remotely. For example, the media guide application may decide to always navigate back to the menu screen even if the user navigates away from the menu screen (e.g., makes an incorrect selection remotely) and the space is slower than usual (e.g., the user requires a threshold amount of 30 seconds versus 45 seconds). From this behavior, the media guide application may learn that the threshold for the user should be adjusted to make it longer (e.g., at least 45 seconds).

[0321] In some embodiments, the media guide application may adjust the threshold time period based on the user's age. The media guide application may read the user's age from the user profile. The user guide application may decide to adjust the threshold time period based on the user's age (for example, adjusting the threshold to be longer for older users and shorter for younger users).

[0322] In some embodiments, the media guide application may also make decisions about the user based on the accuracy and slowness of their clicks on the remote controller. For example, the media guide application may measure the time period between a user selecting two buttons on the remote controller (e.g., a user takes 45 seconds to select two buttons when the normal average is 5 seconds). The media guide application may compare the time period to the normal average time between selecting two buttons on the remote (e.g., this data may be stored in a database within the user profile or calculated based on input selection history from other user accounts). If the time period is outside the range of the normal average time (e.g., not within a threshold percentage of the normal average time), the media guide application may determine that the user takes longer to select the remote control buttons. After determining this, the media guide application may simplify the menus and user interface to help the user spend less time on menus while making it easier for them to navigate through them. The media guide application may simplify the user interface as described above with respect to the remote controller functionality.

[0323] The media guide application may generate a list of keywords based on user input. The media guide application may search for metadata from a program guide corresponding to future programs to be broadcast. The media guide application may compare the metadata with the list of keywords and determine a match between the metadata and the list of keywords. In response to the step of determining a match, the media guide application may record the program corresponding to the matched metadata.

[0324] In some embodiments, the media guide application may determine from the metadata that a matched program is part of multiple matched programs (e.g., a single episode within a television series). The media guide application may record the corresponding episode within multiple related episodes, regardless of whether the corresponding episode is a match. The media guide application may decide whether to record the corresponding episode based on preferences in the user profile (e.g., the user selects "Record corresponding episodes").

[0325] In some embodiments, the media guide application may receive user input to add or remove words from a list of keywords. The media guide application may automatically delete any pre-recorded program in a list of programs that contains the deleted keyword. The media guide application may decide whether to automatically delete a pre-recorded program containing the deleted keyword based on settings in the user profile (for example, which may be in user preferences).

[0326] In some embodiments, the media guide application may generate prompts to be displayed on the user's device. The prompts may include selectable options, including allowing the user to delete a list of keywords, delete a list of keywords and all corresponding programs recorded through those keywords, add or remove keywords from a list, and / or create a new list of keywords. The media guide application may generate these prompts in response to the user navigating to a section of keyword lists on a menu screen (which may be, for example, a wishlist section, which the user navigates via a remote controller).

[0327] In some systems, when recording a television series, the system records all episodes from all seasons of the series, which may not be an exact representation of the episodes the user has already seen and needs to see. For example, a user might press the record button while watching a rerun of the first episode of season 3 of "Game of Thrones." The system may then record any episode from the series, whether it is a rerun or a new episode. However, the fact that the user decided to record the series while watching the first episode of season 3 of "Game of Thrones" could indicate that the user has already watched seasons 1 and 2 of "Game of Thrones." Depending on the settings within user preferences, the media guide application may decide to record only episodes from season 3 of "Game of Thrones" and beyond, ensuring that only episodes the user has not previously watched are recorded.

[0328] The Media Guide application may receive user input and record programs within multiple programs (for example, a series of television shows). The Media Guide application may determine the user's preferences for recording from settings stored in the profile. The Media Guide application may read the user's "Record series" setting in the user profile. Based on the read setting (for example, the setting is set to "Current Season" instead of "All"), the Media Guide application may decide to record programs that meet certain criteria (for example, only the currently playing season and subsequent episodes). The Media Guide application may read criteria from preferences in the user profile. Criteria may be predefined (for example, by an editor) and may specify that only episodes in the current season and subsequent seasons will be recorded, where the current season is the season of the selected program to be recorded (for example, the user selects season 5, episode 6 of Game of Thrones to record, and only season 5 and subsequent episodes will be recorded in the future).

[0329] A media guide application may generate and display a program guide that shows a list of currently airing programs. The media guide application may display programs in a grid format with a set number of rows. The media guide application may display the channel, currently airing programs, and future airing programs within each row. The media guide application may generate rows in the grid that provide the channel and time for each program.

[0330] In some embodiments, the media guide application may display eight rows in a grid, each dedicated to a specific channel.

[0331] In some embodiments, the media guide application may generate images to be displayed behind the programs shown in the grid. The media guide application may read images from an image database (e.g., from a frequently updated database on an online server) to be displayed behind the programs shown in the grid. The media guide application may read images corresponding to the currently highlighted program that the user has navigated to. For example, the media guide application may determine that the user has navigated to a program on a television channel (e.g., an episode of "Wynonna Earp" currently airing on the SYFY channel) (e.g., via a button on a remote controller). The media guide application may read images related to the program (e.g., promotional photos for "Wynonna Earp", published photos from the currently highlighted episode of "Wynonna Earp", etc.) to be displayed behind the grid.

[0332] The media guide application may receive input from a controller (e.g., a remote controller). In response to a step where the media guide application receives user input of the "right key" on the controller, it may display tuners among multiple tuners on the user device. The user device may contain multiple tuners. The media guide application may generate an overlay on the screen and display an image associated with each individual tuner (e.g., the current TV program / movie currently airing on the channel tuned to by the tuner).

[0333] The media guide application may, in response to a step of receiving user input of a “left key” on the controller, generate and display an overlay on the user's device showing the user’s favorite channels. The user’s favorite channels may be selectable, and the media guide application may receive input from the user to select a channel from the favorites list (e.g., via remote control). After receiving the user’s selection, the media guide application may adjust to the selected channel. In some embodiments, the media guide application may decide that the favorite channels enumerated in the overlay are determined based on user selection. The user may select their favorite channels, and this selection may be saved by the media guide application in the user profile. In some embodiments, the media guide application may determine the user’s favorite channels based on the user’s viewing history, user preferences, favorite applications, and other factors. For example, the media guide application may determine from the user’s viewing history that the user’s favorite channels are the channels the user has spent the most time watching. In some embodiments, the favorite channels overlay may be displayed on the left side of the screen of the user’s device.

[0334] The media guide application may, in response to a step of receiving user input of the “up key” on the controller, generate and display an overlay on the user's device that displays a one-line guide (e.g., a browser bar). The media guide application may read information related to program guide information about the currently tuned channel and media content (e.g., from metadata of the currently viewed program / media asset). The media guide application may display program guide information within the one-line guide and may continuously update the information in real time as the program guide information changes (e.g., when one program ends and a different program immediately begins).

[0335] The Media Guide application may, in response to a step receiving user input of a “down key” on the controller, generate and display an overlay on the user’s device that displays a Quick View. The Media Guide application may display recommended content for the viewer within the Quick View. The user may navigate to and select one piece of content within the Quick View overlay, and the Media Guide application may tune to the selected piece...

Claims

1. A method, wherein the said method is Receiving a request via a user device to store one or more episodes of a series, The series progress indicator of the user profile associated with the user device is determined to show the episode consumed last in the series, Identifying multiple episodes of the series based on the series progress indicator, wherein the last consumed episode precedes each of the multiple episodes. To automatically make access to the multiple episodes from the storage on the user device available. Methods that include...

2. The method according to claim 1, wherein episodes of the series preceding the last consumed episode are not made available for access from the storage on the user device.

3. The method according to claim 1, wherein automatically making access to the multiple episodes of the series from storage on the user device available includes determining that the user profile associated with the user device is associated with a subscription that enables storage of the multiple episodes.

4. The method according to claim 1, further comprising updating the series progress indicator of the user profile based on receiving a selection of a particular episode of the series via the user interface of the user device for consumption.

5. The method according to claim 1, wherein the series progress indicator of the user profile is associated with a data structure that identifies all episodes of the series consumed by the user profile.

6. The method according to claim 1, further comprising determining that each of the plurality of episodes is available for access from storage on the user device, and generating a completion notification for display on the user interface of the user device.

7. The aforementioned method, Identifying additional episodes of the series based on the series progress indicator, wherein the last consumed episode precedes the additional episode. The aforementioned additional episode determines that the storage on the user device is unavailable, To generate a notification for display indicating an alternative method for accessing the aforementioned additional episode. The method according to claim 1, further comprising:

8. The method according to claim 1, further comprising determining the relevant season of the series based on the series progress indicator, wherein each of the plurality of episodes is associated with the relevant season.

9. The method according to claim 8, wherein episodes of the series associated with a season of the series following the aforementioned related season are not made available for access from storage on the user device.

10. It is a system, The system comprises an input / output (I / O) circuit and a control circuit. The I / O circuit is configured to receive requests via a user device to store one or more episodes of a series. The aforementioned control circuit is The series progress indicator of the user profile associated with the user device is determined to show the episode consumed last in the series, Identifying multiple episodes of the series based on the series progress indicator, wherein the last consumed episode precedes each of the multiple episodes. To automatically make access to the multiple episodes from the storage on the user device available. A system configured to perform the following actions.

11. The system according to claim 10, wherein episodes of the series preceding the last consumed episode are not made available for access from the storage on the user device.

12. The control circuit is configured to automatically make access to the multiple episodes of the series from storage on the user device available by determining that the user profile associated with the user device is associated with a subscription that enables storage of the multiple episodes. The system according to claim 10.

13. The system according to claim 10, wherein the control circuit is further configured to update the series progress indicator of the user profile based on receiving a selection of a particular episode of the series via the user interface of the user device for consumption.

14. The system according to claim 10, wherein the series progress indicator of the user profile is associated with a data structure that identifies all episodes of the series consumed by the user profile.

15. The system according to claim 10, wherein the I / O circuit is further configured to generate a completion notification for display on the user interface of the user device, based on determining that each of the plurality of episodes is available for access from storage on the user device.

16. The aforementioned control circuit is Identifying additional episodes of the series based on the series progress indicator, wherein the last consumed episode precedes the additional episode. The aforementioned additional episode determines that the storage on the user device is unavailable. It is further configured to do the following: The system according to claim 10, wherein the I / O circuit is further configured to generate a notification for display indicating an alternative method for accessing the additional episode.

17. The system according to claim 10, wherein the control circuit is further configured to determine the relevant season of the series based on the series progress indicator, and each of the plurality of episodes is associated with the relevant season.

18. The system according to claim 17, wherein episodes of the series associated with a season of the series following the aforementioned related season are not made available for access from storage on the user device.

Citation Information

Patent Citations

  • System and method for episode tracking in interactive media environment

    JP2010057203A

  • Information processing apparatus and method, program, and recording medium

    JP2010066837A

  • A system and method for selecting media assets to display on the screen of an interactive media guidance application.

    JP2011512701A

  • Methods and techniques for adaptive search

    JP2012514793A

  • Method, electronic apparatus and program

    JP2015115703A