Maintaining a graphical user interface state that is based on a selected type of content
A graphical user interface (“GUI”) for a content management system is provided, such as to present television program information and/or information associated with other forms of multimedia content. In some situations, the GUI displays various types of information about multiple pieces of content that are currently appropriate for display, and one or more users may make various types of selections that affect the information being displayed. In addition, in some situations various techniques are employed to maintain a state of the GUI that is focused on one or more current selections as changes occur, such as to coordinate information display between multiple distinct information panes or other view areas of the GUI, to alter the information to be displayed in the GUI based on a selected piece of content, and/or to enable identification of a selected piece of content from within a large number of pieces of content.
Latest Vulcan Inc. Patents:
The present application claims the benefit under 35 U.S.C. § 119(e) of U.S. Provisional Patent Application Ser. No. 60/567,177, entitled “Browser For Multimedia Content” and filed Apr. 30, 2004, which is incorporated herein by reference in its entirety.
The present application is also related to U.S. patent application Ser. No. ______ (Attorney Docket # 931086.413), entitled “Maintaining A Graphical User Interface State That Is Based On A Selected Time” and filed concurrently, to U.S. patent application Ser. No. ______ (Attorney Docket # 931086.411), entitled “Maintaining A Graphical User Interface State That Is Based On A Selected Piece Of Content” and filed concurrently, and to U.S. Provisional Patent Application Ser. No. 60/667,836, entitled “Interface For Manipulating Multimedia Content” and filed Apr. 1, 2005, each of which is hereby incorporated by reference in its entirety.
TECHNICAL FIELDThe present disclosure generally relates to techniques for reviewing, manipulating and presenting content, such as to manage television-related content via a graphical user interface of a computing device in such a manner as to maintain a state of the GUI that is focused to reflect one or more selected times.
BACKGROUND INFORMATIONIn the current world of television, movies, and related media systems, many consumers receive television programming-related content via broadcast over a cable network to a television or similar display, with the content often received via a set-top box (“STB”) from the cable network that controls display of particular television (or “TV”) programs from among a large number of available television channels, while other consumers may similarly receive television programming-related content in other manners (e.g., via satellite transmissions, broadcasts over airwaves, over packet-switched networks, etc.). In addition, enhanced television programming services and capabilities are increasingly being provided to consumers, such as the ability to receive television programming-related content that is delivered “on demand” using Video on Demand (“VOD”) technologies (e.g., based on a pay-per-view business model) and/or various interactive TV capabilities. Consumers generally subscribe to services offered by a cable network “head-end” or other similar content distribution facility to obtain particular content, which in some situations may include interactive content and Internet content.
Consumers of content are also increasingly using a variety of devices to record and control viewing of content, such as via digital video recorders (“DVRs”) that can record television-related content for later playback and/or can temporarily store recent and current content to allow functionality such as pausing or rewinding live television. A DVR may also be known as a personal video recorder (“PVR”), hard disk recorder (“HDR”), personal video station (“PVS”), or a personal television receiver (“PTR”). DVRs may in some situations be integrated into a set-top box, such as with Digeo's MOXI™ device, while in other situations may be a separate component connected to an STB and/or television. In addition, electronic programming guides (“EPGs”) are often made available to aid consumers in selecting a desired program to currently view and/or to schedule for delayed viewing. Using an EPG and a DVR, a consumer can cause a desired program to be recorded and can then view the program at a more convenient time or location.
However, as the cable industry grows and as additional types of content are increasingly being stored and made available to consumers, it is becoming increasingly difficult for consumers to effectively manage the content and the related capabilities of the various devices that are available. Moreover, the proliferation of networked presentation devices within homes (e.g., televisions, handheld and desktop computing systems, stereos, speakers, cell phones, etc.) makes the task of effectively managing the content, including its presentation via the various devices, even more difficult.
BRIEF DESCRIPTION OF THE DRAWINGS
Non-limiting and non-exhaustive embodiments are described with reference to the figures, wherein like reference numerals refer to like parts throughout the various views unless otherwise specified.
DETAILED DESCRIPTIONTechniques are described below for managing various types of content in various ways, such as via a graphical user interface (“GUI”) of a Content Management (“CM”) system executing on a computing device, such as a GUI displayed in a single graphical window with multiple display areas to display varying types of information and controls. In some embodiments, at least some of the content being managed includes television programming-related content, with the CM system receiving EPG metadata information for the content (e.g., via interactions with an STB). In such embodiments, the television programming-related content can then be managed via the CM system GUI so as to maintain a state of the GUI as the content changes, such as for a GUI that is presenting information in such a manner as to reflect a prior user selection of a piece of content or on another type of selection. Such content changes may occur, for example, when a user locates and identifies content of potential interest, schedules recordings of selected content, manages previously recorded content in various ways (e.g., to play or delete the content), controls live television, modifies the manner in which the GUI presents information in various ways, etc. In addition, the CM system may further manage various other types of contents and perform various other types of content management functions, as described in greater detail below.
In at least some embodiments, the CM system GUI displays a variety of types of information about a group of multiple pieces of content that are chosen as being currently appropriate for display, as discussed in greater detail below, such as based on those pieces of content having presentation times or other associated times that correspond to a currently selected time period and/or based on those pieces of content having other appropriate characteristics (e.g., characteristics that match user-specified search criteria or information filtering criteria). In addition, in at least some embodiments one or more users of the CM system GUI may make various types of current selections via the GUI that affect the information being displayed in the GUI—for example, a user may select a piece of content for which various detail information is displayed, may select a time of interest for which corresponding pieces of content are displayed (e.g., content corresponding to a currently selected period of time based on the selected time), may select one or more criteria of interest such that matching or otherwise corresponding pieces of content are identified, etc. Moreover, in at least some embodiments a current state of the CM system GUI may be focused to reflect one or more such current selections by users, such as to present in a coordinated manner various types of information that are based on or otherwise related to the current selections, as discussed in greater detail below. Furthermore, in at least some such embodiments various techniques are employed to maintain such a focused state of the CM system GUI as changes occur with respect to the GUI, such as changes in the types of information being displayed and/or changes in pieces of content for which information is being displayed.
Embodiments of the CM system GUI may display or otherwise present various types of Information about various pieces of content in various manners. For example, in some embodiments the CM system GUI simultaneously displays at least some metadata information about multiple pieces of content in a single view area, as discussed in greater detail below, such as to provide information about multiple television programs that are available for display on one or more channels during a specified period of time (e.g., by displaying a grid whose rows each correspond to a distinct channel and whose columns each correspond to a distinct time segment within the specified period of time, such as half-hour time segments for a period of time of multiple hours). In addition, in at least some embodiments the CM system GUI also includes one or more other distinct information panes or other display areas that may each simultaneously display distinct information, as discussed in greater detail below, such as information about different pieces of content and/or different types of information (e.g., different levels of detail of information) for a single piece of content (e.g., a currently selected piece of content, such as a television program).
Thus, the CM system GUI may provide various types of information about various pieces of content that are currently appropriate for display, and in at least some embodiments may modify the types of information being displayed and/or the pieces of content for which the information is being displayed in various manners. For example, as discussed in greater detail below, various techniques and user-selectable controls are provided in various embodiments for displaying, sorting, identifying, filtering, and otherwise managing content, and user selections related to such controls may cause changes in the pieces of content that are currently appropriate for display and/or in one or more currently selected pieces of content. As one example, in at least some embodiments the metadata information displayed in a single view area for multiple pieces of content may be displayed using different types of views, as discussed in greater detail below, such as a grid-based view, a channel-based view, an icon-based view, a list-based view, and a tree-based view. In addition, the GUI may further automatically modify the types of information being displayed and/or the pieces of content for which the information is being displayed in various manners, such as to update a currently selected period of time and the corresponding pieces of content based on changes in the current time.
As noted above, in at least some embodiments the CM system GUI displays information such that a state of the GUI is focused based on one or more current selections. For example, in some embodiments one or more pieces of content may be currently selected (e.g., based on one or more prior selections by a user), and if so at least portions of the GUI may be focused to reflect those currently selected pieces of content, such as by simultaneously displaying various types of information related to the currently selected pieces of content in a coordinated manner in multiple distinct display areas of the GUI. In addition or alternatively, in some embodiments one or more types of content may be currently selected (e.g., based on user selection of a predefined genre or category of content, based on a user specification of one or more criteria that identify content characteristics of interest, etc.), and if so at least portions of the GUI may be focused to reflect those currently selected types of content, such as by displaying various types of information related to content of those currently selected types in a coordinated manner in multiple distinct display areas of the GUI (e.g., by displaying only content of those currently selected types, by displaying content of those currently selected types in a manner distinct from other content, etc.). Moreover, in some embodiments one or more times may be currently selected (whether instead of or in addition to one or more currently selected pieces of content and/or one or more currently selected types of content), such as based on user selection of a time displayed in one or more timebars, and if so at least portions of the GUI may be focused to reflect those currently selected times, such as by displaying various types of information related to content corresponding to those currently selected times in a coordinated manner in multiple distinct display areas of the GUI (e.g., by displaying only such corresponding content, by displaying such corresponding content in a manner distinct from other content, etc.).
In addition, in at least some embodiments a state of the CM system GUI that is focused to reflect one or more currently selected pieces of content may be maintained in various ways, such as when changes occur in the CM system GUI and/or in information displayed in the GUI. For example, when information in one or more display areas of the GUI changes (e.g., when the display of metadata information for multiple pieces of content in a single view area changes, such as based on changing a type of view for the information and/or changing some or all of the pieces of content forwhich metadata information is being displayed), corresponding information in one or more other display areas of the GUI may be updated so as to maintain a coordination among the displayed information. In addition, when such information in one or more such display areas of the GUI changes, the changed information may also be displayed in such a manner as to include or emphasize a currently selected piece of content on which the GUI state is focused (e.g., when possible, such as when the changed information includes information for the currently selected piece of content, or instead always, such as to cause information for the currently selected piece of content to be included in the changed information). Emphasizing information about a currently selected piece of content in the GUI can be particularly beneficial when large numbers of pieces of content are available, for example, and may be performed in a variety of ways (e.g., by changing a visual representation of an indication of the currently selected piece of content, such as a color or a degree of highlighting, by adding a suitably colored line or other graphical indication around displayed information for the currently selected piece of content, etc.). Moreover, if information about a currently selected piece of content is not currently displayed in one or more display areas of the GUI, various controls and capabilities may be provided to assist a user in easily locating the currently selected piece of content, such as to find the currently selected piece of content in a current view.
Similarly, in at least some embodiments a state of the CM system GUI that is focused to reflect one or more currently selected types of content and/or currently selected times may be maintained in various ways, such as in manners similar to those described with respect to a currently selected piece of content. For example, information in multiple display areas of the GUI that relates to one or more current selection may be updated so as to maintain a coordination among the displayed information, and information may be displayed in such a manner as to include or emphasize content that corresponds to current selection(s) on which the GUI state is focused (e.g., content of a currently selected type and/or content that corresponds to a currently selected time). In addition, various controls and capabilities may be provided to assist a user in easily selecting or identifying content that corresponds to one or more current selections.
For illustrative purposes, some embodiments are described below in which specific types of content are managed in specific ways via specific example embodiments of the CM system GUI. For example, while in some embodiments the techniques are described with respect to maintaining state information for a GUI while managing information related to live television, in other embodiments a variety of other types of television programming-related content may be managed, such as programs that are scheduled, that are being recorded, that are already recorded, that are available onDemand or otherwise at the request of a user, etc. However, the techniques can be used in a wide variety of other situations, and that the invention is not limited to the specific illustrative details discussed. For example, the techniques described with respect to maintaining state information for a GUI while managing information may further apply to a variety of other types of content, with the term multimedia “content” as used herein generally including television programs, movies and other video information (whether stored, such as in a file, or streamed), photos and other images, music and other audio information (whether stored or streamed), presentations, video/teleconferences, videogames, Internet Web pages and other data, and other similar video or audio content.
Referring first to
The home environment 395 also includes an example computing system 300 suitable for executing a software embodiment of the CM system, as well as one or more optional other local computing systems and/or storage devices 390 with which the computing system 300 can interact via local network 385 (e.g., a wireless or wired/cabled LAN). In the illustrated embodiment, the computing system includes a CPU 305 or other processor(s), various I/O devices 310, storage 320, and memory 330, and the illustrated I/O devices include a display 311, a network connection 312, a computer-readable media drive 313, and other I/O devices 315 (e.g., a keyboard, a mouse, a pointing device, speakers, etc.). In some embodiments, the computing system 300 may further interact with one or more external computing systems, not shown (e.g., via the World Wide Web or otherwise via the Internet), such as to receive additional external content 360b and/or other information or services.
In the illustrated embodiment, the computing system 300 interacts with the media center 350 in a variety of ways (e.g., via a direct connection, as part of local network 385, or as part of another network, not shown), including to receive information about current and/or future television programming-related content 360a and/or other content 360a. In this example, the information received by the computing system 300 includes EPG metadata information for the television programming-related content (e.g., from a cable network operator), and can further include a variety of other types of metadata for the content 360a, whether from the cable network operator or other third-parties (e.g., from various external computing systems, not shown, such as via external content 360b). This received content metadata is then stored in a content metadata database 322 (or other suitable data structure) in the illustrated embodiment for use by the CM system.
An embodiment of the CM system 335 is executing in memory 330. As discussed in greater detail below, the CM system provides information about the available content to one or more users (e.g., one or more of the consumers in the home environment), such as via a GUI that is displayed on the display device 311 and/or on one or more of the content presentation devices 370 or 380 or other computing systems 390. The CM system may, for example, provide some or all of the stored content metadata 322 to the users and allow the user to manipulate the content in a variety of ways (e.g., to select content for current presentation, for future recording, etc.), as well as in some embodiments maintaining a state of the GUI as displayed information changes. As the user provides instructions related to manipulation of the content, those content manipulation instructions are in the illustrated embodiment stored in a database 324 (or other suitable data structure) on storage 320 for later retrieval and use by the CM system, and at least some such content manipulation instructions may additionally in some embodiments be provided to the media center 350 for use in actually performing the tasks to satisfy the manipulation instructions. In addition, in some embodiments the CM system may also interact with other executing programs in order to provide additional information and/or functionality to the user(s), such as one or more optional executing other programs 339 in memory 330 or instead remote executing programs (not shown) on another computing system.
In the illustrated embodiment, the CM system does not itself present the external content 360a to the user(s), instead interacting with the media center 350 to control the display of the content to the user via the TV and/or one or more of the other content presentation devices. However, in other embodiments the CM system may instead receive some or all of the external content 360a, whether via the media center 350 or instead directly from the source of that content, and if so could directly control the presentation of that content to the user(s) on the display device 311 and/or other content presentation device 370 or 380 or other computing system 390. Conversely, in the illustrated embodiment the computing system 300 and/or media center 350 may have access to additional content, such as external content 360b (e.g., from remote computing systems over the Internet), locally stored other content 360c on storage 320, and/or other locally accessible content (not shown), such as from one or more of the other computing systems/storage devices 390—if so, the computing system 300 may in some embodiments directly present some or all of that content to the user(s), such as on display device 311 (e.g., as part of the CM system GUI) and/or on one or more other content presentation devices 370 or 380 or other computing system 390, while in other embodiments may present some or all of that content to the user(s) by instead interacting with the media center 350 to facilitate the presentation (e.g., by providing the additional content to be presented and/or associated instructions to the media center). As previously noted, the additional content may be content related to the external content 360a but from another source (e.g., additional television-related programming, such as streamed or downloaded over a computer network) and/or multimedia content of other types (e.g., movies and other video information, photos and other images, music and other audio information, presentations, video/teleconferences, videogames, Internet Web pages and other data, etc.).
The functionality of the CM system can be accessed in various ways in various embodiments. For example, some users may have physical access to the computing system 300, and if so can interact with the various I/O devices 310 to provide and/or receive information. Alternatively or additionally, other users may use other client computing devices to remotely access the CM system, such as other local computing systems 390 or instead one or more remote computing systems, not shown (e.g., via the World Wide Web or otherwise via the Internet). Such remote users may use software or otherfunctionality provided on the client computing systems (not shown), such as a browser, to interact with the CM system. In other embodiments, users may receive functionality and/or information from the CM system indirectly via interactions with one or more other devices, such as the media center 350, which may directly receive that functionality or information from the CM system before providing it to the users.
As one example, in some embodiments the computing system 300 and/or one of more of the computing systems 390 is a cellphone (e.g., a smartphone) or other mobile or handheld device with communications capabilities (e.g., a Pocket PC computer, a PDA, an electronic organizer, etc.), and if so the user may use that device to manage content in various ways. In such embodiments, the communications between the cellphone or other device and other computing systems and devices in the example home environment may occur in various manners. For example, some devices may support various types of local communication mechanisms (e.g., wireless communications via Bluetooth, Wi-Fi, direct infrared, etc.) and/or communication mechanisms that may be used remotely (e.g., if the device supports Internet access, such as via GPRS and using HTTP or WAP, or instead using a standard telecommunications link for exchanging voice and other audio information), and may further support various communication and messaging protocols (e.g., Universal Plug-and-Play (or “UPnP”), Home Audio Video Interoperability (or “HAVI”), etc.). When a device supports both local and remote communication mechanisms, the device may further be configured to seamlessly switch between local and remote communications as appropriate, such as to automatically use local communications when available and to use remote communications otherwise, or instead may use various communications as directed by the user. Remote communications may be appropriate, for example, when the device is remote from the home environment (e.g., outside a building that contains the home environment, not shown, such as at significant distances), such as to perform some or all data exchange via Internet access and/or using voice commands over a standard telecommunication link. In addition, various types of devices may have varying communications abilities, and thus devices in various embodiments may use different forms of communication for a single type of information exchange.
When a user uses a cellphone or other mobile or handheld device to manage content, various types of information may be exchanged in various ways. For example, software to implement at least a portion of the CM system on the device and/or to interact with a remote executing CM system may be preinstalled on the device when provided to the user (e.g., by the distributor of the device) and/or may be downloaded to the device after the user has the device (e.g., as an executable file from another local computing system to which the device has a physical or wireless connection, or directly from a remote Web site if the device supports Internet access). EPG information and/or other types of metadata may similarly be provided to the device in various ways, such as via Internet access to a local computing system (e.g., computing system 300) and/or a remote computing system, or instead from a local computing system and/or media center device 350 via local communication mechanisms. Commands and other information from the user may similarly be provided from the device to computing systems and other devices in the home environment in various ways, including via Internet access and/or local communication mechanisms.
Computing system 300 is merely illustrative and is not intended to limit the scope of the present invention. For example, the computing system may instead be comprised of multiple interacting computing systems or devices, and may be connected to other devices that are not illustrated, including through one or more networks such as over the World Wide Web (“Web”) or otherwise via the Internet. More generally, the computing system 300 and/or the other computing systems 390 may each comprise any combination of hardware or software that can perform the described techniques, including (without limitation) desktop or other computers, network devices, Internet appliances, PDAs, cordless and other wireless phones, cellphones, devices with walkie-talkie and other push-to-talk capabilities, personal/digital video recorders, pagers, electronic organizers, television-based systems and various other consumer products that include appropriate inter-communication and computing capabilities. In addition, the functionality provided by the CM system may in some embodiments be distributed in additional systems, and the CM system may have multiple components that each provides a portion of the functionality of the system. Similarly, in some embodiments some of the illustrated types of functionality of the CM system may not be provided and/or other additional functionality may be available.
While various items are illustrated as being stored in memory or on storage while being used, these items or portions of them can be transferred between memory and other storage devices, such as for purposes of memory management and data integrity. Alternatively or additionally, in other embodiments some or all of the software system (or portions of it) may execute in memory on another device and communicate with the illustrated computing system via inter-computer communication. Some or all of the system and/or data structures (e.g., portions of a database, such as one or more tables or views or portions thereof) used by the system may also be stored (e.g., as software instructions or structured data) on a computer-readable medium, such as a hard disk, a memory, a computer network or other transmission medium, or a portable media article (e.g., a CD, DVD or flash memory device) to be read by an appropriate drive or via an appropriate connection. Some or all of the system and data structures may also be transmitted via generated data signals (e.g., by being encoded in a carrier wave or otherwise included as part of an analog or digital propagated signal) on a variety of computer-readable transmission mediums, including wireless-based and wired/cable-based mediums, and can take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). Such computer program products may also take other forms in other embodiments. Accordingly, one or more embodiments may be practiced with other computer system configurations.
As described in further detail below, the view control area 125 also includes a first timebar 128 that corresponds to a relatively long first time period at a first time scale (which is selected based in part using time controls 130) and that may in certain situations display limited information about content, while the view area 140 illustrates detailed information about content for a relatively short second time period at a second time scale. In this example, the first time scale corresponds to approximately 16 hours (with the current first time period being from 8 am to 12 am of the next day, as shown in the first timebar 128), and the second time scale corresponds to approximately 3½ hours (with the current second time period being a first time period subset of 9:30 am to 12:30 pm, as shown in a second timebar 140a rendered at the top of the view area 140). In addition, in this example details about televisions programs shown in the view area 140 include, for example, program title (e.g., “The Transporter”), year of release (e.g., “2002”), and rating information (e.g., “PG-13” and a three-star rating)—various other types of details could similarly be shown, such as information about actors and/or other people associated with the program (e.g., director, producer, etc.), a textual summary of the plot, whether the program is closed captioned and/or broadcast in stereo, whether the program is a repeat, etc. In this example, the first timebar does not display any limited information about any television programs or other content.
In a similar manner,
In
This hour-based time scale and view corresponds to time control 132 shown in
As previously described above with reference to
In addition, different programs can be listed using different colors, display patterns (e.g., shading) and/or amounts of highlighting to provide various types of information about the programs. In particular, such differing visual representations can be used to illustrate different types of TV programs (and/or differences in and/or between different types of content) in some embodiments.
In addition,
Using the filter control button 126, the user can select the “movies” filter, for example, which would limit the channels displayed in the view area 140 to those that are showing at least one movie during the currently displayed second period of time for the second timebar, such as is shown with respect to
A different filter can similarly be selected to limit the program listings in the view area 140, such as the “Sports” filter or other available filters, although the results of such a selection are not illustrated here. Such selection of a different filter may cause a variety of changes, such as to cause the status control sidebar area 170 to indicate a different number of channels having programs that match the filter, and to update the view area 140 to display only channels having programs that match the filter during the second time period and/or to display only the matching program listings during the second time period. If a currently selected program is no longer shown in the updated view area 140 (e.g., to not display the “Dances With Wolves” program when a “Sports” filter is selected since the program is not content of type “Sports”), the detail area will nonetheless continue to show information pertaining to that currently selected program in at least some embodiments. In addition, the various previously discussed controls for altering the display continue to be available when showing a filtered view of the TV program listings. For example, filtered sports programs can be sorted in ascending channel number order, such as by selecting the “CH” column heading to sort the channels that offer sports programming.
As with non-filtered views, the information about filtered sports programs (or any other filtered view) may be modified by the user in various ways. For example, a new current selected time may be chosen by selection within the first timebar, such as by changing the current selected time to 12:00 PM noon on Sunday, and with the second time period displayed for the second timebar changed to show sports program listings on 12:00 PM noon onward on Sunday for the filtered channels that offer sports programming during that second time period. As previously discussed, only the channels that have programs matching the current filter during the currently displayed second time period will be shown in the view area 140 in at least some embodiments, and thus the set of channels that are displayed in the view area 140 may be changed based on changes to the second time period, since some channels may not offer sports programming during a particular second time period. Moreover, the current selected time may also be changed in at least some embodiments and situations by user selection of a “Find In View” control 158, such as when the currently selected program “Dances With Wolves” is not currently visible in the current program display of the view area 140, although in other embodiments the currently selected program may nonetheless be visible in the view area 140 even if the program does not match a current filter or other specified criteria and/or even if the program is not associated with the current second time period (or with a second time period that would have been selected if not for the currently selected program). Selection of the control 158 in the illustrated embodiment causes the second time period and corresponding current program display in the view area 140 to be adjusted so that the currently selected program is displayed, including by changing the currently selected time as needed, even though the program does not match the current “Sports” filter. In addition, if a currently selected predefined or custom filter does not have a distinct associated color or other visual representation (e.g., for the “News” filter), the programs displayed in the view area 140 may in some embodiments be shown with their default colors but with the programs that match the current filter being displayed using highlighting so as to distinguish them from other programs displayed.
In addition, in at least some embodiments users may each create one or more custom filters that can then be applied to restrict the TV programs that are displayed. For example, creation of such custom filters may include selection of one or more user-selectable filter criteria and specification of corresponding matching values for the criteria, such as to select one or more program genres, people in the cast or crew, specific words in the title and/or description, specific ratings, programs that appear on specific channels, programs that are not repeats, programs that are in HDTV format, programs that have specified audio-visual options, programs that are scheduled for recording, etc. As one specific example, a user may create a custom filter for programs in the “Science Fiction” genre and with the word “Star” in the title. For the sake of brevity, these example filter customization features are not shown or described in detail herein, although
After the user selects the “Apply” control in the search area 135 to perform the search specified in
After saving the previously specified search as a new custom filter, the user then selects the “Advanced Search” tab in the search area 135, and
If the user selects a new current piece of content, which in the example of
In particular, one of the additional types of functionality available via the pop-up menu 148 is to change the size at which the information in the view area 140 is displayed, and as is shown in
In
As previously discussed,
If a particular program listing is selected as the current piece of content, the detail area 150 will be populated with information about the newly selected current program in a manner similar to that previously discussed. In addition, a pop-up menu (not shown) corresponding to the selected program can be displayed, such as based on the user performing a right-click action on the selected program, with the pop-up menu allowing various actions to be taken with respect to the selected program (e.g., to record the program, to select the program to be watched on an associated television or other video output device if the currently selected program is currently being shown, etc.). In other embodiments, other types of functionality could similarly be provided in such a pop-up menu.
As with embodiments in which the program listings are shown in grid format, the user can use the filter control 126 to filter the information displayed in the view area 140 (whether for predefined or custom filters), and the first timebar may display visual indications corresponding to matching programs. For instance,
The user may also select “Find In View” functionality for a currently selected program or other piece of content while using the channel view, such as via the button 158 in the detail area 150 or instead based on a pop-up menu (not shown) for the currently selected program listing in the channel-specific area 146. For example, if a new program has been selected from the channel-specific portion that is not displayed in the current program listing information in the left portion of the view area (e.g., to select the “Chris Rock Show” at 7:30 pm on Tuesday) and the “Find In View” functionality is selected, the view area 140 information will be updated to show program information corresponding to the time of that currently selected program. If a different channel is selected in the view area 140 as the currently selected channel 144, the program on that channel at the currently selected time becomes the currently selected program in the illustrated embodiment, and the detail area 150 is updated to provide information about that program. Similarly, the channel-specific area 146 of the view area will be updated in the illustrated embodiment to include information about the newly selected channel.
As with embodiments in which the program listings are shown in grid and icon views, the filter control 126 can be used with the channel view to filter the information to be displayed in the view area 140 (whether for predefined or custom filters), and the first timebar may display visual indications corresponding to matching programs. Moreover, the size of the view can switched to a medium size or a large size (or in some embodiments to any desired size for this and/or the other views), such as based on selection of an appropriate control on a pop-up menu in the view area (not shown) or instead based on use of a dropdown menu via the triangle arrow in the right portion of the channel view control 123. The program listings at the medium size, for example, may contain additional detail information relative to those listings at the small size, and use of a large size can display further detail information about the program listings being shown.
In this example embodiment, a program title listing can be expanded in various ways, such as by selecting a small icon to the left of each of the program listings in order to expand or collapse that program listing, or instead using a pop-up menu (not shown) for that program listing, such as based on a right-click selection of the program listing. In addition or in the alternative, a pop-up menu (not shown) in the view area 140 can allow all program listings to be collapsed or expanded, as well as to change the sorting for program listings. If the user selects an “Expand All” control functionality or other similar functionality from a pop-up menu, the resulting listing will include all program information in expanded form in the view area 140.
As with embodiments in which the program listings are shown in other types of views, the filter control 126 may in at least some embodiments be used with the program listing view to filter the information to be displayed in the view area 140 (whether for predefined or custom filters). Also, while the times in the “AIRS” column for an expanded program listing are not illustrated as a distinct timebar in the illustrated embodiment, in other embodiments one or more fourth timebars may be displayed with expanded program listing information (e.g., a distinctfourth timebarfor each expanded program listing) to correspond to such times. In addition, while the first timebar is not displayed in the illustrated embodiment, in other embodiments the first timebar may additionally be displayed and may include visual indications corresponding to appropriate programs (e.g., programs matching one or more specified filters and/or searches, or to illustrate upcoming showings of one or more programs, such as for a currently selected program and/or for one or more programs shown with expanded program listing information). Similarly, while the second timebar is not displayed in the illustrated embodiment, in other embodiments the second timebar may additionally be displayed, such as to display information about upcoming showings for one or more of the current programs in a grid format in the view area 140.
In addition, the program listings may be sorted in a variety of manners, with FIGS. 1BT-1CC from the parent provisional patent application showing examples of sorting and grouping the program listing information in a variety of ways. For instance, all of the program listing information may be shown in collapsed form and in a manner grouped and sorted by channel number in an ascending or descending manner, such as based on user selection of the “CH” column heading. Examples of sorting and grouping of program listing information may include non-exclusive examples as follows: in ascending or descending order based on channel name; in a manner grouped and sorted based on the recording status of the program listings; in ascending or descending order based on the air time of the program listings; in ascending or descending order based on duration of the program listing; in ascending or descending order based on the genre of the program listings; in ascending or descending order based on the rating of the program listings; in ascending or descending order based on whether the program listings are repeat showings; in ascending or descending order based on whether the program listing information is displayed in HDTV format; in ascending or descending order based on the stars assigned to the program listings; and so forth. Further details of such grouping and sorting are provided in the parent provisional patent application. Also, while not illustrated here, the sorting of program listings in some embodiments may also in at least some embodiments be performed using multiple sort specifications (whether in a manner specific to a particular program listing or instead for all program listings)—for example, some or all of the program listings and/or program listing showings may be sorted first based on program title, then secondarily based on air time, and then tertiarily based on whether they are shown in HDTV format.
Much of the previously discussed program listing information has corresponded to content categorized as being available via live television, such as based on a prior or default selection of a “LIVE TV” control 115a.
Programs may be scheduled for recording in various ways, such as via a pop-up menu (not shown) or other control that is provided regarding one or more upcoming programs (e.g., as displayed using one or more of the views for LIVE TV content) to give the user the option to record (or cancel recording of) a selected program. Information about a currently selected program may include a recording icon such as a small red circle status icon or other icon (not shown), as previously described above, to indicate that the program is to be recorded, with the icon shown in information displayed for the program listing in the view area 140 and/or in the detail area 150. In addition, the information about the upcoming recordings may be shown and updated in the sidebar status control area 170 to reflect a newly scheduled recording, and the view area 140 may similarly be updated to present information about such a newly scheduled program to be recorded.
The recorded TV program listings and/or other content may also be manipulated in a manner similar to that for the other program listing information, such as to select one or more recorded programs as currently selected pieces of content, to be sorted in various ways and to have various filters applied, as well as to in some embodiments be displayed using or more other views. For example, the program listing information may be sorted based on the record time of the program listings (e.g., based on user selection of the “RECORDED ON” column heading 143j), or could similarly be sorted based on a current status of the program listing, such as by user selection of the “STATUS” column heading 143k. In the illustrated embodiment, program listings may be given a status of recorded, scheduled to be recorded, and not scheduled to be recorded, although in other embodiments a variety of additional types of status information could be similarly assigned and used (e.g., currently recording, scheduled to record once, scheduled to record the series or multiple episodes, live and not recording, future and not scheduled, past shows that were not recorded, scheduled to record but did not, scheduled to record but not going to, recorded as a recommendation, locked to prevent deletion, subject to deletion, imminent deletion, previously viewed (for recorded and/or live programs), partially viewed, has additional associated content, has additional associated functionality, has a user-specified annotation, etc.).
In some embodiments, the content listings shown in the view area 140 for one or more of the content-type-specific navigation tabs 115 (e.g., “LIVE TV,” “SCHEDULED,” “RECORDED TV,” “PAY PER VIEW,” and/or “ON DEMAND”) may further be bifurcated or otherwise organized (not shown) based on one or more devices connected to or otherwise associated with the CM system, such as one or more media centers 350, one or more computing systems 390, or other input/output devices. For example, if there are multiple STBs, DVRs, or other input/output devices (e.g., televisions) available to the CM system, the view area 140 may present listing information corresponding to multiple of the devices (e.g., for two devices or for all devices), such as simultaneously in different portions of the view area. Thus, for instance, if two DVRs are connected to the CM system and each is able to record content and/or has recorded content, then the view area 140 may separately or concurrently present the information for each DVR. Program listings for multiple STBs may similarly also be presented in the view area 140 separately or concurrently, such as if these STBs receive different EPG metadata. Furthermore, information may be coordinated in multiple display areas of the GUI to correspond to current selections specific to one or more such devices, and such a focus of the presented information may further be maintained as information in the GUI changes.
Various types of functionality may also be provided in at least some embodiments upon some form of user selection of displayed indicator in the first timebar. For example, as previously indicated, selection of a displayed indicatorfora time point may cause that time point to become the currently selected time, with the second time period of the second timebar adjusted to display that currently selected time. In some embodiments, other types of functionality may be provided for selection of a displayed indicator, whether in addition to (e.g., using a different type of selection than for specifying the currently selected time) or instead of specifying the currently selected time. For example, selection of an indicator may cause one or more corresponding pieces of content to become the currently selected content (e.g., the currently selected television program, such as to cause information about that program to be displayed in the detail area 150), or may instead allow various types of capabilities to be provided for one or more such corresponding pieces of content (e.g., to schedule a recording, to initiate a current recording, to watch or manipulate a previously recorded piece of content, etc.).
The routine begins at step 2905, where multimedia content metadata is received, such as if the computing system 300 receives EPG metadata information (i.e., as part of television programming-related content 360a) from a head-end and stores the information as content metadata 322 in the storage unit 320. At step 2910, the GUI is rendered on a suitable display device, such as to render the GUI 100 on the display 311, and an initial set of information about multiple programs is displayed in the GUI, such as based on the received metadata. In at least some embodiments, the initial set of information may reflect default or user-specified information, such as content corresponding to an initial second time period based on a current time.
In the illustrated embodiment, the content listings and other information remain rendered in the GUI until an indication is received to update the GUI, such as based on a timeout occurring (e.g., to refresh the program contents, such as every few seconds or when a ½ hour or other time segment of the second time period has passed), on receiving updated metadata or other information (not shown) to be displayed, or on the user selecting functionality to cause a change. As previously discussed, a user may make or modify a current selection in a variety of ways, such as by selecting an indication of a program displayed in a view area or other display area of the GUI, or by selecting a new current time via a timebar or other mechanism. Thus, the routine waits at step 2915 until such a GUI change is initiated, and then continues to step 2920 to determine whether a user has indicated a new current selection. If not, the routine continues to step 2925 to determine whether a user has indicated a modification to an existing current selection, such as to deselect or otherwise modify the current selection. If so, or if it was instead determined in step 2920 that a user has indicated a new current selection, the routine continues to step 2930 to update information about one or more current selections forthe GUI based on the user indication, and then continues to step 2935 to identify content to be displayed in the GUI to reflect the one or more current selections, such as to maintain or initiate a state of the GUI that is focused on the one or more current selections.
If it was instead determined in step 2925 that the user did not indicate a modification to a prior current selection, the routine continues to step 2940 to determine whether an indication was received to modify the content that is displayed or to otherwise update the GUI, such as an indication from a user to perform sorting, searching, filtering, to display information about a current selection (e.g., based on selecting a “Find In View” control), etc., or instead an automated indication to update the GUI (e.g., based on a timeout or receipt of new metadata or other information to be displayed). If not, the routine continues to step 2960 to perform another indicated action as appropriate (e.g., to specify user preference information for later use), but otherwise continues to step 2945 to identify new content to be displayed and/or other GUI updates based on the modification indication. After step 2945, the routine continues to step 2950 to modify the identified content and/or GUI updates from step 2945 in such a manner as to maintain a state of the GUI that is focused to reflect one or more current selections (if such a focused state currently exists), such as to include information in the identified content that corresponds to one or more current selections (e.g., for a currently selected piece of content and/or for a currently selected time). After steps 2950 or 2935, the routine continues to step 2955 to update the GUI based on the identified content and any other GUI updates from steps 2950 or 2935. After steps 2955 or 2960, the routine then continues to step 2995 to determine whether to continue. If so, the routine returns to step 2915, and if not continues to step 2999 and ends.
In some embodiments the functionality provided by the routines discussed above may be provided in alternative ways, such as being split among more routines or consolidated into fewer routines. Similarly, in some embodiments illustrated routines may provide more or less functionality than is described, such as when other illustrated routines instead lack or include such functionality respectively, or when the amount of functionality that is provided is altered. In addition, while various operations may be illustrated as being performed in a particular manner (e.g., in serial or in parallel) and/or in a particular order, in other embodiments the operations may be performed in other orders and in other manners. In addition, in some embodiments certain operations may be embodied in software or other computer-readable instructions stored on a computer-readable medium, such as software stored in the memory 330 of the CM system 335 of
In some embodiments a variety of other types of content can similarly be reviewed, manipulated, and controlled via a GUI, such as via the example GUI 100, and a state of the GUI that is focused to reflect one or more current selections for the other types of content may be maintained in manners similar to those previously discussed. For example, in one example embodiment, the primary content-type navigation tabs 110 of
These other types of content may be manipulated in a manner similar to that described above for television programming-related content. In particular, various techniques have been described to organize and manipulate content based on one or more times associated with the content, such as based on the start time at which a piece of television programming-related content may be available for presentation. Other types of content may similarly have one or more of various types of associated times with which the content may be accordingly manipulated. For example, music content may be associated with a record date and time-of-day, a release date and time-of-day, a broadcast date and time-of-day, a receipt/download date and time-of-day, and various other time-related characteristic(s), and one or more of such associated times may be used to select pieces of music content to display in the view area 140 (e.g., based on those pieces of content each having an associated time within a second time period associated with the second timebar) and to select pieces of music content for which graphical indicators will be displayed in the first timebar (e.g., based at least in part on those pieces of content each having an associated time within a first time period associated with the first timebar). Photos and video can similarly have one or more associated times, such as creation date and time-of-day, revision date and time-of-day, download date and time-of-day, etc., and may similarly be displayed based on one or more of such associated times. Other types of multimedia content may have similar time-related characteristics.
Thus, in at least some embodiments the GUI 100 includes first and second timebars that can be used to organize and manipulate listings and other information for content of such other content types based on associated time information. For example, if a user downloads music on a regular basis and/or music is broadcast according to a timed schedule (e.g., on one or more digital music channels provided by a cable-based or satellite-based content provider), the view area 140 can display song titles based on the download times in a manner corresponding to the second timebar. Moreover, the user can sort, group, filter, view, or otherwise manipulate the listings and other information using similar techniques as previously described above for television program listings.
Moreover, while time-based organization and manipulation is useful for many types of content, in some embodiments at least some types of content may be organized and manipulated based on other types of associated information, whether in addition to or instead of based on time. For example, content with associated textual information (e.g., a title or name, names of one or more associated people, etc.) may be grouped in the GUI alphabetically or otherwise based on that textual information, such as by modifying the first and/or second timebars to correspond to portions of the alphabet rather than periods of time (e.g., to display multiple segments in the second timebar that each correspond to a distinct letter within a subset of letters from the alphabet, such as letters “C” to “H”, the vowel letters, etc.). Various other types of metadata for content may similarly be used to group the content in other manners for organization and manipulation in the GUI, such as to group content hierarchically or based on other relationships between pieces of content if such relationships exist (e.g., based on a set of related photos from a single event or shoot, which may be one of many sets that are each associated with a higher-level organization or event), to group content based on genre or other categorization (e.g., for photos, images or video content, based on the device used to create the content, on the person who created the content, on a source from which the content was acquired, on subject matter of the content, on file size, on black-and-white versus color, on number of pixels or frames-per-second or other measure of resolution, on display size of the content, on use restrictions on the content, etc.), or to more generally group the content based on any other parameter or combination of types of parameters.
In a similar manner, but while not illustrated here, in some embodiments the GUI may be used to control a variety of devices, such as one or more STBs, one or more DVRs, one or more TVs, one or more of a variety of types of non-TV content presentation devices (e.g., speakers), etc. Thus, in at least some such embodiments, the GUI may be used to concurrently play a first specified program on a first TV, play a second specified program on a second TV, play first specified music content on a first set of one or more speakers, play second specified music content on a second set of one or more speakers, present photos or video on a computing system display or other TV, etc. When multiple such devices are being controlled, they may further be grouped and organized in a variety of ways, such as by location and/or by type of device (or type of content that can be presented on the device). In addition, the virtual remote control buttons displayed in the GUI may change based on a current context, such as on the device that is currently being controlled and/or based on content that is currently selected. In addition, extended controls of a variety of types beyond those discussed in the example embodiment (e.g., channel up and down, volume, a keyboard, device-specific controls, etc.) may additionally be provided via the GUI in at least some embodiments. Moreover, in at least some embodiments all of the controls of the GUI may be selectable by one or more of a variety of input device types, such as all being selectable by keyboard, by voice command, by mouse, etc.
In addition, in some embodiments multiple pieces of content may be simultaneously selected and acted on in various ways, such as to schedule multiple selected TV programs to be recorded or deleted, to group the pieces of content togetherforfuture manipulation, etc., as is discussed in greater detail for one specific example with respect to
In this illustrated embodiment, the GUI status control sidebar area also includes multiple user-selectable device control tabs 505, with each tab representing a device that can be controlled (although in other embodiments other configurations may be used, such as for some or all tabs to represent multiple devices of a type, multiple devices in a location, or multiple devices that are otherwise associated), such as with respect to presenting content and/or recording or otherwise obtaining content for later presentation. In this example, two device tabs are illustrated for devices to which live or previously recorded content can be directed, with a “Main Stereo” stereo device tab being currently selected and a “Main TV” television device tab also available, although in other embodiments multiple devices of a single type (e.g., multiple stereos and/or speakers) may simultaneously be available. In addition, the current content information section 520 indicates that “Reading Rainbow” programming audio is currently being directed to the “Main Stereo” device for presentation, while other content (not shown) may be being directed to the “Main TV” television device. In some embodiments, control instructions may be sent directly to the device being controlled (e.g., by directing the “Main TV” television device to change channels), while in other embodiments one or more intermediate devices may be involved in the control instructions (e.g., by directing an STB, not shown, to control live television content sent to a television device and/or by directing a DVR, not shown, to direct recorded music or television audio content to a currently selected stereo device). Moreover, in some embodiments one or more such intermediate devices may each be able to interact with and/or control multiple presentation devices, such as to have a single STB and/or DVR device control content being provided to two television devices (e.g., by using a MOXI device that provides such functionality). In addition, in some embodiments the device that is currently selected for control may affect the information in the playlist section in various ways, such as to select a current playlist based on a current device being controlled (e.g., based on the type of device, such as to select a playlist having video information when the device being controlled is a television device) and/or to enable content for current selection only if appropriate for the currently selected device (e.g., to disable video or image information if the currently selected device is a speaker, but to allow video, images and music to be presented on at least some types of television devices, such as based on capabilities of the device).
Content may be selected for inclusion in a playlist in various ways, and playlists may be created and maintained in various ways (e.g., maintained indefinitely until the user otherwise modifies or removes the playlist, or instead in a temporary manner, such as for a specified period of time and/or until storage space is needed for other purposes). In the illustrated embodiment, the view area includes a listing of various music content that is scheduled to be presented at various current and/or future times, such as based on the “Jukebox” primary content-type navigation tab 575 being currently selected. In some embodiments, a piece of content may be selected from the view area and added to a current playlist and/or a user-specified playlist, such as via a pop-up menu (not shown). For example, a currently selected “She Needs Someone To Hold Her” song may have been just added to the current playlist based on a user instruction, and in other embodiments music may be presented and selectable in other manners and/or other types of content (e.g., other types of audio information, television programming and other video, photos and other images, etc.) may similarly be presented and selectable in various manners. In addition, while not illustrated in the current example, in some embodiments one or more user-selectable controls may be provided in the detail area, such as to allow a currently selected item to be selected to a current playlist and/or a user-selectable playlist (e.g., from a list of playlists).
In some embodiments, only currently presented content may be available to be added to a playlist (e.g., to allow recording concurrent with its presentation), while in other embodiments content that is scheduled for later presentation may be added to a playlist and automatically recorded at that time—in such latter embodiments, content in a playlist that is not currently being presented and is not yet recorded may be treated differently than other content in the playlist, such as to prevent the content from being selected for current presentation on a currently selected device being controlled. In addition, content may be able to be selected for playlists in other manners in other embodiments, such as by downloading content from a remote computing shown (not shown) via the Internet or other mechanism. Moreover, in some embodiments an “auto-tune” playlist functionality may be provided that, rather than playing recorded programs one after the other, instead tunes a device (e.g., a television or stereo) at appointed times and/or intervals. While not illustrated here, content may further be organized in various manners, such as in manners selected by the user (e.g., by allowing the user to specify names for playlists, to organize the playlists in various ways, to associate playlists with each other and/or with devices available to be controlled (e.g., specific devices and/or types of devices).
Content in a playlist may also be controlled in various ways in various embodiments, including by selecting and manipulating individual pieces of content within a playlist and/or by treating some or all of the content in a playlist as a group. As previously noted, the illustrated embodiment includes various playlist-specific controls 555 and 565 that may be used to control playlists and content in playlists. In addition, in at least some embodiments some or all of various user-selectable controls in section 570 may be used to control presentation of a current playlist and/or of a currently selected piece of content in the current playlist, or alternatively to control other types of content (e.g., television programming). Such additional controls may include the following: channel controls 540 for manipulating a current channel, and in other embodiments other controls (e.g., user-selectable numeric buttons, not shown) may be available for specifying a particular channel; various controls 535 for controlling the presentation of content, such as to pause presentation, skip backward, skip forward (when available, such as with other than live content) and rewind or fast forward, as well as to provide. an instruction to record content that is currently being presented; various user-selectable controls 525 for affecting the type of content being presented from among various sources, such as live television programming (e.g., from a cable company or satellite provider), a menu or other functionality from a STB and/or DVR (e.g., a MOXI device), and a ticker on at least a portion of the display of the currently selected television device (e.g., with headline news, such as from a cable company or from a provider associated with the DVR); various interactivity controls 530 for further allowing the user to make various selections, such as from a menu or from among multiple options; and one or more specialized controls 545, such. as to correspond to functionality that may be available on only certain devices, such as on certain types of STBs and/or DVRs.
While not illustrated here, in some embodiments the sidebar may also include a user-focused content summary area related to upcoming recordings and previously recorded programs, such as to allow a displayed previously recorded program to be selected for current presentation on a currently selected presentation device (e.g., via instructions sent to a DVR or other storage device on which that program is stored)—examples of such a display of previously recorded programs are illustrated in various other figures, such as in the user-focused content summary area 165 of
As previously noted,
In particular,
After selection by the user of the first “Search for Shows” option in the current selection area 625 (such as via controls 615 and/or 610), the display area of the cellphone changes to show search information 632, as shown in
If the user instead selects the second option “Browse Channels” in the current selection area 625 of
If the user instead selects the third option “Browse Date/Time” in the current selection area 625 of
As previously noted, a particular television program may be selected in various ways, such as by searching for shows, browsing channels, and browsing at a specified date and time.
If the user instead selects the fourth option “Scheduled Recording” in the current selection area 625 of
If the user instead selects the sixth option “DVR Remote Control” or the seventh option “TV Remote Control” in the current selection area 625 of
If the user instead selects the eighth option “Control Options” in the current selection area 625 of
In addition, while some capabilities have been illustrated via the GUI and associated controls for the cellphone, a variety of other types of functionality have been previously discussed and may be provided via such a GUI in a similar manner.
Thus, as discussed below, the previously described example GUI of an embodiment of the CM system provides a variety of types of content information and content manipulation functionality. The following is a summary of the capabilities of an example embodiment of the GUI, which in this example embodiment provides various types of information and functionality for television-related content.
A. The View Control Area
a. Available Views For TV Programming Content
-
- Guide (provides a guide-based experience with the channels listed at left and time on the horizontal axis)
- Icon (provides an icon-based view that displays as many Channel Icons as possible for quick visual recognition and selection)
- Channel (provides a look ahead for a selected channel, and maintains the “time ahead” state while moving across channels)
- List (as a grouped, ordered list, and does not use the Navigation/Timebar as it displays information from the entire 2 week period, and not just at a specific point in time)
When switching between views, typically maintain any filter or search criteria.
b. Filters
May allow a filter to be applied to any view of TV Programming
-
- May provide some default filters, such as to associate a first color with Sports and another with Movies
- May allow a user to associate or disassociate a highlight color with a default filter
- Create, edit or delete a number (e.g., up to 20) of custom filters, such as based on the following attributes
- Example metadata attributes for use as types of criteria:
- Keyword
- Title
- Cast/Crew
- Genre
- Channel (Name or Number)
- Star Rating
- MPAA or TV Rating
- First run
- HDTV
- Audio
- CC
- DVS
- SAP/ESP
- Surround sound
- Previously recorded (On disk, Watched, deleted)
- Pay Per View
- On Demand
- May provide some default filters, such as to associate a first color with Sports and another with Movies
c. Quick Search
May provide a Quick Search capability that allows searches on basic criteria
-
- Example criteria:
- Keyword
- Cast/Crew
- Genre
- Hide Repeats
- HDTV
- Pay Per View
- On Demand
- If a filter or previous search is applied when the user invokes the Quick Search interface, may auto-populate the fields with any attributes from the filter that match the fields available in the Quick Search.
- If an applied filter contains attributes that are not covered by the Quick Search, such as MPAA rating, then when the Quick Search is populated, they are not included. Likewise, if the user changes the criteria (by adding, editing, or removing attributes in the Quick Search interface) and then saves this group of criteria as a new Filter, it will only include Quick Search fields.
- Save search criteria as a custom filter
- Example criteria:
d. Advanced Search
May provide an Advanced search that allows searches on any Criteria
-
- Example criteria:
- Keyword
- Title
- Cast/Crew
- Genre
- Channel (Name or Number)
- Star Rating
- MPAA or TV Rating
- Hide repeats
- HDTV
- Audio
- CC
- DVS
- SAP/ESP
- Surround sound
- Previously recorded (On disk, Watched, deleted)
- Pay Per View
- On Demand
- Allow search criteria to be saved as a custom filter
- If a filter or previous search is applied when the user invokes the Advanced Search interface, may auto-populate the fields with any attributes from the filter that match the fields available in the Quick Search.
- Example criteria:
e. Search History
May provide a way to view past searches.
May provide a way to select a past search and to search using those search criteria.
-
- May allow only one search to be selectable at a time.
- Double click on a past search to run the selected search.
- Press the “Apply Bufton” to run the selected search.
- Press the “Save Button” to save the selected search as a custom filter
- Press the “Clear Button” to display the complete dataset
- Press the “Close” button to close the search interface and return to the complete dataset
f. First Timebar
May provide a way to navigate through time (For Guide, Icon, and Channel Views), such as to:
-
- Jump to a day
- Jump to a time
- Jump to the current date and time
- Change the displayed time scale between hours and days
- Visually present filter or search results over time (e.g., for highlighting recordings in the Scheduled Recordings area, or for photos)
- Visually present two weeks of program data.
- Enable navigation between a ½ hour block of programming that is “on now” and the end of two weeks of program data.
- Visually indicate where “on now” is in the context of two weeks of program data.
- Timebar UI Element behavior:
- Keep the date/time indicator (thumb) on the same date and time (i.e. the thumb moves with the selected date)
- The date/time indicator (thumb) actually disappears out of the visible bounds of the timebar—to preserve the selected date and time—since the selected date time is out of the visible bounds.
g. Other:
-
- if adding “on now” when the user is viewing the Guide, Channel, or Icon view, snapping back to “On Now” is appropriate and desirable.
2. The Scheduled Recordings Tab
The Scheduled Recordings Tab offers functionality similar to other tabs, except that it is filtered to only show those programs that are scheduled to record.
3. The Recorded Content Tab
The Recorded Content Tab is different in that it may only have a modified List view, although filtering and searching may remain the same.
B. The Detail Area
1. Capabilities
Display detailed information about a selected show, including (but not limited to) the title, description, rating information, and channel information.
Display and enable actions that are appropriate for the state of a selected show.
Use criteria of the selected show to find other shows with the same criteria
-
- Indicate which fields can be used
- Optionally allow only fields and values that are available in the Quick Search to be used
- Populate the Quick Search with the new criteria
- Display the Quick Search (if it is not already displayed)
- Replace all previous criteria with the new criteria
- Give focus to the Apply action but do not apply the search yet
a. Data Elements
Below are examples of data fields.
b. Buttons & Actions
Below are examples of states of a program and buttons that are applicable for each state.
C. The View Area
1. Capabilities
Can List Programs
-
- Over Time
- At a given date/time
- In a date/time range
- Over Time
In a specific state
With specific criteria
-
-
- That match search or filter criteria
-
Can Differentiate between programs
-
- Highlight based on criteria (filter)
- Indicate state
- Recorded
- On Now (not recording)
- Currently recording
- In the future
- Scheduled to record (single/series)
- Denote selection
- Focus
- Selection
- Can Act on program
- Get more information (e.g., from a third-party)
- Watch/Play
- Schedule to Record
- Can Provide different views of programs
- Guide—programs on channels over time
- Icon—scan icons visually
- Channel—looking forward on a channel
- List—list/sort/group
- Can Change between Views
- Can Adjust the granularity of information
- Small—channel and title
- Medium—more info
- Large—detailed
Can Associate a level of granularity on a per view basis
2. Views
There are four views. The first three, Guide, Icon, and Channel, are dependant on a specific point in time and use that as a starting point. The List view is a list of programs that can be sorted and grouped, and is not dependant on a specific time—rather it lists all the live and upcoming programs. As a user transitions from one view to the next, the time in the first timebar remains constant (even when the user goes to and from the List View), as does the program in the detail area.
a. Guide View
The guide view presents programs in the context of channel and time.
If a filter or search is applied, only channels with programs that match the criteria in the viewable time range should display.
Programs that are on a channel but do not meet the filter or search criteria should be de-saturated.
If there are no programs in the viewable time range that match the criteria on any channel when a filter or search is applied, a message could be displayed to communicate this to prevent a blank screen from being shown.
b. Icon View
The Icon view presents programs that are on at a specific (e.g., ½ hour) point in time. It allows users to recognize channels visually by their logos, and then to determine what program is associated with that channel.
If a channel has more than one program on in the selected ½ hour, both programs may display.
Only programs (and therefore channels) with a program on in the specific point of time will display.
If there are no programs in the viewable time range that match the criteria when a filter or search is applied, a message could be displayed that communicates this.
c. Channel View
The Channel view shows not only what programs are on at a specific time, but also what is coming up on a specific channel.
The right hand column displays shows on the same channel as the selected program/channel in the left-hand column.
The first show in the right hand column can be, by default, the show that's on right after the highlighted show in the left-hand column.
When a filter or search is applied, only those channels for which there are results somewhere in the 2 weeks of program data may be listed.
If, when a filter or search is applied, a channel with a result in the future doesn't have a program that matches the current date/time indicated in the time-bar, then it should still display the title of the program on at the indicated date/time, but it could be de-saturated.
When a filter or search is applied, the subset of channels could display even if the only programs that fit the criteria are chronologically before the place where the date/time indicator in the time-bar is.
d. List View
The List View allows users to quickly sort and group by a variety of criteria. It is not dependant on a specific time, and the First Timebar is not shown.
Default grouping can be by Title (ascending), and default sort can be chronological. If the user re-groups or re-sorts, the new sort/grouping may be maintained.
Users can ungroup the list, and regroup it.
User can select any column heading to group by that field. Each criteria has a default sort. The headings and default sorts are:
-
- Channel Number—Program Name, Air Time
- Channel Affiliate/Logo—Program Name, Air Time
- Program Name—Air Time
- Record Status (recording, scheduled, not scheduled)—Program Name, Air Time
- Repeat—Program Name, Air Time
- HDTV—Program Name, Air Time
- Genre (ascending)—Program Name, Air Time
- MPM Rating—Program Name, Air Time
- Star Rating—Program Name, Air Time
- Air Time (ascending)—Program Name
- Duration (ascending)—Program Name, Air Time
User can change the secondary and subsequent sorts by Shift-clicking a column. Shift-clicking the column again will reverse the sort.
e. Changes to the List view for the Recordings Tab:
The “AIRS” column is replaced with “RECORDED ON”
The “REC” column is renamed “STATUS” so that it can show the icon for “scheduled to be deleted”, but it will show a similar type of data
The default sort is by “RECORDED ON”, and the increment will be the Day (e.g., Tues 3/20, Mon 3/19, etc.) in reverse chronological order, with the secondary sort (on the programs within a day group) of time (reverse chronological). Thus, the last thing recorded will be at the top of the first group.
A “VIEWED” column may also be provided.
3. Levels of Granularity
The Guide, Icon, and Channel views can be set to one of three size “resolutions”. Small displays more individual listings, but the least amount of information about each. Large displays the most information about each, but displays fewer individual listings. It is preferable to show Episode Title for sports events in all resolutions.
D. Sidebar Control Area
1. Capabilities
Display Program Info
Program on TV now (Tuned or Playback of a recorded program) (may be the program that corresponds to the current point in the buffer, as the live buffer can contain multiple programs)
-
- Title
- Channel
- Start time (or “presentation time”) & Duration
Display the Buffer/Recording
Buffer/Recording length
Place in Buffer/Recording
-
- Time marker
Current Transport Control
Beginning/End of Buffer
Provide Remote Control Buttons
Transport Controls
D-pad
Status—List the following in chronological order (Channel, Title, Record Status & Start Time)
Next three programs to be recorded
Any programs that are currently recording
Last three programs that were recorded
E. Input Devices
Left-click should select a program such that it would both have focus and be selected. Using the arrow keys would move the focus around (maintaining the previously made selection) and Enter would select it.
F. Table Of Functions
The following table of functions takes a top-down approach to the GUI. Starting at the top and working toward the bottom, this table lists the location on the GUI of various controls, names of the GUI element, and how they function.
G. Table of Functions for Mouse/Touchpad/Eraserhead
H. Table of Functions for Keyboard
Reference throughout this specification to “one embodiment” or “an embodiment” means that a particularfeature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particularfeatures, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
In addition, the described techniques are applicable to architectures other than a set-top box architecture or architectures based upon the MOXI™ system. For example, an equivalent system and applications can be developed for other DVRs and STBs. The methods and systems discussed herein are applicable to differing protocols, communication media (optical, wireless, cable, etc.) and devices (such as wireless handsets, electronic organizers, personal digital assistants, portable email machines, game machines, pagers, navigation devices such as GPS receivers, etc.) able to receive and record such content.
In the description, numerous specific details have been given to provide a thorough understanding of embodiments. The embodiments can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the embodiments. Thus, it will be appreciated that, although specific embodiments have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the invention. Accordingly, the invention is not limited except as by the appended claims and the elements recited therein. In addition, while certain aspects of the invention are presented below in certain claim forms, the inventors contemplate the various aspects of the invention in any available claim form. For example, while only some aspects of the invention may currently be recited as being embodied in a computer-readable medium, other aspects may likewise be so embodied.
Claims
1. A method for a computing device to present information about television programs via a graphical user interface, the method comprising:
- receiving metadata information for a plurality of television programs;
- identifying a group of the television programs for a graphical user interface such that received metadata information for those television programs will be included in the graphical user interface, the group including a plurality of television programs;
- displaying to a user of the computing device a graphical window that includes the graphical user interface, the graphical user interface having a state based at least in part on the identified group such that metadata information for the television programs in the identified group is included in the displayed graphical user interface;
- receiving one or more indications from the user via the graphical user interface related to new television programs to include in the graphical user interface, identifying a new group having a plurality of the television programs for the graphical user interface based at least in part on the one or more indications, and updating the state of the displayed graphical user interface to reflect the new group; and
- automatically maintaining the state of the graphical user interface so as to reflect the new group of television programs by, when the graphical user interface is to be updated such that at least some new metadata information is to be displayed in the graphical user interface, automatically performing the updating of the displayed graphical user interface in such a manner as to display the new metadata information and to include one or more indications of the new group of television programs,
- so that a state of the graphical user interface that is based at least in part on a selected group of television programs is maintained when information in the graphical user interface is updated.
2. The method of claim 1 wherein the received metadata information includes electronic programming guide information for each of the television programs, wherein the new group of the television programs includes television programs on multiple channels having start times within a period of time, wherein the displayed graphical user interface has a plurality of distinct display areas that include a view display area with indications of multiple channels and with one or more indications of the period of time, wherein metadata information for the television programs in the new group is displayed in the displayed graphical user interface in a grid format within the view display area and includes detail information for each of the television programs in the new group, wherein the updating of the state of the displayed graphical user interface to reflect the new group includes displaying in a coordinated manner in one or more other display areas of the displayed graphical user interface additional detail information for one or more of the television programs of the new group, and wherein the maintaining of the state of the graphical user interface so as to reflect the new group includes maintaining coordination of information displayed in the plurality of distinct display areas.
3. The method of claim 1 wherein the metadata information for the television programs in the identified group that is included in the displayed graphical user interface is displayed in a view area of the displayed graphical user interface in the displayed graphical window, and wherein the updating of the state of the graphical user interface to reflect the new group includes displaying additional information about at least one of the television programs of the new group in a distinct area of the displayed graphical user interface in the displayed graphical window.
4. The method of claim 1 wherein the updating of the state of the graphical user interface to reflect the new group includes displaying distinct information about one or more of the television programs of the new group in a coordinated manner in a plurality of distinct display areas of the displayed graphical user interface in the displayed graphical window, and wherein the maintaining of the state of the graphical user interface so as to reflect the new group includes maintaining coordination of information displayed in the plurality of distinct display areas.
5. The method of claim 1 wherein the updating of the displayed graphical user interface to include the one or more indications of the new group of television programs includes modifying the new metadata information to be displayed to include metadata for one or more of the television programs of the new group, so that the updated displayed graphical user interface includes metadata information for at least a portion of the television programs of the new group.
6. The method of claim 1 wherein the updating of the displayed graphical user interface to include the one or more indications of the new group includes providing in the displayed graphical user interface a user-selectable control that when selected updates the displayed graphical user interface to include metadata information for the television programs of the new group.
7. The method of claim 1 wherein the received one or more indications from the user specify criteria related to television programs, and wherein the identifying of the new group of the television programs for the graphical user interface is based at least in part on selecting television programs that match the specified criteria.
8. The method of claim 7 wherein the specified criteria relates to indicated metadata of the television programs, and wherein the identifying of the new group of the television programs includes searching for television programs whose metadata matches the indicated metadata and/or includes filtering the television programs to reflect television programs whose metadata matches the indicated metadata.
9. The method of claim 7 wherein the specified criteria relates to one or more genres and/or categories of television programming.
10. The method of claim 1 including, after the maintaining of the state of the graphical user interface so as to reflect the new group, receiving an indication by the user of one or more other groups of the television programs and modifying the state of the displayed graphical user interface to reflect the indicated one or more other groups.
11. The method of claim 1 including, after the maintaining of the state of the graphical user interface so as to reflect the new group, receiving an instruction from the user to initiate current presentation of a selected one television program of the new group on at least one television display device, and initiating the current presentation of the selected one television program on the at least one television display device in response to the instruction.
12. The method of claim 1 wherein the maintaining of the state of the graphical user interface so as to reflect the new group includes maintaining one or more of color coding and highlighting used to indicate at least portions of the new group.
13. The method of claim 1 wherein the maintaining of the state of the graphical user interface when the graphical user interface is to be updated is based at least in part on modifying a type of view of metadata information for at least some of the television programs of the new group.
14. A computer-readable medium whose contents enable a computing device to present information about television programming-related content via a user interface, by performing a method comprising:
- receiving information related to a plurality of pieces of television programming-related content;
- presenting a user interface that includes the received information for at least some of the pieces of television programming-related content;
- receiving an indication of a selection of a group of related pieces of television programming-related content; and
- when information included in the user interface is updated, maintaining a state of the user interface so as to reflect the selection of the group of related pieces of television programming-related content.
15. The computer-readable medium of claim 14 wherein the selection of the group of related pieces of television programming-related content is based on one or more indications from a user, wherein the presented user interface is a graphical user interface that supports a plurality of types of views of information for pieces of content, and wherein updating of the information included in the user interface is based on a change in the type of view of the included information.
16. The computer-readable medium of claim 14 wherein the computer-readable medium is a memory of the computing device and/or is a data transmission medium transmitting to the computing device a generated data signal containing the contents.
17. The computer-readable medium of claim 14 wherein the contents are instructions that when executed cause the computing device to perform the method.
18. A computing system configured to present information about pieces of television programming content via a graphical user interface, comprising:
- a display; and
- a content management system configured to present on the display a graphical user interface whose information reflects a state that is based at least in part on a selected group of multiple pieces of content and to automatically maintain the state of the information of the graphical user interface as being based at least in part on that selected group of pieces of content when the graphical user interface is updated.
19. The computing system of claim 18 wherein the one or more pieces of content of the selected group are each a television program, wherein the graphical user interface includes metadata information for a plurality of television programs and includes one or more indications related to the television programs of the selected group, and wherein updating of the graphical user interface includes modifying television programs whose metadata information is included in the displayed graphical user interface.
20. The computing system of claim 19 wherein the computing system further comprises a device for controlling presentation of television programs on one or more television display devices, and wherein the presented graphical user interface further includes user-selectable controls to allow a user to control the presentation of the television programs on the one or more television display devices via instructions sent to the device, the device being one of a group of devices that includes a set-top box, a digital video recorder device and a media center device.
21. The computing system of claim 18 wherein the content management system includes software executing in memory of the computing system.
22. The computing system of claim 18 wherein the content management system consists of a means for presenting on the display a graphical user interface whose information reflects a state that is based at least in part on a selected group of multiple pieces of content and to automatically maintain the state of the information of the graphical user interface as being based at least in part on that selected group of pieces of content when the graphical user interface is updated.
Type: Application
Filed: May 2, 2005
Publication Date: Feb 2, 2006
Applicant: Vulcan Inc. (Seattle, WA)
Inventors: Korina Stark (Seattle, WA), Daniel Sterling (Mill Creek, WA), Michael Stacie (Kirkland, WA), Marcellino Tanumihardja (Seattle, WA)
Application Number: 11/120,641
International Classification: H04N 5/445 (20060101); G06F 13/00 (20060101); G06F 3/00 (20060101);