Abstract:
A subscriber to a video service generally has available to them an on-screen program guide. The program guide lists programming (e.g., TV shows) that are available to the subscriber for a certain upcoming time period. The programming guide may sort the listings by channel and time, areas of interest, age appropriateness and/or MPAA or TV rating, free or additional cost, etc. In an embodiment, the programming guide includes an ability to make a selection to see which TV shows are recommended by reviewers. Such reviewers may be individuals or panels or institutions to which some credibility may be attached—a trusted source. After selecting a reviewer, the subscriber is made aware of the programs recommended by the selected reviewer.

Description:
BACKGROUND INFORMATION  
       [0001]     Customers (a/k/a “subscribers”) of modem cable or television (TV) satellite services are familiar with the concept of an on-screen programming guide or an interactive program guide (IPG). These program guides allow a subscriber to display, sort and search TV programming that is playing on the channels available to the subscriber. Typically, when a subscriber accesses the program guide, the programs on at that moment are displayed. The user can generally scroll forward in time to see what is playing later in the day, on the next day, and further ahead in time. A typical program guide allows a subscriber to display programming up to two weeks into the future.  
         [0002]     Today&#39;s television services provide hundreds of channels to choose programming content from, including movies and pay-per-view events. In the future, it is expected there will be thousands of channels. In order to make selections when faced with such a multitude of options, a subscriber may go to a magazine, newspaper or website to see what TV programs and movies are recommended. Depending upon their preferences, subscribers may rely upon specific sources for recommendations which have established a level of credibility with subscribers, thus these sources become “trusted sources” to a subscriber. However, there presently is not a way to see what their trusted sources have recommended while a subscriber is perusing the on-screen program guide.  
     
    
     BRIEF DESCRIPTION OF THE DRAWING(S)  
       [0003]      FIG. 1   a  is an illustration of one embodiment of a computing device that can be used to practice aspects of the present invention;  
         [0004]      FIG. 1   b  is an embodiment of a processing system having a distributed communication and processing architecture that may be used to practice aspects of the present invention;  
         [0005]      FIG. 2  is an illustration of an exemplary network architecture that may be used to practice one or more embodiments of the present invention;  
         [0006]      FIGS. 3A-3E  are exemplary television or display device screenshots showing the process of obtaining programming recommendation from one or more trusted sources in an embodiment of the present invention;  
         [0007]      FIG. 4  illustrates an exemplary process for providing a user with recommended television programming from one or more trusted sources while the user is interacting with an on-screen programming guide, in an embodiment of the present invention;  
         [0008]      FIG. 5  illustrates an exemplary process for a user to access recommended programming information as such information is integrated into an interactive program guide, in an embodiment of the present invention; and  
         [0009]      FIG. 6  is another embodiment of an exemplary process for providing a user with recommended television programming from one or more trusted sources while the user is interacting with an on-screen programming guide. 
     
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0010]     The preferred embodiments implemented according to the present invention now will be described more fully with reference to the accompanying drawings, in which some, but not all possible embodiments of the invention are shown. Indeed, this invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to like elements throughout.  
         [0011]     The preferred embodiments of the present invention provide systems and methods for a subscriber to make a selection from their on-screen program guide to see what recommendations are made by one or more reviewers. In many cases, the reviewer may be one of the subscriber&#39;s trusted sources. The reviewer&#39;s recommended programming may be displayed on the television as a simple list, or the recommendations may be incorporated into the program guide by highlighting or otherwise identifying the recommended shows in the program guide. Furthermore, in one embodiment of the invention, reviews of the reviewer&#39;s recommendations may be accessed by the subscriber.  
         [0012]     As will be appreciated by one skilled in the art, the preferred embodiments may be implemented as a method, a data processing system, or a computer program product. Accordingly, preferred embodiments of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, implementations of the preferred embodiments may take the form of a computer program product on a computer-readable storage medium having computer-readable program instructions (e.g., computer software) embodied in the storage medium. More particularly, implementations of the preferred embodiments may take the form of web-implemented computer software. Any suitable computer-readable storage medium may be utilized including hard disks, CD-ROMs, optical storage devices, or magnetic storage devices.  
         [0013]     The preferred embodiments according to the present invention are described below with reference to block diagrams and flowchart illustrations of methods, apparatuses (i.e., systems) and computer program products according to an embodiment of the invention. It will be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, respectively, can be implemented by computer program instructions. These computer program instructions may be loaded onto a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions which execute on the computer or other programmable data processing apparatus create a means for implementing the functions specified in the flowchart block or blocks.  
         [0014]     These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including computer-readable instructions for implementing the function specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks.  
         [0015]     Accordingly, blocks of the block diagrams and flowchart illustrations support combinations of means for performing the specified functions, combinations of steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, can be implemented by special purpose hardware-based computer systems that perform the specified functions or steps, or combinations of special purpose hardware and computer instructions.  
         [0016]     In the preferred embodiments referenced herein, a “computer” or “computing device” may referenced. Such computer may be, for example, a mainframe, desktop, notebook or laptop, a hand held device such as a data acquisition and storage device, or it may be a processing device embodied within another apparatus such as, for example, a set top box for a television system or a wireless telephone. In some instances the computer may be a “dumb” terminal used to access data or processors over a network. Turning to  FIG. 1   a , one embodiment of a computing device is illustrated that can be used to practice aspects of the preferred embodiment. In  FIG. 1   a , a processor  1 , such as a microprocessor, is used to execute software instructions for carrying out the defined steps. The processor receives power from a power supply  17  that also provides power to the other components as necessary. The processor  1  communicates using a data bus  5  that is typically 16 or 32 bits wide (e.g., in parallel). The data bus  5  is used to convey data and program instructions, typically, between the processor and memory. In the present embodiment, memory can be considered primary memory  2  that is RAM or other forms which retain the contents only during operation, or it may be non-volatile  3 , such as ROM, EPROM, EEPROM, FLASH, or other types of memory that retain the memory contents at all times. The memory could also be secondary memory  4 , such as disk storage, that stores large amount of data. In some embodiments, the disk storage may communicate with the processor using an I/O bus  6  instead or a dedicated bus (not shown). The secondary memory may be a floppy disk, hard disk, compact disk, DVD, or any other type of mass storage type known to those skilled in the computer arts.  
         [0017]     The processor  1  also communicates with various peripherals or external devices using an I/O bus  6 . In the present embodiment, a peripheral I/O controller  7  is used to provide standard interfaces, such as RS-232, RS422, DIN, USB, or other interfaces as appropriate to interface various input/output devices. Typical input/output devices include local printers  18 , a monitor  8 , a keyboard  9 , and a mouse  10  or other typical pointing devices (e.g., rollerball, trackpad, joystick, etc.).  
         [0018]     The processor  1  typically also communicates using a communications I/O controller  11  with external communication networks, and may use a variety of interfaces such as data communication oriented protocols  12  such as X.25, ISDN, DSL, cable modems, etc. The communications controller  11  may also incorporate a modem (not shown) for interfacing and communicating with a standard telephone line  13 . Finally, the communications I/O controller may incorporate an Ethernet interface  14  for communicating over a LAN. Any of these interfaces may be used to access a wide area network such as the Internet, intranets, LANs, or other data communication facilities.  
         [0019]     Finally, the processor  1  may communicate with a wireless interface  16  that is operatively connected to an antenna  15  for communicating wirelessly with another device, using for example, one of the IEEE 802.11 protocols, 802.15.4 protocol, or a standard 3G wireless telecommunications protocols, such as CDMA2000 1× EV-DO, GPRS, W-CDMA, or other protocol.  
         [0020]     An alternative embodiment of a processing system that may be used is shown in  FIG. 1   b . In this embodiment, a distributed communication and processing architecture is shown involving a server  20  communicating with either a local client computer  26   a  or a remote client computer  26   b . The server  20  typically comprises a processor  21  that communicates with a database  22 , which can be viewed as a form of secondary memory, as well as primary memory  24 . The processor also communicates with external devices using an I/O controller  23  that typically interfaces with a LAN  25 . The LAN may provide local connectivity to a networked printer  28  and the local client computer  26   a . These may be located in the same facility as the server, though not necessarily in the same room. Communication with remote devices typically is accomplished by routing data from the LAN  25  over a communications facility to a wide area network  27 , such as the Internet. A remote client computer  26   b  may execute a web browser, so that the remote client  26   b  may interact with the server as required by transmitted data through the Internet  27 , over the LAN  25 , and to the server  20 .  
         [0021]     Those skilled in the art of data networking will realize that many other alternatives and architectures are possible and can be used to practice the preferred embodiments. The embodiments illustrated in  FIGS. 1   a  and  1   b  can be modified in different ways and be within the scope of the present invention as claimed.  
         [0022]     The preferred embodiments provide for trusted sources to store their recommended programming, which are updated on a periodic basis (e.g., daily, weekly, etc.) depending upon the frequency of new episodes of the recommended programming. An interface is provided that allows the trusted sources to submit their recommendations and reviews, though in other embodiments the system may access commercially-available network sites to obtain the trusted sources&#39; recommendations and reviews. When a customer selects a particular trusted source on their computing device user interface, a request is made to a server or other source that stores recommendation information (such as recommendation indications (ratings, codes, etc.) and reviews) or that is able to access recommendation information from other network sites, and the recommendation information is downloaded to the customer&#39;s computing device.  
         [0023]     An embodiment of network architecture that may be associated with an on-screen program guide with programming recommendations is shown in  FIG. 2 . In  FIG. 2 , a user, customer or subscriber  224  to a service provider  222  comprises a computing device such as, for example, a set top box  206 , a monitor or other display device such as, for example, a television  204 , and an input device such as, for example, a remote controller (remote)  200 . The remote  200  is used to provide selection input, which is received by the set top box  206 . Alternatively, the input could be provided to the set top box  206  in other manners, such as by depressing keys incorporated into the set top box  206 , or by other means as known in the art. The set top box  206  includes an output interface facility that provides video signals to television  204  (in known formats). The set top box  206  also includes a network interface facility that is configured to communicate with the service provider over an access network  212 . The set top box  206  recognizes multiple types of communications channels from the service provider, such as bidirectional data communications, which may be implemented as an Internet Protocol (IP) channel  218 , and multicast/broadcast video communications, which may be implemented as one or more quadrature amplitude modulation (QAM) video channels  214 . The service provider  222  may include one or more video source systems  216  (e.g., a headend) as well as other network elements which provide video content to access network  212 . Service provider  222  may also include a recommended programming system  221 , as further described below  
         [0024]     Although  FIG. 2  illustrates a single video source system  216  and a single subscriber  224 , there are typically numerous subscribers and/or network elements within a system. Thus, although the QAM channel  214  is illustrated as point-to-point, it may actually be a broadcast channel in a point-to-multipoint configuration. The IP channel, however, can be viewed as a point-to-point configuration. The other subscribers and network elements are not shown in  FIG. 2  for clarity reasons.  
         [0025]     The IP channel  218  provides a separate channel for bi-directional communication between the set top box  206  and the service provider. Specifically, the IP channel  218  in this embodiment provides access to the recommended programming system  221 , which is able to provide recommendation information to the set top box  206 . In one embodiment, the set top box  206  overlays the recommendation window on the video data when presenting the video signal to the television, though in other embodiments the recommendation window is combined with the video signal provided by the service provider. Techniques for overlaying or combining windows are known in the art.  
         [0026]     The QAM channel  214  carries video information which originates from video source system  216 . Although the QAM channel is illustrated as a single channel, there are typically multiple channels provided over an access network. Typically, additional equipment is required to multiplex and otherwise process a variety of video channels onto the access network (e.g., modulators, amplifiers) and  FIG. 2  illustrates only a single video source system for purposes of clarity.  
         [0027]     The recommended programming system  221  may be implemented using a recommended programming server  220 , a program data store  230 , and a recommendation processor  228 . The recommended programming server  220  may be implemented to include, for example, a web (HTTP) server or other communications protocol that allows for communications between server  220  and subscribers  224  over access network  212 . The recommended programming server  220  has access to program data storage system  230 , which stores program data, such as program guide information associated with the various programs available over the access network. For example, the system  230  contains information regarding what programs are currently being provided by the video source  216  and at what times. It is presumed that infrastructure is in place (not shown) for automatically updating the system  230  with the appropriate information. Thus, the server  220  can query (or otherwise obtain) information about which specific programs are being provided on the access network. This may include which programs are currently available on which channels. The server  220  may also have an interface  231  to allow a trusted source  232  to enter recommendation information associated with a particular show. In other embodiments, the recommended programming server may be programmed to search or reach out to specified network sites (e.g., websites) to obtain recommendation information from a trusted source. The server  220  may also be connected to recommendation processor  228 , which may be a computer configured to store and process recommendation information from trusted sources. It is to be appreciated that one or more of the recommended programming server  220 , the recommendation processor  228  and the program data storage system  230  may be implemented in the same computer (e.g., as separate processes) or separate computers. The recommendation information associated with programming content can be stored on the recommendation processor  228  and integrated into the data communicated over access network  212  so that viewers or potential viewers of the program would be able to see the trusted sources&#39; review. In such a case, the system  228  provides the review data back to the server  220  which transmits it to the set top box  206  and the set top box displays it onto the video data on the television screen.  
         [0028]     An embodiment of the typical information flow for processing a request for recommendation information of a trusted source is now described in the context of  FIG. 2 . A user has made a selection that allows the user to view an on-screen program guide as such are known in the art to determine programming content that is currently available to the user over access network  212  (and may be available in the future). The user may also make a selection to view recommended programming from one or more trusted sources. This may be accomplished by selecting an icon on the on-screen program guide, by making a selection on the set top box separate from the on-screen program guide, or by indicating in some manner by a user action that the user wishes to see the recommendation information for programming content. The user&#39;s action, which may be performed by a function key (or some other keypad indication) on the remote  200 , indicates a request for recommended programming to the set top box  206 . The set top box ascertains the currently available programming content (and possibly programming content that will be available in the future) and sends a message  210  to the recommended programming server  220  over the IP channel  218  indicating the recommended programming request. The request may include various information, such as a set top box identifier and selection criteria (further described below).  
         [0029]     The server  220  accesses the program data in system  230  to ascertain the available programs (current and in the immediate future). (Alternatively, the data could have been previously stored in the recommended programming server.) The server  220  provides a transmission  208  to the set top box indicating program guide information for the available and upcoming programming content (alternatively, such information could have been provided to set top box  206  previously and stored, such as on a daily basis). The set top box  206  sends message  210  to the server  220 , where message  210  may include selection criteria for the recommendation information (further described below). Server  220  may then send the selection criteria in a request  226  to recommendation processor  228 , which retrieves recommendation information—which may include recommendations as well as reviews from various trusted sources—that are associated with the programming content, for example, using the selection criteria. Alternatively, the message  210  could be sent directly from the set top box  206  to the system  228  where recommendations associated with the programming content can be retrieved. Also alternatively, the recommended programming information could be sent directly from the server  220  to the system  228  without receiving message  210 , where recommendations associated with the programming content can be retrieved.  
         [0030]     This retrieved recommendation information is then provided to the set top box  206  in a transmission  234 , where it may be displayed, for example, as an overlay of a video image generated by the video signal. The retrieved recommendation information may include, for example, identifiers of trusted sources providing recommendations, information describing the programming, recommendation indicators (e.g., ratings, codes, etc.), and reviews by the trusted sources. The retrieved recommendation information may be displayed in various ways, depending on the user interface from which the request was made and/or the selection criteria used. For example, information retrieved from a request for recommendation information for all currently available programming may be displayed as a list of identifiers of trusted sources, and the user may select one or more of the trusted sources to see their associated recommendation information. In another example, where the request is associated with a specific program (for example, selected from the program guide), the retrieved recommendation information may be displayed as a list of identifiers of trusted sources and their associated recommendation information for the specific program. When the recommendation information is displayed, the user may be provided an icon to allow the user to tune the set top box  206  to the recommended programming, or (if equipped with the proper recording equipment, such as a digital video recorder), the user may be provided with an option to record the recommended program at the set top box  206  for playback at the user&#39;s convenience.  
         [0031]     Alternative embodiments to the system described above are possible. For example, in  FIG. 2 , the trusted source recommendation information was provided via the IP channel to the set top box. In other embodiments, the server  220  may provide the information to the video source system  216  which distributes the information in video form (e.g., as a recommendation “window” displaying the recommendation information) as a separate channel on the access network. (This additional channel is not shown in  FIG. 2 ). The user views the recommendation window by having the set top box select the recommendation channel and displaying the results to the user using, for example, picture-in-picture techniques. This allows the recommendation information to be processed as a separate video feed and displayed using the picture-in-picture capabilities in the television or other display device  204 .  
         [0032]     The set top box  206  may record the user&#39;s request for trusted sources&#39; recommendations, and keep a history of the viewer&#39;s actions. This information may be automatically conveyed to the server  220 , or retained in the set top box  206  for future downloading to the server  220 . The usage information in the server may be periodically ‘pulled’ or ‘pushed’ to another computer system that generates periodic bills, in order to properly bill the viewer for such services, if billing is desired. Such information may also be used to determine the preferences of a user so that the recommendations of a trusted source most often selected by a user may be displayed first, or a user may be proactively notified of a preferred trusted source&#39;s recommendations without having to request them.  
         [0033]     Selection criteria may be any information that may be used to select a subset of recommended programming information to provide to a subscriber. For example, in the preferred system, a user may be able to: select one or more particular programs and view any recommendation information for just the selected programs; select a program type (e.g., a genre, such as sitcoms) and view recommendation information for all programs having the program type; select a video channel and view recommendation information for shows on that channel; select a date range and/or time range and view recommendation information for shows within that range; or any combination of the foregoing. The selection criteria may also give an option to provide recommendation information for currently available programs (or programs to be available within a set time frame, such as a day or a week). The selection criteria may be included in the message from set top box  206  to server  220  requesting recommendation information, or may be default or predefined selection criteria (e.g., recommendations for shows available today over access network) that may be stored or used automatically by server  220 .  
         [0034]      FIGS. 3A-3E  are exemplary screenshots of a television or other display device showing the process of obtaining programming recommendations from one or more trusted sources in embodiments of the present invention. In  FIG. 3A  an action by the user such as, for example, pressing a function key on the remote  200  has caused a selection screen  300  comprised of a selection for a channel guide  302  and a selection for recommended programming  304  to be displayed on the screen  300 . The user then chooses the channel guide  302  or the recommended programming  304  (for example, using the remote  200 ). If the channel guide  302  is selected, then the user is provided a screen similar to the exemplary one shown in  FIG. 3B , where the user is provided with information about available channels  306 , available programming  308 , and the time the programming is shown  310 . If the user selects the recommended programming  304  option from  FIG. 3A , a message is sent from the set top box  206  to the server  220  (for example, message  210 ) requesting recommended programming information. The recommended programming server  220  then accesses the system  228  to obtain the recommended programming information using the selection criteria—in this example, the current recommendations for programming available over the access network. The recommended programming information is then transferred from the system  228  to the server  220  and downloaded to the set top box  206 , where it is displayed to the user on the user&#39;s display device  204  (e.g., a television), using a screen similar to the exemplary one shown in  FIG. 3C .  
         [0035]      FIG. 3C  is an exemplary recommended programming screen, which provides a list of trusted sources  312  and each trusted source&#39;s recommended programming  314 . The screen may be scrollable or displayed in more than one page so that a larger number of trusted sources may be displayed. In the embodiment of  FIG. 3C , the user is able to select a particular trusted source&#39;s recommendation, which will cause the screen of  FIG. 3D  to be displayed.  FIG. 3D  is an exemplary screen which indicates which trusted source  316  has been selected along with the show  318  being recommended. This embodiment also allows the user to be informed that the chosen show is currently showing on television channel  2  and that it began at 7:30 p.m. The embodiment of  FIG. 3D  allows the user various options that may be selected using the remote  200 , or by some other means of indicating a preference such as function keys on the set top box  206 . In this embodiment, the user has the option to read the trusted source&#39;s review of the selected show  320 , watch the selected show  322 , or to see additional show times  324 . If, in  FIG. 3D , the user selects the option to see the review  320 , then the user is taken to a screen as is shown in  FIG. 3E . In  FIG. 3E , the user is provided with a review  326  of the selected show by the chosen trusted sources. In this embodiment, the user is provided with an option  328  to go to the show for viewing purposes.  
         [0036]     The embodiment of  FIGS. 2 and 3 A- 3 E is but one example of many different ways that the preferred systems and processes can be implemented. It is to be appreciated that there are several ways that the channel guide may be displayed as well as various ways to make selections that are displayed on the screen and to be made aware of the review. For instance, in one embodiment voice commands rather than a remote may be used to make screen selections and information may be visually displayed on the screen(s) or it may be audible, or combinations thereof. Additionally, although the examples indicate “commercial” trusted sources (e.g., The New York Times), trusted sources may be non-commercial entities or even individuals that provide recommendation information or make such information available—for example, over interface  231 , or over access network  212  (such from a subscriber computing device).  
         [0037]     The preferred embodiments of the system described above may be used to provide a user with recommended programming information as a feature of an interactive program guide or other user interface, as further described in the processes described herein.  FIG. 4  illustrates a process for providing a user with recommended programming information from one or more trusted sources while the user is interacting with an on-screen programming guide. In Step  402  of  FIG. 4 , a recommended programming system is provided where recommended programming information of one or more trusted sources is stored, processed and made available for retrieval. The recommended programming information may be entered by the one or more trusted sources through an interface such as a web interface, or the system may obtain the recommendation information from one or more of the trusted sources from other websites. At Step  404 , the user is provided an interactive programming guide via the computing device and a display device connected thereto, which allows the user to be informed of one or more available programming options, at a request initiated by the user. At Step  406 , the programming recommendation information from the one or more trusted sources is downloaded to the user&#39;s computing device, for example, when such information is selectively chosen by the user. In various embodiments, the recommended programming information may be overlaid over or combined with the video image included in the video signal from the computing device to the display device. The display device may be a television, a monitor, etc.  
         [0038]      FIG. 5  describes a process for a user to access recommended programming information. At Step  502 , a user selects access to recommendations from a user interface provided by a video-receiving computing device (e.g., a set top box) that is connected to a display device (e.g., television). At step  503 , an interface is provided by the computing device that includes identifiers for one or more trusted sources and recommendation information associated with such trusted source. The interface may part of or incorporated into an interactive program guide. At Step  504 , the user selects a desired trusted source from the one or more trusted sources that are made known to the user. At Step  506 , the user is made aware of the recommendation information of the desired trusted source. In one embodiment, the recommendation information may include a review written by the selected trusted source. The user may also be able to make a selection to go directly to a showing of the recommended programming.  
         [0039]      FIG. 6  is another embodiment of a process for providing a user with recommended programming information from one or more trusted sources. In Step  602  of  FIG. 6 , a recommended programming system is provided where recommended programming information of one or more trusted sources is stored, processed and made available to video-receiving computing devices (e.g. set top boxes) attached to the access network and also connected to display devices (e.g. televisions). The recommended programming information includes identifying information about the trusted sources, identifying information of the programming content that a particular trusted source recommends watching, and recommendation indicators (e.g., ratings, codes, etc.). The recommended programming information is updated on a periodic basis to reflect the changing programming content over time. At Step  604 , program guide data about current and upcoming program content is stored on the recommended programming system. At Step  606 , and based upon the program guide data, recommended programming information from the one or more trusted sources is downloaded to one of the video-receiving computing devices attached to the access network. At Step  608 , a user selects to view an interactive programming guide from the computing device. At Step  610 , the user selects a trusted source from the one or more trusted sources made available to the user as part of the interactive programming guide. And, at Step  612 , the programming recommendations of the selected trusted source are displayed on the display device to the user.  
       MODIFICATIONS AND ALTERNATIVE EMBODIMENTS  
       [0040]     Many modifications and other embodiments will come to mind to one skilled in the art having the benefit of the teachings presented in the foregoing descriptions of the preferred embodiments. For instance, the trusted sources and their recommendations may be provided audibly rather than (or in addition to) visually. Accordingly, it should be understood that the invention is not to be limited to the specific embodiments described herein, but rather to the appended claims, and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in an inclusively descriptive sense only and not for purposes of limitation.