Patent Publication Number: US-11032600-B2

Title: System and method for interacting with a program guide displayed on a portable electronic device

Description:
RELATED APPLICATION INFORMATION 
     This application claims the benefit of and is a continuation of U.S. application Ser. No. 14/244,510, filed on Apr. 4, 2014, which application claims the benefit of and is a continuation of U.S. application Ser. No. 12/327,875, filed on Dec. 4, 2008, which application claims the benefit of and is a continuation of U.S. application Ser. No. 10/287,389, filed on Nov. 4, 2002, which application claims the benefit of U.S. Provisional Patent Application Nos. 60/334,774, filed on Nov. 20, 2001, 60/344,020, filed on Dec. 20, 2001, 60/371,223, filed on Apr. 9, 2002, 60/374,556, filed on Apr. 22, 2002, and 60/390,167, filed on Jun. 20, 2002. 
     All of these prior applications are incorporated herein by reference in their entirety. 
    
    
     BACKGROUND OF THE INVENTION 
     This invention generally relates to portable electronic devices having a display and communication capabilities. Exemplary devices include personal digital assistants (“PDAs”), Web Tablets, touch screen remote controls, lap-top computers, and the like. 
     SUMMARY OF THE INVENTION 
     In accordance with the description that follows, a system and method is provided for navigating a program guide and/or for using a program guide to command operation of an appliance. An understanding of the objects, advantages, features, properties and relationships of the invention will be obtained from the following detailed description and accompanying drawings which set forth illustrative embodiments and which are indicative of the various ways in which the principles of the invention may be employed. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       For a better understanding of the various aspects of the invention, reference may be had to preferred embodiments shown in the attached drawings in which: 
         FIGS. 1-4  illustrate an exemplary program guide and an exemplary system for navigating within the program guide; 
         FIG. 5  illustrates an exemplary method for accessing an illustrated, exemplary program guide calendar; 
         FIG. 6  illustrates an exemplary method for accessing an illustrated, exemplary program information window; 
         FIGS. 7-11  illustrates exemplary methods for accessing an illustrated, exemplary zoomed-in portion of a program guide; 
         FIG. 12  illustrates an exemplary device platform having hard keys for use in transmitting command codes to one or more target appliances; 
         FIG. 13  illustrates an exemplary display for providing information relevant to the hard keys of  FIG. 12 ; 
         FIGS. 14-18  illustrate an exemplary graphical user interface method for configuring the hard keys of  FIG. 12  to cause the transmission of commands to command the operation of one or more appliances; 
         FIG. 19  illustrates an exemplary method for causing the transmission of commands to command the operation of one or more appliances via interaction with a program guide; and 
         FIGS. 20-21  illustrate an exemplary method for configuring device transmissions in response to interaction with the program guide. 
     
    
    
     DETAILED DESCRIPTION 
     A universal remote control and program guide application are provided for executing on a portable electronic device  10 . By way of example, representative platforms for the device  10  include, but are not limited to, devices such as remote controls, lap-top computers, Web Tablets and/or PDAs manufactured by HP/Compaq (such as the iPAQ brand PDA), Palm, Visor, Sony, etc. Thus, a preferred underlying platform includes a processor coupled to a memory system comprising a combination of ROM memory, non-volatile read/write memory, and RAM memory (a memory system); a key matrix in the form of physical buttons; an internal clock and timer; a transmission circuit; a power supply; a touch screen display to provide visible feedback to and accept input from a consumer; and I/O circuitry for allowing the device to exchange communications with an external computer such as server and/or client. Additional input circuitry, such as a barcode reader, may also be utilized. 
     To control the operation of the device  10 , the memory system includes executable instructions that are intended to be executed by the processor. In this manner, the processor may be programmed to control the various electronic components within the device  10 , e.g., to monitor power, to cause the transmission of signals, etc. Within the memory system, the ROM portion of memory is preferably used to store fixed programming and data that remains unchanged for the life of the product. The nonvolatile read/write memory, which may be FLASH, EEPROM, battery-backed up RAM, “Smart Card,” memory stick, or the like, is preferably provided to store consumer entered setup data and parameters, downloaded data, etc., as necessary. RAM memory may be used by the processor for working storage as well as to hold data items which, by virtue of being backed up or duplicated on an external computer (for example, a client device) are not required to survive loss of battery power. While the described memory system comprises all three classes of memory, it will be appreciated that, in general, the memory system can be comprised of any type of computer-readable media, such as ROM, RAM, SRAM, FLASH, EEPROM, or the like in combination. Preferably, however, at least part of the memory system should be non-volatile or battery backed such that basic setup parameters and operating features will survive loss of battery power. In addition, such memories may take the form of a chip, a hard disk, a magnetic disk, and/or an optical disk without limitation. 
     For commanding the operation of appliances of different makes, models, and types, the memory system may also include a command code library. The command code library is comprised of a plurality of command codes that may be transmitted from the device  10  under the direction of application(s) for the purpose of controlling the operation of an appliance. The memory system may also includes instructions which the processor uses in connection with the transmission circuit to cause the command codes to be transmitted in a format recognized by an identified appliance. While the transmission circuit preferably utilizes infrared transmissions, it will be appreciated that other forms of wired or wireless transmissions, such as radio frequency, may also be used. 
     To identify appliances by type and make (and sometimes model) such that application(s) of the device  10  are adapted to cause the transmission of command codes in the format appropriate for such identified appliances, information may be entered into the device  10 . Since methods for setting up an application to cause the transmissions of commands to control the operation of specific appliances are well-known, they will not be described in greater detail herein. Nevertheless, for additional details pertaining to remote control setup, the reader may turn to U.S. Pat. Nos. 6,225,938, 4,623,887, 5,872,562, 5,614,906, 4,959,810, 4,774,511, and 4,703,359 which are incorporated herein by reference in their entirety. 
     To cause the device  10  to perform an action, the device  10  is adapted to be responsive to events, such as a sensed consumer interaction with one or more keys on the key matrix, a sensed consumer interaction with the touch screen display, or a sensed signal from an external source such as a remote computer. In response to an event, appropriate instructions within the memory system are executed. For example, when a hard or soft command key associated with a remote control application is activated on the device  10 , the device  10  may read the command code corresponding to the activated command key from the memory system and transmit the command code to an appliance in a format recognizable by the appliance. It will be appreciated that the instructions within the memory system can be used not only to cause the transmission of command codes to appliances but also to perform local operations. While not limiting, local operations that may be performed by the device that are related to the remote control functionality include favorite channel setup, macro button setup, command function key relocation, etc. Examples of such local operations can be found in U.S. Pat. Nos. 5,481,256, 5,959,751, 6,014,092, which are incorporated herein by reference in their entirety. 
     As discussed, the platform of the device  10  preferably comprises a general purpose, processor system which is controllable by software. The software may include routines, programs, objects, components, and/or data structures that perform particular tasks that can be viewed as an operating system together with one or more applications. The operating system, such as the “Windows CE” brand operating system or the like, provides an underlying set of management and control functions which are utilized by applications to offer the consumer functions such as a calendar, address book, spreadsheet, notepad, Internet browsing, etc., as well as control of appliances. Thus, it is to be understood that applications in addition to or complimentary with the remote-control-like application can also be supported by the device  10  and, as such, in terms of the internal software architecture, the remote-control-like application may be but one of several possible applications which may co-exist within the device  10 . 
     In terms of providing operating system functionality, it should also be understood that the demarcation between the device  10  and a host/client computer, described in greater detail hereinafter, may vary considerably from product to product. For example, at one extreme the device  10  may be nothing more than a slave display and input device in wireless communication with a computer that performs all computational functions. At the other extreme, the device  10  may be a fully-functional computer system in its own right complete with local mass storage. It is also to be appreciated that a hardware platform similar to that described above may be used in conjunction with a scaled-down operating system to provide remote control functionality only, i.e., as a standalone application. In all cases, however, the principles expressed herein remain the same. 
     To provide a means by which an consumer can interact with the device  10 , the device  10  is preferably provided with software that implements a graphical user interface. The graphical user interface software may also provide access to additional software, such as a browser application, that is used to display information that may be received from an external computer. Such a graphical user interface system is described in pending U.S. application Ser. Nos. 09/905,396, 60/334,774, and 60/344,020 all of which are incorporated herein by reference in their entirety. 
     For simplifying the process of navigating a downloaded program guide, which would be comprised of a grip of channels, times, and program information, the device  10  utilizes a program guide interface that takes advantage of the touch-screen style display. In particular, the program guide interface is designed to overcome one of the more annoying aspects associated with presently known program guides which results when consumers attempt to step from one channel (or time) to another channel (or time) that is relatively far away within a program guide. In particular, to navigate within presently known program guides, the consumer must repetitively press a navigation key, such as up/down, page up/down, time +/−, day forward/back, etc. As will be appreciated, navigation in this manner becomes increasingly tedious and frustrating to consumers as the number of entries within the program guide expands (e.g., with the addition of digital cable channels, satellite channels, etc.). 
     To address this problem, the user interface of the device  10  provides a horizontal slider  2  and a vertical slider  3  that, as illustrated in  FIG. 1 , allows for ease of movement through channels and times that are contained within the program guide. When a slider  2 / 3  is first touched with a stylus, finger, or the like, (i.e., a first user input is received) a banner  4  pops up next to the slider  2 / 3 . The banner  4  includes a representation that corresponds to the current position of the slider as illustrated in  FIGS. 2 and 3 . As will be appreciated, the current, relative position of the slider  2 / 3  within the slider bar is representative of the guide information currently being displayed relative to the entirety of information within a given program guide that is displayable. 
     When a slider  2 / 3  is moved, the information in the banner  4  is preferably, continuously updated to display the relative position of the slider  2 / 3  within the slider bar so as to provide an indication of the guide information that would be displayed relative to the entirety of information within a given program guide that is displayable should the slider  2 / 3  be released. For example, the banner  4  might indicate a channel corresponding to the current position of the slider  3  (e.g., channel program information that would be displayed at the top of the display as the starting point of the displayed information) or the banner  4  might indicate a time corresponding to the current position of the slider  2  (e.g., program information for a time period that would be displayed at a side of the display as the starting point of the displayed information). It is further preferred that the underlying information that is displayed not be changed as a slider  2 / 3  is moved until the slider  2 / 3  is released (e.g., the stylus is lifted off the slider as a second user input) as illustrated in  FIG. 4 . In this way a consumer that wishes to change the channel program information being viewed from, for example, CBS (channel 2) to BBC America (channel 264), need only grab the slider  3 , move the slider  3  vertically until it shows “BBCA 264,” and then release the slider  3 . A similar approach applies to the time slider  2  which allows you to move the program guide display horizontally to any hour in the current day. It will be appreciated that the second user input that results in the changing of the displayed grid information may also require acts in addition to or in lieu of the user merely releasing the slider (e.g., a double tap of the slider, activation of another icon, etc.). 
     To accommodate consumers that who prefer the old way of navigating through the information in the program guide, the interface allows the consumer to tap the arrows  6  at the ends of each slider bar to move/scroll the information one logical page either vertically or horizontally. In the illustrated example, a logical page vertically would comprise 5 rows of channels and one logical page horizontally would comprise a one hour time period. When moving thorough the program guide grid in this manner, the position of the sliders  2 / 3  should be updated to reflect the current, relative information being displayed. During this procedure, it is not necessary for a banner  4  to be displayed. 
     To allow the consumer to change the time period for the entirety of the displayable program guide information, e.g., to change days, the interface may provide two options. First, if the time slider (e.g., horizontal slider  2 ) is moved all the way to its slider bar limit (e.g., the right which is illustrated as corresponding to 11:00 PM—i.e., the end of the current displayable information) and the arrow  6  on the slider bar adjacent to the limit is clicked, the guide information rolls over to the next time period (e.g., 00:00 AM) and the time slider is automatically repositioned to the start of the slider bar (e.g., the extreme left hand side). A similar procedure performed in the reverse direction would be utilized to change the program guide information that is displayable to an earlier time period. 
     Alternatively, the consumer may activate (i.e., touch) a “calendar” icon  8  which is illustrated at the bottom left of the display to the left of the date. When the calendar icon  8  is touched, a calendar display  11  can be caused to appear as illustrated in  FIG. 5 . The calendar display  11  allows two purposes to be served. First, the calendar display  11  allows the consumer to go directly to any day shown by simply selecting that day on the calendar. Second, the calendar display  11  can serve as an indication to the consumer of how many days worth of program guide information remains when, for example, the consumer needs to dock the device  10  and/or log onto a Web site in order to download guide information as described in application Ser. No. 60/390,286 that is incorporated herein by reference in its entirety. In the example shown in  FIG. 5 , the calendar display  11  informs the consumer that the guide information currently being displayed is for April 2 nd , this indication being made by providing a distinct, coloring, shading, etc. to the date, for example. The calendar display  11  may further inform the consumer that the consumer last downloaded two weeks worth of guide data on March 22 nd  and has not logged on/synchronized with the guide database since then, these dates being indicated by being labeled, for example. Thus, as illustrated, the consumer is informed that they only have two more days of current information left (April 3 and 4)—which is indicated by the days following April 4 being labeled and not being hi-lighted, for example. The consumer can navigate immediately to gain access to program guide information, i.e., the programming grid, for either of the hi-lighted days, April 3 or April 4 (or, for that matter, to any of the days already past) by selecting that data on the calendar page  11 . Thus, it will be appreciated that the calendar page  11  functions as a visual gauge to display the amount of schedule information remaining and serves as a reminder that the consumer should refill this information. 
     Once the consumer has positioned the program guide to the desired time/channel information, touching a channel button  13  (e.g., the left column) can cause the device  10  to instruct an appliance to immediately switch to that channel (i.e., to send the IR command(s) to switch to that channel.) Furthermore, touching a program name  15 , “Friends” in the example shown, can cause the display of additional information in a window  17 , for example, regarding that program. When information for a program that is scheduled to air some time in the future is displayed, a “Remind me” checkbox  19 , or other known GUI element, can also be presented to the consumer. Selecting this checkbox  19  can be used to cause a reminder to be automatically entered into a calendar application supported by the device  10 . 
     For improving the visibility of programming information contained within the program guide, particularly for consumers with imperfect eyesight, and/or on devices such as high-resolution Web tablets capable of displaying a large amount of information on a relatively small screen area, the device  10  can provide a means for accessing an enlarged or zoomed representation of a portion of the program guide. To this end, as illustrated in  FIGS. 7 and 8 , a “zoom” button  12  may be provided as a soft key at a convenient location within the display, for example, in the illustrated bottom of the display, adjacent the display as a hard key, etc. In response to an activation of the “zoon” button  12 , e.g., by touching a softkey with a stylus  20 , with a finger, moving a cursor over the icon and activating/clicking a hard key, etc. as illustrated in  FIG. 8 , an enlarged display  30  comprising a subgroup of the displayable program guide information is presented to the user, as illustrated in  FIG. 9 . 
     The portion of the program guide displayed as the enlarged portion  30  may be used to display a predetermined amount of programming information to the user (e.g., programming information related to a predetermined range of channels and/or predetermined time periods) or simply contain as much programming information as can be fit into the enlarged display based upon the font size, etc. selected for use in the zooming application. Furthermore, the specific programming information that is contained within the enlarged portion  30  of the program guide may also be predetermined (e.g., based only upon the portion of the program guide that is visible within the display prior to enlargement—see  FIG. 7 ) or established using user-preferences. For example, the enlarged portion of the program guide  30  may comprise an enlarged view of programming information (i.e., programming grid cells) for a predetermined number of channels (in the illustrated example the number is 5) commencing from a predetermined starting channel number (in the example, the starting channel number “72” corresponds to the channel number that is at a predetermined position—such as at the top of the un-enlarged guide as illustrated in  FIG. 7 ). Similarly, the enlarged portion of the program guide  30  may comprise an enlarged view of programming information for one or more channel listings over a predetermined time period (in the illustrated example 2 hours) commencing from a predetermined starting time (in the example, the starting time corresponds to a predetermined time—such as the time at the left most portion of the un-enlarged guide as illustrated in  FIG. 7 ). It is also contemplated that the predetermined time could be a time commencing with a current time that is maintained within the device  10 . As noted, the enlarged guide portion  30  may also contain programming information that is consumer-specified, such as programming information pertaining to consumer specified favorite channels (either commencing at a consumer-specified channel, including only those specified by a consumer, those determined to be most selected by a consumer, etc.) and/or user-specified favorite times. 
     For the purpose of demonstrating to the consumer that the device  10  is in zoom mode, i.e., the display is showing an enlarged portion of the program guide, the appearance of the icon  12  may be changed. By way of example, the icon  12  can be presented with a line through it to show an activated condition as illustrated by the icon  32  of  FIG. 9 . In this case, the icon in question acts as a toggle to switch in and out of zoom mode and thus the representation illustrated by  32  in  FIG. 9  is used to indicate that the next activation of this icon will cancel the zoom mode. It is also contemplated that the color of the icon can be changed, the icon can be flashed, etc. 
     The programming information contained within the enlarged portion  30  of the program guide may also be determined based upon interaction with the un-enlarged program guide by the consumer. For example, the consumer may indicate a desire to enter the zoom mode (e.g., by touching the zoom icon which readies the device for zooming, which readiness may be indicated to the user by the display of an icon having a changed or changing appearance) followed by the consumer indicating a location within the un-enlarged program guide that the consumer wishes to have enlarged. The indication of the location may be provided by the consumer using the graphical user interface (e.g., touching a location on the display with a finger or stylus as illustrated in  FIG. 10 ) to select a cell or area of cells of interest within the displayed un-enlarged guide, by moving the scroll bars, etc. Upon receiving the indication, the software causes appropriate programming information to be displayed in the enlarged portion  30  of the program guide. In the illustrated example, the touching of the “Dark Shadow” cell within the un-enlarged program guide may cause the enlarged portion  30  to present programming information that commences with channel 74 and time 11:00 am. It is to be understood that the user may navigate within the un-enlarged program guide to find channels and/or times of interest before performing the step of indicating which cell or cells should be enlarged. It will also be appreciated that this two step process, i.e., indicating a desire to enlarge the program guide followed by another user interaction with the device, can result in the display of predetermined information within the enlarged portion  30  as described above, e.g., favorites, programming information commencing with the channel and time in the upper left most corner of the displayed un-enlarged program guide, etc. 
     To change the programming information that is presented within the enlarged portion  30  of the program guide, the user can exit the zoom mode, by retouching the icon  32  for example, and then reinitiating the zoom feature at a different location within the un-enlarged program guide, for example, when a two-step process is utilized. Alternatively, the graphical user interface may be used in manner that indicates to the device that the user wishes to scroll the program guide within the enlarged display area  30  thus changing the portion of the program guide shown there within. This indication can be performed using standard GUI techniques such as associating scroll bars with the display of the enlarged portion  30 , scrolling as a result of following the movement of a finger or stylus within the display, etc. In this manner, the consumer may conveniently navigate within the enlarged display portion  30  just as a consumer can navigate within the un-enlarged display portion. 
     It is to be further understood that the zooming feature may also be used to present control function icons and/or other aspects of the graphical user interface in a larger, more prominent manner without limitation. An example of an enlarged icon is illustrated as icon  12  in  FIG. 11 . 
     To transmit command codes to an appliance (or perform local operations), a consumer may activate hard keys  70 , for example, at the bottom of the device  10  in the exemplary platform illustrated in  FIGS. 12 and 13 . In this illustrated example, four individual buttons  70   a  and one 5-way rocker button  70   b  (4 directions plus a “press to select”) comprise the hard keys  70 . The remote control application allows commonly-used functions to be mapped onto the hard keys  70 . For example, operations such as “Controls” (Volume, Channel +/−, mute), “Navigation” (directional arrows and select), or “Transport” (Play, fast forward, rewind, etc) can be mapped onto the keys  70 . The current operations to be performed in response to activation of keys  70  can be presented in a display  72 , shown in  FIG. 13 , for example, by pressing one of the hard keys  70  which is permanently assigned to the function of displaying key assignments. In the illustrated example, in the case of the illustrated platform, the display assignments key  70  is shown to be the upper one of the two right hand individual keys (labeled “keys” in the display  72 ). 
     Referring now to  FIG. 14 , the operations assigned to the keys  70  can be changed by the consumer activating a command button, e.g., icon  76  shown at the lower right corner of the exemplary screen shot. Activation of the command icon  76  can be used to pop-up a menu  78 , an example of which is illustrated in  FIG. 15 , by which the user may change the operations mapped to the keys  70 . By way of illustration, the first three items on the menu correspond to the three possible assignments for the hard keys. e.g., the keys  70  may have operations mapped to them such that activation of the keys cause the device  10  to transmit command codes to command “navigation,” “control” or “transport” functions of a target appliance. The fourth menu choice, “Master Control,” allows the consumer to specify a specific target appliance to which any transmitted command codes are to be sent (i.e., the command codes are formatted so as to be understood by the target appliance). The default, in the absence of any user setup, can be to simply have the device  10  transmit command code signals in a format appropriate for a target appliance that has been designated for the current device mode of the platform, i.e., the device mode indicated by the icon  80  at the top of the device mode wheel  82 . Selecting the “Master Control” item of the menu  78  may be used to start a Master Control Setup Wizard, an example of which is illustrated in  FIGS. 16 and 17 . 
     Turning to  FIG. 16 , the Master Control Setup Wizard may present to a consumer one or more drop-down lists  84  by which the consumer can select the target appliance for any transmitted command signals, e.g., signals to be used for each of channel changing, volume control, and transport functions. Preferably, the assignments performed using the Master Control Setup Wizard are only with respect to the hard keys  70 .  FIG. 18  shows an example drop-down list from which the user may select the target device for signals to command channel changing operations. While not intended to be limiting, the choices illustrated in  FIG. 18  include only devices which have been set up by the user in connection with configuring the device mode wheel  82  (as described in U.S. application Ser. No. 60/334,774 which is incorporated herein by reference in its entirety, these are the appliances the device  10  has been setup to control the operation of). 
     To transmit commands to tune a target appliance to a specified channel using a program guide, an example of which is illustrated in  FIG. 19 , a user need only select or activate a channel button  86  which, in the illustrated example, is a soft key in the leftmost column of the program guide grid. As noted previously, activation of a channel button  86  will cause the device  10  to transmit a command signal, for example using an IR protocol, to command the target appliance to switch to the selected channel. The channel number to tune to in response to activation of a channel button  86  is preferably pre-calculated at the time the guide is downloaded from a Web site, or the like. In this regard, the guide information is populated, for example, based on the zip code and service provider information submitted by the user when registering for the service as described in U.S. application Ser. No. 60/390,286 that is incorporated herein by reference in its entirety. Accordingly, in the illustrated example, activation of the “TLC” channel button in the downloaded program guide would send a command to cause the target appliance to tune to channel 280 which is the channel on which the specified service provider is known to carry TLC content. 
     When transmitting a command to cause the appliance to tune to a specified channel, the default channel changing operation comprises sending the desired channel digits (a minimum of two, i.e., single digit numbers are prefixed with a leading zero) as a sequence of IR data commands in the format of the channel changing device specified in the Master Control Setup. Accordingly, the actual physical transmission of the sequence of commands is no different than playing back a user-programmed macro. The consumer may be provided, however, with the capability to adjust this default sequence described above if necessary to suit his particular equipment. Any such adjustment may be performed, for example, by touching a “setup” command button  88  (e.g., the wrench icon in the lower left corner of the guide display screen). Activation of the setup command button  88  can be used to present to the consumer a pop-up, setup menu  90  as illustrated in  FIG. 20 . As can be seen from the menu listings, among the setup choices can be provided a choice to allow the content of the program guide to be filtered and arranged for display. Furthermore, selecting a choice labeled “Options” can be used to invoke a configuration screen illustrated in  FIG. 21 . 
     Using the configuration screen, the consumer may change the master channel tuning device which may offer the same list of appliances and would affect the same parameter as the “Master Control Setup” wizard described earlier in connection with  FIGS. 15-18 . Additionally, the configuration screen can be used to allow a consumer to modify how the IR command sequence is to be constructed, i.e., allow the consumer to vary the minimum number of digits to be sent and to specify if an “enter” command is to be transmitted after the final digit is transmitted. (The “enter” function is mandatory for a few appliance brands, in others it is optional but often will speed up the channel changing response if used). 
     It will be appreciated that setup menus can also be provided to allow a consumer to specify a target device for command(s) transmitted by interacting with the program guide that need not be tied to the intended target appliance associated with the hard keys  70 . Additionally, provision may be made for specifying multiple target appliances for use with the program guide. For example, when the platform is setup in a mode to command appliances in a first room, a first target appliance can be associated with the program guide and when the platform is setup in a mode to command appliances in a second room, a second target appliance can be specified to be associated with the program guide. Similarly, different target appliances can be specified to be the intended target for commands transmitted as a result of interacting with the program guide for each individual consumer setup to use the platform. Still further, if the program guide is adapted to show information from multiple sources, e.g., cable and satellite, different target appliances can be associated with different listing within the program guide as a function of the programming source. 
     While specific embodiments of the invention have been described in detail, it will be appreciated by those skilled in the art that various modifications and alternatives to those details could be developed in light of the overall teachings of the disclosure. For example, the programming grid need not be limited to channels being displayed in horizontal rows and times in columns. Rather, the principles expressed herein would be useful in connection with any manner for displaying program information that allows the information displayed to be changed or scrolled. Accordingly, the particular arrangement disclosed is meant to be illustrative only and not limiting as to the scope of the invention which is to be given the full breadth of the appended claims and any equivalents thereof. 
     All of the cited references are incorporated herein by reference in their entirety.