PROCESSING MULTIPLE TRIGGERS ASSOCIATED WITH APPLICATIONS INTEGRATED IN AN INTERACTIVE TELEVISION
SYSTEM
CROSS-REFERENCE TO RELATED APPLICATION
This application claims the benefit of U.S. Provisional Patent Application Serial No. 60/267,213, entitled "INTEGRATION OF ELECTRONIC PROGRAMMING GUIDE INTO INTERACTIVE TELEVISION SYSTEM," filed February 7, 2001 , and incorporated herein by reference in its entirety.
TECHNICAL FIELD
This disclosure relates generally to interactive television systems, and in particular but not exclusively, relates to techniques to allow disparate applications to co-exist in an integrated manner in an interactive television system.
BACKGROUND
Internet and television technologies are beginning to converge. In particular, "interactive television" allows users or viewers to access the Internet via their television, typically via a set top box (STB). As the use of interactive television increases, the number of applications made available to users by technology/service providers also increases. For instance electronic programming guides (EPGs) are now quite common. An example of an EPG 100 displayed on a television set 102 is shown in Figure 1. The EPG 100 is typically
overlaid on a display area 104 of the television set 102, sometimes over a current television broadcast.
The EPG 100 can include a grid 106 that displays television program schedules, and sometimes advertisements 108 and 110. An interface or on-screen button 112 to access the Internet may also be available. The EPG 100 can also display content 114 related to a television program, advertisement, Internet web page, and so on. In some implementations, a selection rectangle 116 can be used to select a particular advertisement, a television program from the grid 106, or other element displayed on the EPG 100. For instance, if the advertisement 110 is highlighted by the selection rectangle 116, as shown in Figure 1 , the EPG 100 may show that advertisement's details through the content 114.
One way to invoke or cause the EPG 100 to be displayed on the display area 104 of the television set 102 is for the user to press a "GUIDE" button on a remote control. The user may also press arrow keys on the remote control to invoke elements related to the EPG 100, such as a "browse" mode to scroll through television program listings in the grid 106. Pressing an "INFO" or "OK" button on the remote control may also cause a "flip bar" 118 to be displayed, with the flip bar 118 displaying the current television program's channel number and program title and the current time. Pressing the GUIDE button a second time causes the EPG 100 to disappear in many implementations.
Figure 2 illustrates an example trigger 200 displayed on the display area 104 of the television set 102, with the trigger 200 capable of being provided based on known triggering mechanisms such as by Wink™. The trigger 200 may be embodied through an on-screen indicator, in this example, that indicates the availability of supplemental information related to a current television commercial
(for shoes) 202. Such supplemental information may be presented to the user via connection of the STB to a web page, if the user responds to the trigger 200.
If the user is not a subscriber to a service that provides the EPG 100, then pressing the INFO or OK button on the remote control will be recognized by the STB as a valid response to the trigger 200. Thereafter, the user can view and interact with the supplemental information corresponding to the trigger 200 and to the commercial 202.
However, the providers of the EPG 100 and the trigger 200 are often different companies whose technologies are disparate and not compatible. For instance, if the user was a subscriber to the EPG 100 and pressed the INFO or OK button on the remote control to respond to the trigger 200, then the flip bar 118 of the EPG 100 would be invoked, rather then the supplemental content associated with the trigger 200. If the user presses the up arrow key on the remote control to try to move upwards from one trigger 200 to another (if multiple triggers 200 are displayed), then instead of moving upward to a trigger, the browse mode of the EPG 100 is invoked. In other words, the provider of the EPG 100 often assumes that it is the only application running on the television set 102 and keeps control over the functions of the remote control, and so does not surrender that control to another provider's applications.
One technique to address this dilemma is to provide a new button on the remote control that is specifically dedicated for responding to triggers 200 and that does not invoke the EPG 100 when pressed. However, this is costly and does not scale well. Adding new buttons makes all existing remote controls, currently in use, obsolete. Users will have to buy new remote controls in order to have the added functionality provided by the new button, and
manufacturers will have to redesign the physical layout and underlying hardware/software of their remote controls to accommodate the new button. Moreover, remote control designs will have to be constantly changed if more dedicated buttons are needed for other future interactive television applications, and users will constantly have to buy these upgraded remote controls. The increased crowding of buttons on the remote controls, plus the costs in constant redesign and consumer purchases, make this solution impractical.
An additional underlying problem with these solutions is that once users have entered a mode where they can interact with the trigger 200, such as via pressing the dedicated button, it is difficult to re-access the EPG 100. The user will typically have to navigate through various menus so as to find and invoke the EPG 100, and cannot simply press the GUIDE button or other button, since the application that provided the trigger 200 has control over and is recognized by the interface. A pressing of the GUIDE button or other button (with the intent of re-accessing the EPG 100) will either be unrecognized or will invoke some other functionality associated with the trigger 200, which is not what the user wishes to do in this particular situation. In fact, the extra navigation through menus required of the user to navigate from one application to another can become an exceedingly frustrating and non-user-friendly experience, especially with users who are unfamiliar with the interface.
Another technique that can be used to address this dilemma is to design the EPG 100 to recognize the trigger 200 when it is sent, and then provide an interface on the EPG 100 that the user can select with the selection rectangle 116, if the user wishes to interact with the trigger 200. However, this is also an impractical solution since the provider of the EPG 100 will need to redesign its
technology to recognize the presence of the triggers 200 and to display an operational interface on the EPG 100 to allow the user to interact with the trigger 200. In other words, the triggers 200 and the EPG 100 will each have to be designed so that they "know about" each other and can interact with one another. This is not practical if there are many disparate applications from different providers that need to be integrated in an EPG interface for an interactive television system, and also, the EPG interface will also have to be constantly redesigned as additional applications are integrated.
BRIEF DESCRIPTION OF THE DRAWINGS
Non-limiting and non-exhaustive embodiments of the present invention are described with reference to the following figures, wherein like reference numerals refer to like parts throughout the various views unless otherwise specified.
Figure 1 illustrates an example electronic program guide (EPG) displayed on a television set.
Figure 2 illustrates an example trigger displayed on the television set of Figure 1.
Figure 3 illustrates an example interactive video casting system that can implement an embodiment of the invention.
Figure 4 illustrates an example client terminal and user input device that can be used for the interactive video casting system of Figure 3 in accordance with an embodiment of the invention.
Figures 5-8 are example television screen shots illustrating operation of various embodiments of the invention.
Figure 9 is a flowchart illustrating operation of an embodiment of the invention.
DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS
Embodiments of techniques to allow disparate applications, such as an electronic programming guide (EPG), email, instant messaging, videophone, interactive television program triggers, and so on, to operate and to co-exist in an integrated manner in an interactive television system are described herein. In the following description, numerous specific details are provided, such as example layouts of user interfaces on a television screen, to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention 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 invention.
Reference throughout this specification to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. 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 particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
As an overview, an embodiment of the invention provides software, such as at a set top box (STB), at the shell level to process and present multiple triggers. Events are all treated as triggers associated with applications integrated in an interactive
television system. For instance, invocation of an EPG application is treated as an event. Incoming email, videophone calls, instant messages (IM), and other events associated with email, videophone, and IM applications, respectively, are all treated as triggers. Television program triggers, such as Advanced Television Enhancement Forum (ATVEF) triggers and Wink™ triggers (see, e.g., Figure 2), are also detected and processed in a similar manner as the other triggers. An embodiment of the software shell detects such multiple triggers, presents them to a viewer, allows the viewer to use a selection tool to navigate to any one of the displayed triggers, and recognizes the viewer's selection of a trigger and invokes an application corresponding to the selected trigger and removes control of non-relevant applications.
In effect, by treating all events as triggers, an embodiment of the invention prevents any particular application from assuming all control of the interface and/or remote control buttons. An application assumes control of the interface and/or remote control buttons (as allowed by the software) only when a trigger corresponding to that application is selected by the viewer. This allows the applications to co-exist in an operational manner without each application having to be specifically designed to accommodate/recognize each other. To the viewer, a much simpler interface is provided since the viewer does not need to navigate through numerous menus to locate/return to a particular application. Moreover, when the viewer presses a button on the remote control, an embodiment of the invention ensures that the pressed button is invoking an application that is desired by the viewer, rather than another (undesired) application that would otherwise have recognized that pressed button.
The term "trigger" as used herein is intended to broadly cover not only ATVEF or Wink™ triggers or other television program triggers as understood in the industry, but also manifestations of other types of events that announce the availability of applications, such as incoming emails, IMs, videophone calls, audio telephone calls, pages, and so on. These are just a few examples of synchronous triggers (such as ATVEF triggers, IMs, videophone calls that have a "real-time" component) and asynchronous triggers (such as emails or facsimiles, which are persistent since they remain at least until they are read). Moreover, triggers may be embodied and/or presented as data/operations invisible to a viewer or visibly manifested through an on-screen indicator, according to various embodiments.
Figure 3 shows an example of an interactive video casting system 300 for distributing Internet content in addition to television content. The interactive video casting system 300 can comprise an interactive television system, as one example of a system that can implement an embodiment of the invention to process multiple triggers associated with applications integrated therein.
In accordance with an embodiment of the present invention, the system 300 can be integrated with a cable television distribution system. The system 300 includes an Internet 302, a plurality of content sources 304, a plurality of distribution centers or broadcast centers (depicted as head-ends or H/Es 306), and a plurality of client terminals 308 (depicted as set top boxes). In addition, a content source 304 is depicted as receiving data from data feeds 312, advertisement servers 314, image sources 316, and streaming video sources 318.
The plurality of content sources 304 is coupled to the Internet 302. For example, a content source 304 may comprise a web site portal such as Go2Net.com™, or a news web site such as CNN.com™, or other types of sources, including web servers and the web content (such as web pages) stored in the web servers. Each content source 304 may have various data feeds 312, servers 314, and sources 316/318 coupled to it.
For example, news or stock quote feeds 312 may be fed into the content source 304. Servers 314 may provide advertisements for insertion into multimedia content delivered by the content source 304. Sources 316/318 may provide images 316, streaming video 318, and other content to the content source 304. Various other feeds, servers and sources may also be coupled to the content source 304 of Figure 3.
The Internet 302 comprises a network of networks and is well known in the art. Communications over the Internet 302 can be accomplished using standard protocols such as transmission control protocol/internet protocol (TCP/IP), hypertext transfer protocol (HTTP), file transfer protocol (FTP), or other protocols. The Internet 302 is coupled to the plurality of distribution centers 306, and each distribution center 306 is in turn coupled to a plurality of client terminals 308, which may comprise a set top box, a PC, an interactive television set, or another type of communication device or display device. The client terminals 308 may include or be coupled to a machine-readable medium that stores software or other machine- readable instructions to process and present triggers in accordance with an embodiment of the invention.
In alternative or in addition to the Internet 302 being used to distribute multimedia content from the content sources 304 to distribution centers 306, communications channels or networks 320
apart from the Internet 302 may couple one or more content sources 304 to one or more distribution centers 306. A first dashed line 320 in Figure 3 illustrates one example of such an alternate path for communications. Alternately or additionally, peering connections may exist between distribution centers 306. A second dashed line 322 in Figure 3 illustrates one example of such peering. Other configurations are also possible and are included within the scope of the present invention.
Caches 310 may be provided at (or coupled to) the distribution centers 306. Such caches 310 may be used to increase the performance in the delivery of multimedia content to the client terminals 308. For example, larger files for video and other high bandwidth content may be stored in such caches 310, which may be closer to the client terminals 308 than to the content sources 304. In addition, reliability and guaranteed bandwidth may be provided because the Internet 302 is not in-between such caches 310 and the client terminals 308.
In an embodiment, servers may be present in the distribution centers 306, with such servers including the caches 310. Alternatively or in addition, these servers may be located remotely from but still communicatively coupled to the distribution centers 306, such as in the Internet 302. In operation according to one embodiment, some of these servers may provide email alerts, videophone alerts, or other such trigger information to the client terminals 308 via a Data Over Cable Service Interface Specifications (DOCSIS) channel or other suitable communication path.
In accordance with one embodiment of the invention, different or multiple portals may be used to access the information provided through the interactive video casting system of Figure 3, based on the type of client terminal being used by the end user. That
is, for example, a television portal may be provided for an end user that uses a television set to access the information. A PC portal may be provided for an end user that uses a PC to access the information. Portals can be provided for end users that use cellular telephones, PDAs, audio devices, and the like to access the interactive video casting system 300 of Figure 3.
Such portals may be provided in several possible ways. In one embodiment, the client terminal (e.g., the end user's display device or audio device) can be suitably configured with an adapter that includes hardware and software. The adapter converts the television signals, the Internet or web page content, or other information provided from the interactive video casting system into a digitized format or other format that is compatible with the operational features of the client terminal.
In another embodiment, a cable service provider or multiple system operator (MSO) can deliver signals having different formats to the various client terminals, with the client terminals not necessarily having special adapters. Therefore, as an example, the cable service provider or other party can generate/deliver information (e.g., television programming, web page content, and the like) having a format that is compatible for end users that receive the information via television sets. The cable service provider or other party can also generate/deliver the same information (e.g., simultaneously with the television portal on the same communication link, separately on a different communication link, on-demand independent of the television portal, and the like) using a format that is compatible with end users that receive the information via PCs, PDAs, cellular telephones, and the like. Thus, the term "interactive video casting system" is used to describe generally a system that can deliver video information over any network and any network-compatible device by
broadcasting, multicasting, or unicasting. An "interactive television system" is one type of or one means of access to an "interactive video casting system."
Alternatively or in addition to a cable distribution system, a satellite television (TV) delivery system may be implemented. A satellite TV delivery system may comprise a direct broadcast satellite (DBS) system. A DBS system may comprise a small 18-inch satellite dish (which is an antenna for receiving a satellite broadcast signal); a digital integrated receiver/decoder (IRD), which separates each channel, and decompresses and translates the digital signal so a television can show it; and a remote control. Programming for a DBS system may be distributed, for example, by multiple high-power satellites in geosynchronous orbit, each with multiple transponders. Compression (e.g., MPEG) is used to increase the amount of programming that can be transmitted in the available bandwidth.
A digital broadcast center (e.g., analogous to the headend 306) may be used to gather programming content, ensure its digital quality, and transmit the signal up to the satellites. Programming may come to the broadcast center from content providers (TBS™, HBO™, CNN™, ESPN™, etc.) via satellite, fiber optic cable, and/or special digital tape. Satellite-delivered programming is typically immediately digitized, encrypted and uplinked to the orbiting satellites. The satellites retransmit the signal back down to every earth-station-or, in other words, every compatible DBS system receiver dish at customers' homes and businesses.
Some programs may be recorded on digital videotape in the broadcast center to be broadcast later. Before any recorded programs are viewed by customers, technicians may use post- production equipment to view and analyze each tape to ensure audio and video quality. Tapes may then be loaded into a robotic tape
handling systems, and playback may be triggered by a computerized signal sent from a broadcast automation system. Back-up videotape playback equipment may ensure uninterrupted transmission at all times.
Figure 4 illustrates an example client terminal 308 (such as a STB) and a user input device 400 that can be used for the interactive video casting system 300 of Figure 3 in accordance with an embodiment of the invention. The client terminal 308 includes a network interface 402 to communicate with the Internet 302, distribution centers 306, servers, or other components of the system 300. In one embodiment, the network interface 402 includes a cable modem and can communicate with the distribution centers 306 and the Internet 302 via a DOCSIS channel.
A processor 404 is coupled to the network interface 402 and serves to control operation of the client terminal 308. Software or other machine-readable instructions (operating at the shell level in accordance with an embodiment of the invention), which work in conjunction with the processor 404 to process a plurality of different types of events as a corresponding plurality of triggers, can be stored in a machine-readable storage medium 406. The storage medium 406 can also locally store applications such as an email application, instant message (IM) application, EPG application, videophone application, applications to process television program triggers (e.g., ATVEF or Wink™ triggers), and so on. Such applications, if invoked, can thus be run locally from the client terminal 308, and can be associated with the events (e.g., an email application is associated with a received email event).
The client terminal 308 includes a presentation interface, such as a display interface 408, coupled to the processor 404 to present triggers. For instance, the display interface 408 can
be coupled to the television 102, and with the cooperation of the processor 404, instantiate a trigger on the display area 104 as a visual indicator to indicate presence of an event corresponding to that trigger. For example, in response to a new email, the processor 404 can control the display interface 408 to render an email alert icon on the display area 104. In another embodiment, audio alerts may be used as the instantiation of a trigger and its event.
The client terminal 308 includes miscellaneous components 410 for other operational features, such as power supply, drivers, and so on. A transceiver 412 allows two-way (or oneway) communication between the client terminal 308 and the user input device 400, via a wireless link 414. A bus 416 couples together the various components of the client terminal 308.
One embodiment of the user input device 400 includes standard volume controls 416 and channel controls 418. The user input device 400 may also include a MENU button 420 and a CLEAR button 422. A GUIDE button 424, if activated by pressing, can be used to invoke or "bring up" the EPG 100 on the display area 104 of the television set 102.
An INFO button 426, if activated as will be described later below, is capable to invoke a plurality of applications. For instance, if the EPG 100 has control, pressing the INFO button 426 can bring up programming information as part of an EPG application. In another situation, pressing the INFO button 426 when an onscreen indicator (such as the television program trigger 200 of Figure 2) is present results in the display of supplemental content or otherwise causes the presentation of additional information about an item currently pointed to by the user input device 400. For instance, in the case of full-screen television, a television image is implicitly pointed to. Thus, in accordance with an embodiment of the invention,
this user action directed to this particular application (e.g., an application to present supplemental content related to a television program trigger) is applied to that particular application, rather than to a different application (such as to an EPG application).
Arrow buttons 428 can be used to scroll through and select displayed triggers, as will be explained later below, with the scrolling capable of being performed after control by an undesired application (such as an EPG application) is removed. This allows the user to move/scroll from one displayed trigger to another, without unintentionally invoking a feature of a non-relevant application. In an embodiment, control by any current application is removed by the processor 404 when a new trigger is instantiated or its corresponding event arrives. In another embodiment, control by any current application is removed by the processor 404 when the user actually presses the arrow buttons 428 to move (e.g., via a selection tool such as a selection rectangle) to a desired displayed trigger.
An OK button 430 may be pressed to confirm a selection from one of the arrow buttons 428, thereby invoking an application corresponding to the selection. If an EPG application is currently in control, pressing the OK button 430 brings up the flip bar 118 of Figure 1 in one embodiment. It is to be appreciated that the various buttons (and their labels) shown in the embodiment of the user input device 400 of Figure 4 are merely illustrative and non- exhaustive. Various other buttons may be present or positioned differently in other embodiments of the user input device 400. What is notable, however, is that an embodiment of the invention recognizes or correlates the application to which a particular button is directed when pressed, and applies that user action to that particular application, instead of to another application. This creates an improved and more user-friendly/seamless experience for the user,
since the user not have to make mental mode switches when navigating through the interactive service--a single button on the user input device 400 can be used to invoke multiple applications (or features thereof), based on which application is desired by the user and which application has been given control.
Figures 5-8 are example television screen shots illustrating operation of various embodiments of the invention, including a user interface. It is to be appreciated that these screens shots are merely illustrative of layouts, triggers, graphics, television programs, or other content that can be displayed.
Beginning in Figure 5, a television program, such as the television commercial 202, is displayed in the display area 104 of the television set 102 (e.g., "full-screen television"). At this time, the software of the client terminal 308 is monitoring for events that may arrive, such as in-band or out-of-band television program triggers, email or videophone notifications from a server, and other events. In one embodiment, some of these events may be sent to the client terminal 308 from a distribution center 306 (or a server coupled thereto) via the DOCSIS channel.
If one or more events are detected by the client terminal 308, then software of the client terminal processes such events as different triggers, and presents at least one of these triggers to the user. In an embodiment, this presentation of triggers include instantiating the trigger(s) as a visual indicator to indicate presence of an event corresponding to that trigger. For instance in Figure 6, a plurality of triggers corresponding to types of events, with each type of event being associated with a particular application, are displayed in the display area 104 of the television set 102.
A BROWSE trigger 602 allows the user to invoke an EPG application. A FLIP trigger 604 allows the user to invoke the flip
bar 118 of Figure 1. A videophone trigger 606 indicates that a videophone call has arrived. An email trigger 608 indicates arrival of a new email. A television program trigger 612 indicates availability of supplemental content related to the television commercial 202. In one embodiment, at least some of the triggers may include an indicator to indicate the user to whom the trigger is directed (e.g., the email trigger 608 may be accompanied by an "EMAIL FOR JOHN" visual indicator).
While Figure 6 illustrates an embodiment where each event has the ability to cause the interface to render a unique trigger, a trigger may be presented by an embodiment that indicates that other triggers are available to view and select. This "trigger indicator trigger," if selected, allows the viewer to view and act on any available triggers. When in that view, viewers may be offered an exit to return them from whence they came. The various triggers can be universally selectable and actionable in one embodiment.
A selection tool 610 of the user interface can be used to select any of the presented triggers. In one embodiment, the selection tool 610 can comprise a selection rectangle that can be moved across the display area 104 via use of the arrow buttons 428 of the user input device 400. In Figure 6, the user has navigated to the email trigger 608 (or the selection tool 610 may be set to that position by default). A first user action comprising a selection of the email trigger 608 (such as via pressing the OK button 430 of the user input device) invokes the email application and removes control by other applications (e.g., deactivates the EPG application or other application). A mentioned above, removal of this existing control may occur if any of the triggers are presented and/or arrive (and then control is granted to an application corresponding to the selected trigger), or removal of control by a current application may occur
when the user uses the arrow buttons 430 to scroll through the triggers to select one of them.
Figure 7 illustrates an embodiment of an email application 700 if the email trigger 608 is selected via the selection tool 610. A control tool 702 is invoked for the application 700, where user action directed to the application 700 (such as navigation via the arrow button 428 to SEND the email) is correlated by the software to that application and applied to that application by the control tool 702 (e.g., when the user uses the arrow button 428 and the OK button 430 to send the email, the email is sent, rather than invoking an EPG element).
Navigating to and pressing an EXIT button 704 returns the user to the user interface of Figure 6 or to some other on-screen display. In effect, pressing the EXIT button 704 and/or subsequent selection of another presented trigger via a second user action, in one embodiment, removes control from the invoked email application 700, and invokes another application.
It is to be appreciated that the email application 700 depicted in Figure 7 is just one example of an application that can be invoked via selection of a presented trigger. Other applications, such as an EPG application similar to that shown in Figure 1 can also be invoked via selection of the browse trigger 602 and/or activation of the GUIDE button 424 on the user input device 400. Thus, one of the types of events that can be processed and presented as a trigger includes invocation of an EPG application (e.g., the FLIP trigger 604 and the BROWSE trigger 602).
Figure 8 illustrates additional features of the user interface in accordance with an embodiment of the invention. The depiction in Figure 8 can be provided by a service provider of the interactive video casting system 300, where a ticker menu 800 is
positioned adjacent to the display area 104 to display a plurality of different viewer options. For instance, the ticker menu can display SPORTS, NEWS, WEATHER, and other viewer options. If selected, these viewer options tune the client terminal 308 to a television channel, synthetic interactive channel, Internet web page, or other location where content of interest to the user may be found.
A view screen 802 is positioned within the display area 104 to display a video program (or other content) and is sized to occupy a portion of the display area 104. Selection of at least one of the presented triggers 602, 604, 606, 608, or 612 or selection of any one of the viewer options from the ticker menu 800 results in a change of the content displayed in the view screen 802. For instance, the arrow buttons 428 can be used to navigate a selection tool 804 to the WEATHER option. If selected via the OK button 430, weather information is displayed in the view screen 802.
As shown, the triggers 602, 604, 606, 608, or 612 may be presented along with the ticker menu 800 if events corresponding to those triggers are received by the client terminal 308. The selection tool 804 can be used in a manner such as that described above to invoke applications corresponding to these triggers and to remove control from the ticker menu 800 and its application. For example, the BROWSE trigger 602 can be selected to return to an EPG application. Alternatively or in addition, a CLOSE button 806 may be selection to deactivate the application shown in Figure 8.
Moreover, the region(s) where the triggers are presented on the user interface of Figures 6 and 8, for instance, can be managed to optimize the appeal, convenience, operation, etc. of the user interface. Creating and managing such a region to optimize the presentation and location of the instantiated triggers adds value,
instead of allowing the myriad of triggers to be placed in any which way.
Figures 5 and 8 illustrate example scenarios when triggers may be presented (e.g., full screen television with no interactive content visible and an application by a cable service provider, such as the ticker menu 800, is in control, respectively). Another (third) scenario in which an embodiment of the invention may be implemented is when a third-party application in control, such as when a web page is displayed by a browser.
This third scenario considers the following issues. In the first two scenarios, the user interface provided by the cable service provider has control and can decide where to route triggers (see, e.g., Figures 5-6), or includes the triggers in the user interface of the application (see, e.g., Figure 8). In the third scenario, it is desirable to avoid requiring every application to have explicit knowledge of the multiple-trigger service/feature provided via the software at the shell level. That is, in many instances, web sites may not use the templates for displaying triggers that are provided by the service provider.
In such situations, an embodiment provides a trigger indicator or all of the triggers can be overlaid on the web page. The presented triggers are not selectable in such an embodiment because they are not part of the web page. The triggers can be accessed or otherwise selected by several methods. A first example method is to provide the trigger with layer control and force the user to take an action (e.g., select a trigger or dismiss control). A second example method is to allow the user to activate the trigger layer (e.g., the triggers overlaid on the web page) by an explicit user action, such as by pressing the MENU button 420 and including the triggers (or the trigger layer) in the menu application.
Various enhancements can be made to the presentation of triggers. In one embodiment, presentation of the triggers involves polling a server by the client terminal 308 to determine if a new event is present (such as new email). If the new event is present at the server, the client terminal 308 pulls the event (or a trigger corresponding to that event) from the server and presents that trigger.
In another embodiment, the server pushes the trigger and/or event to the client terminal 308 if a new event corresponding to that trigger is present at the server. In yet other embodiments, triggers remain displayed for a period of time, and are afterwards removed from presentation (e.g., the triggers are "timed out"). Active triggers may then be re-presented in response to arrival or reception of new triggers. Alternatively or in addition in an embodiment, once triggers are hidden (by time out or explicitly by the user) in a full screen television situation where no interactive content is visible on the display area 104, the triggers can become visible when a new trigger arrives, or if the user explicitly asks for the triggers to be made visible, such as by pressing the OK button 430 during full screen television.
Figure 9 is a flowchart 900 illustrating operation of an embodiment of the invention. Elements of the flowchart 900 can be embodied in software or other machine-readable instructions stored in a machine-readable medium. In one embodiment, this machine- readable medium can comprise the storage medium 406 of the client terminal 308. In another embodiment, this machine-readable medium can be located remotely from the client terminal 308.
Beginning at a block 902, events are received or arrive at the client terminal 308. A mentioned above, the received events may be pushed or pulled from a server, as with email. For television program triggers, the events/triggers may come in-band or out-of-
band. For an invoked EPG application, pressing the GUIDE button 424 can call up elements of the EPG 100 from a local storage unit. Next at a block 904, the events are processed by the processor 404 as triggers, if generation of triggers is applicable. With this treatment at the block 904, triggers corresponding to disparate application types (such as email, videophone, and so on) are managed at the shell level so that the applications do not need to know about each other — the shell receives the events and classifies them as triggers.
If the trigger is determined to be a new trigger or if the user asks for the display/presentation of triggers at a decision block 905, then, at a block 906, the shell presents the triggers (corresponding to the application types) to indicate availability of their applications, and the user can choose among the triggers. This activity at the block 906 can include making the new trigger or all triggers visible. If at the decision block 905, however, the trigger is not a new trigger and/or the user does not ask for the display of the trigger, then the trigger is consumed by the currently active application at a block 903. The process then returns to the block 902 to receive events.
At the block 906, the triggers are presented, such as shown in Figure 6 for active triggers, as well as BROWSE and FLIP triggers 602 and 604 to allow the user to invoke an EPG application. If the user activates one of the presented triggers at a block 907, then the process moves to a block 908. Otherwise, the process returns to the block 902 to receive events.
At the block 908, control by a current application is removed, and an application corresponding to a user-selected trigger is invoked at a block 910. As described above, removal of control may occur in response to user selection of a trigger, or removal may occur once the triggers are presented at the block 906. Invocation of
the trigger-specific application at the block 910 includes making that application active.
At a block 912, user action directed to the invoked application is applied to that invoked application. If the user exits or selects another trigger at a decision block 914, then the flowchart 900 repeats at the block 908 to remove control by the current application. If the user does not exit or select another trigger at the decision block 914, then control remains with the currently invoked application at the block 912.
The above description of illustrated embodiments of the invention, including what is described in the Abstract, is not intended to be exhaustive or to limit the invention to the precise forms disclosed. While specific embodiments of, and examples for, the invention are described herein for illustrative purposes, various equivalent modifications are possible within the scope of the invention and can be made without deviating from the spirit and scope of the invention.
These modifications can be made to the invention in light of the above detailed description. The terms used in the following claims should not be construed to limit the invention to the specific embodiments disclosed in the specification and the claims. Rather, the scope of the invention is to be determined entirely by the following claims, which are to be construed in accordance with established doctrines of claim interpretation.