U.S. patent application number 13/099647 was filed with the patent office on 2011-08-25 for interactive television program guide system that serves as a portal.
This patent application is currently assigned to UNITED VIDEO PROPERTIES, INC.. Invention is credited to Kevin B. Easterbrook, Michael D. Ellis, Joel G. Hassell, Edward B. Knudson, William L. Thomas.
Application Number | 20110209180 13/099647 |
Document ID | / |
Family ID | 26787992 |
Filed Date | 2011-08-25 |
United States Patent
Application |
20110209180 |
Kind Code |
A1 |
Ellis; Michael D. ; et
al. |
August 25, 2011 |
INTERACTIVE TELEVISION PROGRAM GUIDE SYSTEM THAT SERVES AS A
PORTAL
Abstract
A system is provided in which an interactive television program
guide application and non-program-guide applications are at least
partially implemented on user television equipment. A program guide
program application interface is provided that is used to maintain
a consistent user interface between the program guide application
and the non-program-guide applications. Non-program-guide
applications may be launched by the program guide application. The
user may select certain non-program-guide applications as favorites
and may set parental controls for certain non-program-guide
applications. The program guide application may run in the
background while a non-program-guide application operates. While
the non-program-guide application operates, the program guide may
check for events that require immediate attention. When such an
event is detected, operation of the non-program-guide application
may be suspended and the user may be asked whether the detected
event should take place or whether operation of the
non-program-guide application should be resumed. The applications
may be located at a remote location such as on a server at a cable
system headend or on a server on the Internet. The program
application interface may perform authentication and access rights
determination functions. Reminders may be set for the content of
non-program-guide applications.
Inventors: |
Ellis; Michael D.; (Boulder,
CO) ; Thomas; William L.; (Bixby, OK) ;
Knudson; Edward B.; (Littleton, CO) ; Hassell; Joel
G.; (Arvada, CO) ; Easterbrook; Kevin B.;
(Monument, CO) |
Assignee: |
UNITED VIDEO PROPERTIES,
INC.
Santa Clara
CA
|
Family ID: |
26787992 |
Appl. No.: |
13/099647 |
Filed: |
May 3, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10925892 |
Aug 23, 2004 |
|
|
|
13099647 |
|
|
|
|
09346134 |
Jul 16, 1999 |
|
|
|
10925892 |
|
|
|
|
60093865 |
Jul 23, 1998 |
|
|
|
Current U.S.
Class: |
725/42 ; 725/39;
725/51 |
Current CPC
Class: |
H04N 5/44543 20130101;
H04N 21/4431 20130101; H04N 21/4821 20130101; H04N 21/47202
20130101; H04N 21/8173 20130101; H04N 5/60 20130101; H04N 21/47815
20130101; H04N 21/812 20130101; H04N 21/4725 20130101; H04N 21/4622
20130101; H04N 21/4782 20130101; H04N 21/47 20130101 |
Class at
Publication: |
725/42 ; 725/39;
725/51 |
International
Class: |
H04N 5/445 20110101
H04N005/445 |
Claims
1-126. (canceled)
127. A method for launching an interactive application on a user
equipment device, the method comprising: displaying, using a local
application implemented by the user equipment device, an indicator
associated with the interactive application, wherein the
interactive application includes interactive content, and wherein
source code of the interactive application is received from a
remote server; receiving, with the local application, a user
selection of the indicator; in response receiving the user
selection, launching, using the local application, the interactive
application associated with the indicator according to the source
code; and accessing, by the interactive application, a function of
the local application using an application program interface (API)
of the local application.
128. The method of claim 127, wherein the local application is a
program guide application and the interactive application is a
non-guide application.
129. The method of claim 127, wherein the function of the local
application includes on-screen display and navigation features.
130. The method of claim 127 further comprising testing the code
corresponding to the interactive application to check whether the
interactive application can access the function of the local
application.
131. The method of claim 127, wherein the function of the local
application includes at least one of tuning to a channel of the
user equipment device and program related functionality.
132. The method of claim 127, wherein the interactive application
includes an advertisement.
133. The method of claim 127 further comprising: while the
interactive application is running, receiving user input with the
local application; communicating the received user input to the
interactive application; and executing a function of the
interactive application based on the user input communicated to the
interactive application.
134. The method of claim 127, wherein the local application
includes a web browser application, and wherein the interactive
application is launched as a web page of the web browser
application.
135. The method of claim 127, wherein the source code includes
functions of the API of the local application.
136. The method of claim 127 further comprising: storing the source
code of the interactive application in a storage device of the user
equipment device; and retrieving the source code of the interactive
application from the storage device to launch the interactive
application on the user equipment device responsive to the user
selection.
137. A system for launching an interactive application on a user
equipment device, the system comprising: control circuitry
configured to: display, using a local application implemented by
the user equipment device, an indicator associated with the
interactive application, wherein the interactive application
includes interactive content, and wherein source code of the
interactive application is received from a remote server; receive,
with the local application, a user selection of the indicator; in
response receiving the user selection, launch, using the local
application, the interactive application associated with the
indicator according to the source code; and access, by the
interactive application, a function of the local application using
an application program interface (API) of the local
application.
138. The system of claim 137, wherein the local application is a
program guide application and the interactive application is a
non-guide application.
139. The system of claim 137, wherein the function of the local
application includes on-screen display and navigation features.
140. The system of claim 137 wherein the control circuitry is
further configured to test the code corresponding to the
interactive application to check whether the interactive
application can access the function of the local application.
141. The system of claim 137, wherein the function of the local
application includes at least one of tuning to a channel of the
user equipment device and program related functionality.
142. The system of claim 137, wherein the interactive application
includes an advertisement.
143. The system of claim 137 wherein the control circuitry is
further configured to: while the interactive application is
running, receive user input with the local application; communicate
the received user input to the interactive application; and execute
a function of the interactive application based on the user input
communicated to the interactive application.
144. The system of claim 137, wherein the local application
includes a web browser application, and wherein the interactive
application is launched as a web page of the web browser
application.
145. The system of claim 137, wherein the source code includes
functions of the API of the local application.
146. The system of claim 137 wherein the control circuitry is
further configured to: store the source code of the interactive
application in a storage device of the user equipment device; and
retrieve the source code of the interactive application from the
storage device to launch the interactive application on the user
equipment device responsive to the user selection.
Description
[0001] This application claims the benefit of U.S. provisional
application No. 60/093,865, filed Jul. 23, 1998.
BACKGROUND OF THE INVENTION
[0002] This invention relates to interactive television program
guide systems. More particularly, this invention relates to
interactive television program guide systems having a program guide
application that serves as a portal for other applications.
[0003] Interactive television program guides are well known. Such
guides, which are typically implemented on set-top boxes, allow
users to view television program listings on their home
televisions. Typical program guides allow users to view information
for television programs and channels and audio programs and
channels. For example, a program guide may provide information on
regular television channels, premium television channels,
pay-per-view television channels, and music channels. A variety of
display formats are typically supported. For example, program
listings may be organized by time, by channel, and by category
(sports, children, comedy, movies, etc.).
[0004] Future set-top box systems may include access to services.
that are rarely or never provided by current program guides, such
as video-on-demand, home shopping, Internet web browsing,
electronic mail, banking, enhanced television (interactive
programs), data services, and wagering services.
[0005] In currently envisioned systems each of these
non-program-guide services would be provided as a separate
application loaded into the same set-top-box as the program guide.
A menu structure or other common interface might be provided to
allow the user to launch a given one of the applications. However,
there would be no commonality between the user interfaces provided
by the program guide application and non-program guide
applications. This could lead to user confusion, particularly with
users who are not necessarily computer literate. Overlap between
applications might not be exploited and code and data might be
duplicated among the applications.
[0006] It is therefore an object of the present invention to
provide a program guide system in which an interactive television
program guide application has the capability to serve as a portal
for other applications. By acting as a portal, the program guide
application may ensure a common user interface, may eliminate
resource contention, and may reduce the amount of code and data
required by each application.
[0007] It is also an object of the present invention to provide
ways in which to facilitate the use of multiple applications such
as a program guide application and non-program-guide
applications.
SUMMARY OF THE INVENTION
[0008] These and other objects of the invention are accomplished in
accordance with the principles of the present invention by
providing an interactive television program guide system having an
interactive television program guide application that serves as a
portal for other applications. The interactive television program
guide application and other applications may be implemented on any
suitable platform. One suitable platform is user television
equipment that is based on a set-top box or that is based on a
device that incorporates set-top box functions such as an advanced
digital television receiver. Another suitable platform involves a
client-server architecture based on a server and user television
equipment. The server, which may be located at a cable system
headend or other suitable remote location, operates in cooperation
with the user television equipment. With such client-server
arrangements, interactive program guides and other applications
that are implemented on the platform are partially implemented on
the user television equipment and partially on the server, rather
than being implemented entirely on the set-top box. For example,
program guide functions related to displaying menu screens may be
implemented at the user television equipment, whereas functions
related to maintaining the program guide database or related to
video-on-demand features may be implemented on the server.
[0009] An application program interface (API) for the program guide
is provided. The application program interface may allow
non-program-guide applications to access program guide functions.
The API may also coordinate access to platform resources (e.g.,
set-top box resources and/or server resources) such as on-screen
display resources, remote control key resources, set-top box
front-panel resources, communications channel resources, memory
function resources, etc. by the program guide and the
non-program-guide applications. The API may allow non-program-guide
applications to make use of program guide functions such as tuning,
parental control, favorites, user profiles, drawing, highlighting
and on-screen navigation, database access, and purchasing. This
approach ensures that a common user interface is used, resource
contention is eliminated, and the amount of code and data required
by each application is reduced.
[0010] The API helps coordinate the use of applications that are
located remote from the set-top box, such as applications located
on a server at a cable system headend or at a server on the
Internet. The API may also perform authentication functions. This
helps ensure that only authorized applications are provided with
access to desired functions such as certain program guide
functions. Different access rights may be given to different
applications.
[0011] Non-program-guide applications may provide interactive
content in the form of an interactive component that is associated
with a television programming (e.g., a given television program, a
television channel, or the like). For example, a non-program-guide
application may provide interactive sports content for a sports
channel or interactive home shopping content for a home shopping
channel. The interactive content may be in the form of a shopping
experience, information services, games, or any other type of
suitable interactive content associated with a given television
channel, service, program, program type, or program listings. A
non-program-guide application that provides an interactive
component for a given channel may be delivered to a user's set-top
box along with video and audio programming. The interactive
television program guide application may alert the user to the
presence of the interactive component. One suitable indicator is an
icon that may be presented as a overlay on top of the current
television channel. Another suitable indicator is an icon or other
display element that may be provided as part of a program guide
display screen.
[0012] The interactive television program guide application may be
used to launch non-program-guide applications. For example, the
program guide application may provide an on-screen option to launch
a particular non-program-guide application. The user may also
activate a dedicated button such as a "launch" remote control
button.
[0013] Applications and other interactive content may also be
incorporated directly into the program listings displayed by the
interactive television program guide application. For example,
video-on-demand programming may be made available to the user with
a video-on-demand application. The interactive television program
guide application may incorporate selectable video-on-demand
program listings into the program guide display screens provided by
the interactive television program guide application. When the user
selects a given video-on-demand program listing, the interactive
television program guide application may launch the video-on-demand
application and direct the video-on-demand application to play the
video for the selected listing or to begin the processing necessary
to authorize the delivery of that video.
[0014] Other interactive content, such as audio-on-demand, data
from information services, web pages, shopping information, horse
racing or other wagering, and the like may also be handled by
integrated selectable buttons provided on certain program guide
display screens as overlays on top of television programs, etc. A
selectable option that allows a non-program-guide application to be
invoked from within the interactive television program guide
application and directed to take an action related to a current
television program, program listing, service, etc. is called a hot
link. A selectable hot link related to a currently displayed
television program provides a way to launch a non-program-guide
application while directing the launched application to take an
action that is related to the current television program. For
example, a user may be watching a sports program. Selecting a hot
link to a home shopping application launches the home shopping
application and directs the home shopping application to present
products to the user that are related to sports.
[0015] The user may be allowed to set certain non-program-guide
applications, as favorites. For example, the interactive television
program guide application may display these selected favorite
applications in a list when directed by the user, may restrict the
movement of a highlight region to just those favorite applications
when the user navigates within a larger list of non-program-guide
applications, or may otherwise use the information on which
applications have been designated as favorites.
[0016] The user may also be allowed to set parental controls for
certain non-program-guide applications. This allows the user to
lock applications such as shopping or video-on-demand. A viewer may
unlock such parentally controlled applications by entering a
predefined user-selected parental control password or using any
other suitable parental control unlocking technique.
[0017] The user may also be allowed to set reminders for the
content associated with various applications. For example, the user
may be allowed to set reminders for specialized promotional
segments associated with a home shopping application or the like.
Reminders may also be set for chat sessions.
[0018] An application (e.g., the interactive television program
guide application) may continue to run in the background while
another application (e.g., a non-program-guide application) runs in
the foreground. The background application may continually monitor
events to determine when events occur that require immediate
attention. For example, the interactive television program guide
application may run in the background to monitor whether the user
has pressed a remote control key that requires attention or whether
a prescheduled program guide function such as a pre-set reminder
requires attention. In situations such as these, the interactive
television program guide application may terminate or suspend the
operation of a non-program-guide application running in the
foreground. If operation of the foreground application is
suspended, the background application may display a message for the
user asking whether the user wishes to resume the operation of the
suspended application or whether the detected event (e.g., the
event related to the user key press or prescheduled reminder or the
like) should take place.
[0019] Further features of the invention, its nature and various
advantages will be more apparent from the accompanying drawings and
the following detailed description of the preferred
embodiments.
BRIEF DESCRIPTION OF THE DRAWINGS
[0020] FIG. 1 is a diagram of an illustrative interactive
television program guide system in accordance with the present
invention.
[0021] FIG. 2 is a diagram illustrating how the system may have an
interactive television program guide application and a plurality of
non-program-guide applications in accordance with the present
invention.
[0022] FIG. 3 is a diagram showing how two applications may have an
overlap in features in accordance with the present invention.
[0023] FIG. 4 is a flow chart showing steps involved in changing
channels using the program guide in accordance with the present
invention.
[0024] FIG. 5 is a flow chart of steps involved in using the
program guide application program interface to maintain a
consistent user interface when invoking non-program-guide
applications with the program guide application in accordance with
the present invention.
[0025] FIG. 6 is an illustrative program guide display screen
containing program listings having icons indicating the
availability of interactive components associated with the program
listings.
[0026] FIG. 7 is an illustrative television screen showing how an
icon indicating the availability of an interactive component may be
displayed as an overlay on top of the video for a particular
television channel in accordance with the present invention.
[0027] FIG. 8 is a flow chart of illustrative steps involved in
indicating to a user that a non-program-guide application is
available in accordance with the present invention.
[0028] FIG. 9 is a diagram of an illustrative remote control that
may be used to control the user television equipment in accordance
with the present invention.
[0029] FIG. 10 is a diagram showing how an interactive component
associated with a program may be launched by pressing a dedicated
button in accordance with the present invention.
[0030] FIG. 11 is a diagram showing how a user may invoke a
non-program-guide application by responding to an on-screen prompt
in accordance with the present invention.
[0031] FIG. 12a is a diagram illustrating how the user may obtain
additional information on a given program by pressing an
information key while tuned to the given program and how the user
may launch a non-program-guide application (e.g., a web browser) by
pressing a launch button once the information has been displayed in
accordance with the present invention.
[0032] FIG. 12b is a diagram illustrating how the user may activate
and use an overlay containing various program guide options and
options for launching non-program guide applications in accordance
with the present invention.
[0033] FIG. 13 is an illustrative program guide display screen
containing program guide listings for a particular category
(sports) and containing an on-screen hot link to a web browser
application in accordance with the present invention.
[0034] FIG. 14 is an illustrative program guide display screen
containing program guide listings and menu options for launching
various non-program-guide applications in accordance with the
present invention.
[0035] FIG. 15 is an illustrative program guide display screen
containing a grid of program listings in which certain grid cells
provide selectable hot links that allow the user to invoke a web
browser application and to direct the web browser application to
retrieve certain web pages related to the show to which the
selectable options are adjacent in the grid in accordance with the
present invention.
[0036] FIG. 16 is an illustrative program guide display screen
containing video-on-demand program listings in accordance with the
present invention.
[0037] FIG. 17a is an illustrative program guide display screen
containing video-on-demand program listings intermixed with normal
program listings in accordance with the present intention.
[0038] FIG. 17b is an illustrative program guide display screen of
a program listings grid containing video-on-demand program listings
in accordance with the present invention.
[0039] FIG. 18 is an illustrative program guide display screen that
contains options with which the user may choose to view program
listings for particular categories or themes. Some of the
illustrative programming themes in the FIG. 18 display screen
relate to video-on-demand programming in accordance with the
present invention.
[0040] FIG. 19a is an illustrative program guide display screen
containing selectable audio-on-demand program listings in
accordance with the present invention. If the user selects one of
the listings, the interactive television program guide application
launches an audio-on-demand application and directs it to play the
audio associated with the selected listing in accordance with the
present invention.
[0041] FIG. 19b is a diagram illustrating the display of a data
service such as a stock ticker that may be provided on top of the
video for a television program or program listings or the like in
accordance with the present invention.
[0042] FIG. 20 is a diagram illustrating how web content or the
like may be embedded into a program guide display screen in
accordance with the present invention.
[0043] FIG. 21a is a diagram showing how the program guide
application may display a list of selectable options for available
non-program guide applications when the user presses launch in
accordance with the present invention.
[0044] FIG. 21b is an illustrative diagram showing how a user who
is viewing a television program may activate a hot link (by
pressing a launch key) that launches a chat application and directs
the chat application to initiate a chat session related to the
television program in accordance with the present invention.
[0045] FIG. 22 is a flow chart of illustrative steps involved in
using a hot link for a non-program-guide application in accordance
with the present invention.
[0046] FIG. 23 is a flow chart of illustrative steps involved in
using an electronic mail (e-mail) hot link in accordance with the
present invention.
[0047] FIG. 24 is a flow chart of steps involved in using a home
shopping hot link in accordance with the present invention.
[0048] FIG. 25a is an illustrative program guide display screen
that provides the user with opportunities to set certain
non-program-guide applications as favorites or to set parental
controls for certain applications in accordance with the present
invention.
[0049] FIG. 25b is an illustrative view favorites program guide
display screen in accordance with the present invention.
[0050] FIG. 25c is an illustrative video-on-demand purchase
authorization screen in accordance with the present invention.
[0051] FIG. 25d is an illustrative home shopping application
listings screen in accordance with the present invention.
[0052] FIG. 26 is a diagram illustrating how the purchasing
features of the interactive television program guide application
may be shared between the program guide application and one of the
non-program guide applications in accordance with the present
invention.
[0053] FIG. 27 is an illustrative flow chart of steps involved in
running an application in the background while another application
operates in the foreground in accordance with the present
intention.
[0054] FIG. 28 is an illustrative series of display screens showing
how a program guide reminder overlay may be provided on top of a
running non-program guide application such as a web browser to
notify the user of an upcoming television program in accordance
with the present invention.
[0055] FIG. 29a is a program guide display screen for a main menu
showing how selectable options may be provided for the
non-program-guide applications in accordance with the present
invention.
[0056] FIG. 29b shows an illustrative program guide setup screen
containing selectable options that allow the user to launch
non-program guide applications and be taken to associated setup
screens within those applications in accordance with the present
invention.
[0057] FIG. 30 is a flow chart of steps associated with registering
an application with the application program guide interface in
accordance with the present invention.
[0058] FIG. 31 is a flow chart of steps involved in authenticating
an application and determining the access rights of an application
in accordance with the present invention.
[0059] FIG. 32 is a diagram illustrating how applications that use
the application program guide interface may be based at various
locations such as on user television equipment, secondary user
television equipment, an Internet server, or a server associated
with a television distribution facility in accordance with the
present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0060] An illustrative program guide system 30 in accordance with
the present invention is shown in FIG. 1. Program guide data such
as program listings, program descriptions, pay-per-view ordering
information and the like may be stored in program guide database 32
of main facility 34. Main facility 34 distributes the program guide
data to multiple television distribution facilities 36 via
communications paths such as communications path 38. Television
distribution facilities 36 may be broadcast television facilities,
cable system headends, satellite distribution facilities, or other
suitable television distribution facilities. Only one television
distribution facility 36 is illustrated in FIG. 1 to avoid
over-complicating the drawings. For clarity, the invention will be
primarily discussed in connection with the use of one such
television distribution facility. Communications path 38 may be any
suitable communications path, such as a satellite link, cable,
fiber-optic link, telephone link, the Internet, etc.
[0061] Each television distribution facility 36 has a number of
associated users each of which has user television equipment 40
connected to television distribution facility 36 via one of
communications paths 42. Communications paths 42 may be any
suitable type of link suitable for supporting television
programming and data. For example, if television distribution
facility 36 is a cable system, communications paths 42 may be
cable. Paths 42 are used to distribute television programming to
user television equipment 40. The television signals distributed to
user television equipment 40 may be analog or digital or both.
Paths 42 are also used to distribute data such as program guide
data to user television equipment 40. Data may be distributed using
an in-band or out-of-band technique and may use digital or analog
techniques. Data may be distributed continuously, periodically, or
on-demand. Paths 42 are preferably bidirectional, so that functions
such as impulse pay-per-view purchases from the program guide and
client-server functions may be supported. When services other than
program guide services are provided to the user, data may be
provided over paths 42 that relates to such non-program-guide
services.
[0062] As shown in FIG. 1, user television equipment 40 may contain
a set-top box 44 connected to an optional videocassette recorder 46
or other recording device such as a digital video disc (DVD) player
with recording capabilities or a digital storage device such as
equipment containing a hard disk drive or the like. Set-top box 44
may receive television programming and data from television
distribution facility 36 via communications path 42. An interactive
television program guide and various non-program-guide applications
may be implemented on set-top box 44.
[0063] Television programming from television distribution facility
36 and display screens generated by the applications on set-top box
44 may be provided to videocassette recorder 46 using
communications path 48, which may be, for example, a cable or wire.
Commands may be provided to videocassette recorder 46 from set-top
box 44 using communications path 50, which may be an infrared link
or other suitable communications path.
[0064] Videocassette recorder 48 may pass television programming
from television distribution facility 36, display screens generated
by set-top box 44, or video signals generated by playing a
videocassette to television 52 via communications path 54. The user
may view television programming and display screens on television
52 and may use television 52 (or an auxiliary audio system) to
listed to music channels or other audio programs.
[0065] Set-top box 44, videocassette recorder 46, and television 52
may be controlled by remote control 56 or any other suitable user
interface such as a mouse, trackball, wireless keyboard, voice
recognition system, touchpad, dedicated keys, etc. If desired,
other types of user television equipment 40, such as those based on
personal computer televisions (PC/TVS) or advanced television
receivers may be used instead of a configuration based on a set-top
box. However, for clarity the present invention will be described
primarily in connection with a set-top box arrangement. Moreover,
different configurations may be used for distributing data to user
television equipment 40 such as configurations in which program
listings and other information may be distributed to user
television equipment 40 without passing through television
distribution facility 36 using paths that are separate from
communications paths 42. For clarity, the present invention will be
described primarily in connection with the illustrative data
distribution arrangement shown in FIG. 1.
[0066] Television distribution facility 36 may contain a video
server 58 to support video-on-demand applications. With such
applications, videos that are stored on video server 58 may be
requested by users at user television equipment 40. The videos may
then be played back to the users over communications paths 42. A
server 59 that is separate from or integrated with server 58 may
also be provided if it is desired to implement applications such as
the program guide application using a client-server
architecture.
[0067] Applications such as program guide applications and
non-program-guide applications may be implemented on any suitable
platform. One suitable platform is user television equipment 40,
which may be based on a set-top box or a device that incorporates
set-top box functions such as an advanced digital television
receiver, etc. Another suitable platform involves a client-server
architecture based on a server 59 and user television equipment 40.
Server 59 may be located at television distribution facility 36 or
at another location remote from user television equipment 40.
Server 59 operates in cooperation with user television equipment
40. In client-server arrangements, program guide data may be
maintained in a database on server 59 and may be delivered to user
television equipment 40 on demand. The program guide data
maintained at server 59 may be distributed to server 59 for its
database from program guide database 32 via communications link
38.
[0068] With client-server arrangements, interactive program guides
and other applications that are implemented on the platform are
partially implemented on user television equipment 40 and are
partially implemented on server 59, rather than being implemented
entirely on user television equipment 40. For example, program
guide functions related to displaying menu screens may be
implemented at user television equipment 40, whereas functions
related to maintaining a program guide database at television
distribution facility 36 may be implemented using server 59 and
functions related to video-on-demand features may be implemented
using server 58.
[0069] Web browser applications on set-top box 44 may allow the
user to access the Internet 60. The Internet 60 may be either
accessed directly (e.g., via a modem link) or via television
distribution facility 36 (using, e.g., a cable modem link), as
shown in FIG. 1. Other facilities and services that may be accessed
directly or via television distribution facility 36 include banking
services (using banking facility 62), shopping services (using
fulfillment facility 64), wagering or gaming services (using gaming
facility 66), and information and other services (using data
facility 68).
[0070] As shown in FIG. 2, the program guide application 70 may
have an associated program guide application program interface
(API) 72, that allows program guide application 70 to serve as a
portal for non-program-guide applications such as audio-on-demand
application 74, video-on-demand application 76, home banking
application 78, home shopping application 80, enhanced television
application 82, Internet web browser application 84, data services
application 86, electronic mail application 88, and gaming services
application 90. A program guide system in which a program guide API
is used is described in Ellis et al. U.S. patent application Ser.
No. 09/145,232, which is hereby incorporated by reference herein in
its entirety. Although depicted as being a part of program guide
application 70 for purposes of illustration, program guide API 72
may be considered to be either a part of program guide application
70 or separate from application 70 yet associated with application
70. Program guide API 72 may be implemented partially on user
television equipment 40 and partially on a server such as server 59
or may be implemented on user television equipment 40. For clarity,
the functions of program guide API 72 will be described primarily
in the context of arrangements in which program guide API 72 is
implemented on user television equipment 40.
[0071] Moreover, although API 72 is primarily described herein as
being associated with program guide application 70, the principles
of the present invention also apply to systems in which application
program interfaces are associated with other applications. For
specificity and clarity the present invention is described
primarily in the context of a program guide API. This is, however,
merely illustrative.
[0072] In accordance with the present invention, use of program
guide API 72 helps ensure that all access to applications other
than the program guide application is made through the program
guide. This assures that there is essentially only one user
interface for the user to master. The user need not attempt to
learn multiple user navigation paradigms or become familiar with
dissimilar data presentation formats. The user need only become
familiar with a single user interface.
[0073] Program guide API 72 has functions that allow the
non-program-guide applications to access platform resources 92 such
as on-screen display features (colors, fonts, etc.), remote control
keys (key assignments and the like), front panel resources (which
determine, e.g., the functions assigned to various dedicated
buttons on user television equipment 40), communications channel
resources (e.g., features related to how set-top box 22 sends and
receives data), and server resources.
[0074] Program guide API 72 also has functions that allow
applications to make use of program guide resources 94 such as
tuning (how to change set-top box channels), parental control
(features related to placing a password lock on certain channels or
programs), favorites (e.g., user-designated favorite channels),
user profiles (e.g., favorites and settings profiles for various
users of a program guide on a given set-top box), drawing
functions, highlighting and on-screen navigation, database access
(e.g., to a database of program guide information stored in memory
in set-top box 44 and periodically or continually supplied with
program guide data from program guide database 32 of main facility
34), purchasing functions (e.g., for impulse ordering pay-per-view
events), options on program guide display screens, etc.
[0075] Because the functions of program guide API 72 help
coordinate access of non-program guide applications to platform
resources 92 and program guide resources 94, resource contention
may be eliminated and the amount of code and data required by each
application may be reduced. A common user interface across
applications may also be assured. As shown in FIG. 3, non-program
guide application No. 1 and non-program guide application No. 2 may
have an overlap in features 96. The shared code and data
represented by overlap 96 are typically resident in memory in
set-top box 44. Overlap 96 represents a savings in the overhead
associated with implementing these features on set-top box 44.
[0076] One example of using program guide application 70 to perform
certain non-program-guide application functions involves the
function of changing the channel to which set-top box 44 is tuned.
Steps involved in this process are illustrated in FIG. 4. At step
98, the user is provided with an opportunity to request a channel
change by one of the non-program-guide applications. The
non-program guide application may also initiate a channel change
(e.g., to direct a tuner to tune to an appropriate channel to
collect data). After the user requests a channel change or the
non-program-guide application initiates a channel change, program
guide application 70 is used to change channels at step 100. As
program guide application 70 changes the channel, it ensures that
program guide features such as parental control, favorite channels,
and authorization and purchasing features are consistently applied.
This helps to ensure that a consistent user interface is
maintained, because each of these features may operate nearly
identically in each of the non-program-guide applications and in
program guide application 70.
[0077] The program guide system of the present invention maintains
a consistent user interface using program guide application 70 to
perform certain non-program-guide application functions. Steps
involved in maintaining a consistent user interface are shown in
FIG. 5. At step 102, program guide application 70 provides access
to non-program-guide applications. After a user launches a
non-program guide application or a non-program guide application is
otherwise invoked, program guide application 70 maintains a
consistent user interface during operation of program guide
application 70 and any non-program guide applications at step
104.
[0078] As shown in FIG. 5, the task of maintaining a consistent
user interface at step 104 partly involves coordinating access to
plat form resources at substep 106 and partly involves providing
non-program guide applications with access to program guide
resources at substep 108. An example of step 108 is when the user
needs to change channels on set-top box 44 using a non-program
guide application. The program guide application coordinates access
to the program guide tuning function, which ensures that parental
control, favorite channels, and authorization and purchasing
functions are consistent for all non-program-guide
applications.
[0079] Another aspect of the task of maintaining a consistent user
interface is the step of using program guide application 70 to
ensure that all significant access of the user to non-program-guide
applications is made through program guide application 70 (step
110). Step 110 may involve, for example, the step of only allowing
access to those non-program-guide applications that use program
guide resources to a significant extent or at least have operating
characteristics equivalent to those normally provided by program
guide application 70. Step 110 may also involve the task of
providing certain functions in program guide application 70 that
might nominally be provided in a non-program-guide application.
[0080] A typical non-program-guide application might be a shopping
application. The shopping application might need to display lists
of available products. Step 108 would then involve using a program
guide graphics routine that is adept at drawing boxes, tables, and
the like for the program guide application to display the list of
available products for the shopping application. Because the
program guide graphics routine is the same as that used by the
program guide application, the user may be presented with a
consistent user display interface (i.e., the lists of products in
the shopping application program look much the same as the lists of
listings in the program guide).
[0081] To avoid use of non-program-guide applications with
inconsistent user interfaces, step 110 may involve configuring or
using program guide application 70 to ensure that non-program-guide
applications with such inconsistent user interfaces may not be
readily accessed by the user.
[0082] The integration of non-program-guide application features
into the program guide application to provide the user with a
consistent user interface may be accomplished in a number of ways.
For example, icons may be provided on certain program guide display
screens that allow the user to launch non-program guide
applications from deep within the program guide. Non-program guide
applications may also be integrated directly into the program
guide. Other program guide features that promote consistency of the
user interface may include providing hot links to non-program guide
applications from within the program guide application. These and
other features that promote consistency and create the impression
that the user is using one integrated system rather than a
collection of disparate applications are described in more detail
below.
[0083] Some non-program-guide applications may be used to provide
an interactive component associated with programming on an
otherwise passive audio or video channel. Interactive
non-program-guide applications of this type may be delivered to
set-top box 44 along with the audio and video programming being
distributed by television distribution facility 36. Program guide
application 70 may provide indicators such as icons on certain
program guide display screens (whether full screen display screens
or partial screen overlay display screens) to indicate that the
interactive component is available. For example, icons 112 may be
provided adjacent to certain program listings 114 on program guide
display screen 116 within program guide application 70, as shown in
FIG. 6. Program guide display screen 116 is a program listings
screen, but any suitable program guide display screen may be
provided with icons 112 or any other suitable indicators of
interactive content.
[0084] If desired, an indicator may be displayed as an overlay on a
program by itself, as illustrated by icon 118 of FIG. 7, which is
displayed as an overlay on top of shopping channel 120 to indicate
that the shopping channel has an interactive component
available.
[0085] Indicators such as those of FIGS. 6 and 7 may alert the user
to the type of interactive content that is available. For example,
if the interactive content relates to purchasing a product, the
indicator may be an icon of money or a cash register. If the
interactive content relates to viewing a web site, the indicator
may be a icon representative of the Internet. These indicators are
merely illustrative. Any suitable indicator or icon may be provided
to indicate the presence of interactive content if desired.
[0086] Indicators or other information about which programs have
interactive components may be distributed to the program guide
application as part of the television programs with which the
interactive components are associated. For example, information on
an interactive component associated with a given program may be
provided on a sideband of the channel that carries the program or,
in digital system, may be provided as part of a digital stream that
includes the program. Alternatively, indicators may be distributed
to the program guide application as part of a data stream (e.g.,
the stream of program guide data provided to set-top box 44 from
main facility 34 via television distribution facility 36.) If
desired, the indicator may be incorporated into the program guide
application prior to loading the application onto set-top box
44.
[0087] FIG. 8 shows steps involved in using an indicator in the
program guide application to indicate to the user that there is
interactive content available to the user. The various distribution
techniques that may be used to provide the indicator to the program
guide are shown at step 122. After the indicator has been provided
to the program guide in step 122, the program guide application
displays the indicator on a program guide display screen such as a
television program listings screen, on another suitable display
screen generated by program guide application 70, or directly on
top of a television program as an overlay at step 124. The program
guide also provides the user with an opportunity to launch the
application associated with the indicator at step 124.
[0088] The program guide application may allow the user to launch
the interactive component by pressing a key on remote control 56
(FIG. 1). For example, remote control 56 may have a dedicated
"launch" key 128 as shown in FIG. 9 that causes the program guide
application to launch any interactive component associated with the
current program when pressed by the user. If there is an indicator
(e.g., an icon) associated with a given program or listing when the
user presses launch, the program guide invokes the interactive
component associated with that indicator. If there is an
interactive component associated with a given program or listing,
but no icon or other indicator present, the program guide may still
invoke the interactive component associated with the given program
or listing. For example, as shown in FIG. 10, when the user is
viewing video for a program 160, the user may press launch key 128
to direct the program guide to display the interactive component or
components that are associated with the video for the program
(shown as interactive component(s) 162).
[0089] Alternatively, when the user tunes to a given program, the
program guide may present an on-screen option to launch the
interactive component (along with any available information about
that component). This is shown in FIG. 11. In the example of FIG.
11, the user tunes to the shopping channel 164, which causes the
program guide to display text box 166 instructing the user to press
launch to invoke the home shopping application. If the user presses
launch, the program guide launches the home shopping application.
As shown on the lower display screen in FIG. 11, the home shopping
application may display a home shopping overlay 168 on top of the
current channel 164. Overlay 168 may contain a description of a
product that is being promoted on shopping channel 164 and a
highlight 170 that may be positioned by the user to select from
various options. The illustrative options shown in overlay 168
include purchase option 172, which allows the user to initiate a
sequence of purchase screens, and information option 174, which
allows the user to request additional information (either
electronic or printed) for merchandise such as the product
currently being promoted on shopping channel 164.
[0090] If desired, information indicating that an interactive
component is available may be presented to the user after the user
requests information on a program or listing. For example, as shown
in FIG. 12a, if the user is watching a television program on
channel 7, the user may press a remote control info key to obtain
more information. When the program guide senses that the info key
has been pressed, the program guide may display information for the
current program in, for example, an overlay such as information
window 138. The program guide also provides an on-screen option to
launch an interactive component that is associated with the current
program such as on-screen option 140. In the example of FIG. 12a,
the interactive content associated with the current channel is
provided by a web browser application. When the user presses
launch, the program guide launches the web browser application and
directs the web browser to retrieve a web page 142. The web page
may be associated with the current program (i.e., the program that
was being displayed on channel 7 when the user pressed the info
key.)
[0091] The user may also launch an interactive component using a
overlay window or other on-screen option region as shown in FIG.
12b. Initially, the user may be watching a particular television
program on television display 143. The user may press an OK key on
a remote control or other suitable remote control button or may use
any other suitable technique to activate an option region 145.
Option region 145 may contain options 147 for performing program
guide functions such as setting reminders and setting parental
controls. Option region 145 may also contain options such as
options 149 and 151 for launching interactive components. If the
user highlights and selects an option, the associated interactive
component may be launched and directed to perform a function
associated with the current television program. For example, if the
user selects launch web browser option 149, the web browser may be
launched and directed to retrieve a web page 153 associated with
the current program.
[0092] If desired, the user may launch an e-mail application in
this way by selecting launch e-mail option 151. The e-mail
application can be launched with a preloaded address that is
associated with the current program. Further features of an
illustrative e-mail messaging system are described in McKissick et
al. U.S. patent application Ser. No. _____, filed concurrently
herewith (Attorney Docket No. UV-128), which is hereby incorporated
by reference herein in its entirety.
[0093] A user may launch an application from an information screen
associated with a program or channel or the like. Systems that
allow a user to launch applications from information screens are
described in Rudnick et al. U.S. patent application Ser. No.
______, filed concurrently herewith (Attorney Docket No. UV-113),
which is hereby incorporated by reference herein in its
entirety.
[0094] An indicator or icon or a message such as "if you have
interactive television you may press your launch button" may be
displayed by the program guide when desired to inform the user that
interactive components are available. When there is a single
indicator such as an icon overlaid on top of a given program, the
program guide launches the non-program-guide application associated
with that icon when the user presses launch. When there are several
icons displayed on a given screen such as in the arrangement of
FIG. 6, the user may first select a given program listing (e.g.,
using a highlight region such as highlight region 115 in FIG. 6 or
other suitable arrangement). If a highlight region is used, arrow
keys 130 (FIG. 9) may be used to move the highlight region to the
desired program listing before the user presses the launch key. An
"OK" key 132 (FIG. 9) may be used to perform typical program guide
functions such as selecting a listing when it is desired to tune to
the program for that listing. Pressing launch button 128 (FIG. 9)
after a program listing has been highlighted or otherwise selected
causes the program guide to launch the non-program-application that
is associated with the icon or other indicator for the listing. The
step of launching the non-program-guide application is shown as
step 126 in FIG. 8.
[0095] Non-program-guide applications and other interactive content
may be incorporated directly into the program listings provided by
the program guide application. As shown in FIG. 13, for example,
when the program guide is displaying sports program listings on a
display screen such as sports listings display screen 176, the
program guide may display an option such as option 178 on display
screen 176 that allows the user to launch a web browser application
to view various sports-related web pages. In the FIG. 13 example,
both the program listings and the option to invoke the
non-program-guide application are related to a specific type of
content (sports).
[0096] Another example is shown in FIG. 14. In this example the
program guide displays a program guide display screen 180
containing various movie program listings 182. Options 184 and 186
to launch non-program-guide applications are embedded directly in
movie program listings 182. The user may select one of options 184
and 186 to launch an application or may select one of program
listings 182 to tune to the channel associated with that listing by
positioning highlight region 188 or another suitable indicator on
top of the desired entry using arrow keys 130 and by pressing OK
key 132. Integrating options to launch non-program-guide
applications directly into the program listings provided by the
program guide application helps create a seamless user interface
and encourages users to use the non-program-guide applications.
[0097] Another approach for integrating options to launch
non-program-guide applications with program listings is shown in
FIG. 15. In the FIG. 15 example, the program guide displays options
190 and 192 for invoking a non-program guide application (i.e., a
web browser application) immediately adjacent to the titles 194 and
196, respectively, of related program listings.
[0098] Many video-on-demand functions may be provided by a
video-on-demand application that is substantially separate from the
program guide such as video-on-demand application 76 in FIG. 2. In
order for the user to have ready access to video-on-demand
programming from within the program guide it is necessary to
provide access to video-on-demand programs from within program
guide program listings screens and other program guide display
screens provided by the program guide. An illustrative program
guide display screen 198 that contains video-on-demand program
listings 200 is shown in FIG. 16. The user may select a given one
of the displayed program listings 200 using a suitable indicator
such as highlight region 202. Selecting a given video-on-demand
program listing causes the program guide to launch video-on-demand
application 76 (FIG. 2) and to direct video-on-demand application
76 to retrieve and play the video-on-demand program associated with
the selected program listing for the user. The videos being played
for the user may be distributed to user television equipment 40
from server 58 using any suitable technique.
[0099] The program listings data needed by the program guide to
display video-on-demand. program listings may be provided to the
program guide application from program guide database 32 (FIG. 1)
or from video-on-demand application 76 (implemented using video
server 58). In the example of FIG. 16, program guide display screen
198 is dedicated to video-on-demand listings. If desired,
video-on-demand program listings may be integrated into program
guide display screens that contain both video-on-demand program
listings and program listings other than video-on-demand program
listings, as shown in FIG. 17a. Program guide display screen 204
contains program listings for program listings 206 and 208 that are
on non-video-on-demand channels. Program guide display screen 204
also contains program listing 210 for a video-on-demand program.
The user may scroll up and down through the program listings of
screen 204 as indicated by arrows. 212. The user may select a given
program listing using an indicator such as highlight region 214.
When the user presses OK key 132 (FIG. 9), the program guide
launches video-on-demand application 76 (FIG. 2) and directs
video-on-demand application 76 to provide the movie (Terminator 2
in the example of FIG. 17a) for the selected video-on-demand
listing.
[0100] Another suitable format in which video-on-demand listings
may be incorporated into a program guide display screen displayed
by the interactive television program guide application involves a
two-dimensional list or grid (hereinafter collectively referred to
as a grid) of program listings, as shown in FIG. 17b. In the
example of FIG. 17b, programs 3 and 4 are video-on-demand programs
and may be ordered, for example, by positioning a highlight region
on top of the desired selection and pressing a remote control "OK"
button.
[0101] Program guide display screen 204 of FIG. 17a contains
program listings in the "movies" category. Category-specific
display screens such as screen 204 may be requested from a program
guide menu such as select themes menu 216 of FIG. 18. The user may
select a desired theme using highlight region 218. As shown in FIG.
8, some of the themes may include video-on-demand content. For
example, selecting video-on-demand option 220 directs the program
guide to display a program guide display screen such as display
screen 198 of FIG. 16. Selecting comedy video-on-demand option 222
from menu 216 directs program guide application 70 to display a
similar display screen, but only containing video-on-demand program
listings related to comedy. Similarly, selecting movies
video-on-demand option 224 directs the program guide to display
video-on-demand program listings related to movies. If desired,
theme-specific video-on-demand options may be incorporated in other
program guide display screens such as display screens used for
selecting various program category sort options. Video-on-demand
program listings may be incorporated on any suitable program guide
display screen, including program listings grids, time and channel
based listings screens, and flip and browse displays. Various
arrangements for incorporating video-on-demand program listings
into such displays are described in Ellis U.S. patent application
Ser. No. 09/262,870, filed Mar. 4, 1999, which is hereby
incorporated by reference herein in its entirety.
[0102] Other interactive content may be handled similarly to
video-on-demand content. As shown in FIG. 19a, audio-on-demand
listings 226 (e.g., karaoke listings) may be displayed on program
guide display screen 228 by program guide application 70. Selecting
a given audio-on-demand program listing directs program guide
application 70 to launch audio-on-demand application 74 (FIG. 2)
and directs the audio-on-demand application to play the audio track
for the selected listing. As shown in FIG. 19b, data services may
be treated similarly. In the example of FIG. 19b, stock ticker 230
may be displayed by the program guide as an overlay on top of
screen 232, which may contain video for a television program,
program listings, or other suitable program guide display screen
content.
[0103] Content from a non-program-guide application may be embedded
into a display screen generated by another non-program-guide
application or may be embedded into a program guide display screen.
For example, web content may be embedded into a program guide
display screen provided by the program guide, as shown in FIG. 20.
In the example of FIG. 20, the program guide has displayed program
guide display screen 380. Program guide display screen 380 contains
program listings 382. The user may position highlight region 384
using remote control arrow keys. When the user has highlighted a
desired program listing, the user may press an OK key on the remote
control, which causes web content supplied by an Internet
application (e.g., a web browser) to be displayed in window
386.
[0104] The arrangement of FIG. 20 is illustrative. If desired,
other program guide display screens may be provided with embedded
content from non-program-guide applications. For example, such
content may be embedded in a menu screen, settings screen, parental
control screen, set reminders screen, pay-per-view ordering screen,
program listings screens such as by time, by channel, and by genre
listings screens, etc. Moreover, content from one non-program-guide
application (such as an Internet browser application) may be
embedded into the display screen of another non-program-guide
application (such as the display screen of a home shopping
application).
[0105] The program guide may also incorporate listings with related
web content in the program guide display screens. Selecting such a
program listing from a display screen may direct program guide
application 70 to launch Internet web browser application 84 (FIG.
2) and may direct Web browser application 84 to retrieve the
related web content. Content related to other applications such as
shopping application 80 (FIG. 2), gaming services application 90,
etc. may be handled in a similar manner.
[0106] As shown in FIG. 21a, if there are several interactive
components associated with a given program, the program guide may
display these in the form of pop-up menus or other suitable
displays when the user presses launch. In the example of FIG. 21a,
when the user presses launch, the program guide displays pop-up
menu 144. Pop-up menu 144 contains a highlight region 146 that may
be positioned on any of the entries in pop-up menu 144 by the user
(by using remote control 56). The program guide will launch the
corresponding application once the user makes a selection from
pop-up menu 144.
[0107] When non-program guide applications are launched, using
pop-up menu 144 or any other suitable launching arrangement, it may
be desired for the program guide to direct the invoked
non-program-guide application to take an action related to certain
content in the program guide or related to the state of set-top box
44. For example, it may be desired to direct an invoked
non-program-guide application to take some action based on which
television program is currently being displayed by set-top box 44
or based on which program listing or menu item is highlighted
within the program guide. This type of interconnection between the
program guide and the non-program-guide application may be
accomplished using hot links.
[0108] Hot linking involves invoking a non-program-guide
application with information for use by the application such as a
web site address, e-mail address, program title, or other
information that has been preselected based on the current content
of the program guide or status of set-top box 44. For example, a
user may be watching a program, viewing a program listing, viewing
the description of a program, etc. or taking other action within
the program guide related to a given program, program listing,
program description, type of program (e.g., comedy, sports, etc.),
channel, channel listing, channel description, type of channel
(e.g., sports, comedy, weather, pay-per-view, premium, etc.),
programming package, package listing, package description, package
type (time block package, premium services package, comedy, movies,
etc.) or the like. If the user activates the hot link, an
associated non-program-guide application may be launched and
directed to take an action related to the content of the program
guide (i.e., an action related to the program, listing,
description, etc. that the user is viewing). Examples of the
different states of the set-top box that may influence what type of
action is taken during hot linking include whether the modem is or
is not in use, whether the keyboard is enabled or not, whether
memory is available or not, etc. If the non-program guide
application requires the use of the modem, the non-program-guide
application may not be launched unless the modem is not in use. If
the non-program-guide application requires the use of a keyboard
(e.g., for e-mail or chat), the non-program-guide application may
not be launched unless the keyboard has been enabled. If the
non-program-guide application requires certain memory resources,
that application may only be launched if there is sufficient memory
available.
[0109] Hot links may be activated by dedicated buttons, the launch
button, menu options, or any other suitable technique. For example,
remote control 56 may be provided with a dedicated web browser
button such as Internet button 154, a dedicated e-mail button 156,
a dedicated shopping button 158 and similar buttons associated with
other non-program-guide applications, as shown in FIG. 9. When the
user presses Internet button 154 while watching a given television
program, the program guide launches the web browser and may direct
the web browser to retrieve a web page related to the program or
current channel. When the user presses e-mail button 156, the
program guide launches the e-mail program and directs the e-mail
program to set up an e-mail message to a character in the program,
a fan club, or other message recipient associated with the program
or channel. When the user presses shopping channel button 158, the
program guide launches a shopping application and directs the
program guide to preselect merchandise related to the program or
channel.,
[0110] The example of FIG. 21a illustrates the use of hot links. If
the viewer selects web browser option 148, the program guide may
launch a web browser application and may direct the web browser to
locate a web page related to the current program being displayed.
The address of the web page may be incorporated into a database
maintained by the program guide on set-top box 44, may be
transmitted to the program guide with the program itself, or may be
provided to the program guide by any other suitable technique. If
the user selects option 150, the program guide may launch e-mail
application 150 and may direct the e-mail application to initiate a
message to, for example, a particular cast member of the current
program or to the fan club for the current program. If the user
selects option 152, the program guide may launch a home shopping
application and may direct the home shopping application to
preselect or present merchandise that is related to the current
program or channel.
[0111] Another example is shown in FIG. 21b. As shown in the upper
portion of FIG. 21b, the user may initially be watching television
program 390. A message 392 may be displayed indicating the
availability of a hot link to a chat session related to the current
television program. When the user presses launch or otherwise
invokes a chat application, the chat application may display a chat
session related to the current television program in display region
394. The video for the current television program may be displayed
in window 396. A chat application may be linked to a program, a
program listing for a program, a description of a program, a type
of program, a channel, a channel listing, a description of a
channel, a type of channel, etc.
[0112] Steps involved in using illustrative hot link arrangements
are shown in FIGS. 22-24. FIG. 22 illustrates how a hot link to an
application (e.g., a web browser, chat application, etc.) may be
provided. Initially, the user is watching a television program or
viewing a listing or a description for a program or channel. The
program guide may then provide the user with an opportunity to
launch the application (e.g., the web browser, chat application,
etc.) at step 234. If the user opts to launch the application, the
program guide may launch the application at step 236 while
directing the program guide to perform a function related to the
current program, program listing for a given program, program
description for a given program, type of program, channel, channel
listing, channel description, or type of channel, etc. For example,
if the application is a web browser, the web browser may be
directed to retrieve a web page related to the program that the
user was watching or the program for which the user was viewing a
listing or description. The program guide application may direct
the web browser to retrieve a particular web page by providing the
web browser with a web address that was incorporated into the
database of the program guide application, was transmitted with the
program, or was otherwise provided. If the application is a chat
application, the program guide application may direct the chat
application to initiate a chat session on the current program or
channel, a chat session related to the selected program listing or
channel listing, or a chat session related to the selected
description. At step 238, the application performs a function
related to the program, channel, program listing, channel listings,
program description, or channel description, etc. For example, if
the application is a browser, the browser may retrieve web pages
related to the program. If the application is a chat application,
the chat application may initiate a chat session on the current
program.
[0113] FIG. 23 illustrates how a hot link to an e-mail messaging
feature may be provided. Initially, the user is watching a
television program or viewing a listing or a description for a
program. The program guide may then provide the user with an
opportunity to launch an e-mail application at step 240. If the
user opts to launch the e-mail application, the program guide may
launch the e-mail application at step 242. At step 244, the user
may be provided with an opportunity to send an e-mail message to a
cast member, fan club, or other recipient related to the program
that the user was watching or for which the user was viewing a
listing or description. Further features of an illustrative
television e-mail messaging system are described in the
above-mentioned McKissick et al. U.S. patent application Ser. No.
______, filed concurrently herewith (Attorney Docket No. UV-128). A
user may similarly be provided with an opportunity to join a chat
group related to the current program. Further features of an
illustrative television chat system are described in DeWeese et al.
U.S. patent application Ser. No. ______, filed concurrently
herewith (Attorney Docket No. UV-101), which is hereby incorporated
by reference herein in its entirety.
[0114] FIG. 24 illustrates how a hot link to a home shopping
feature may be provided. Initially, the user is watching a
television program or viewing a listing or a description for a
program. The program guide may then provide the user with an
opportunity to launch a home shopping application at step 246. If
the user opts to launch the home shopping application, the program
guide may launch the home shopping application at step 248. At step
250, the program guide may automatically select a product or
products available with the home shopping application that are
related to the program that the user was watching or for which the
user was viewing a listing or description. For example, the program
guide may display graphic images of the available products on the
user's display screen. In this way, the program guide may present
products related to the program that the user was watching.
[0115] As shown in FIG. 25a, the program guide application may
provide the user with opportunities to set certain applications as
favorites. For example, the user may position highlight region 252
or other suitable indicator on top of one of applications 254 and
press "fav" key 256 (FIG. 9) or otherwise indicate selection of the
highlighted entry. The program guide may mark those applications
that have been selected as favorites with indicators such as
favorites indicators 258. In the example of FIG. 25a,
video-on-demand, home shopping, and e-mail have been set as
favorites. Setting certain applications as favorites enhances the
ability of the program guide to provide access to these
applications. For example, the user may direct the program guide to
display a list of the user's favorite applications. Only those
applications that have been set as favorites are displayed as shown
in FIG. 25b. In addition, when the user turns a "favorites mode" on
and is viewing a list of applications, the program guide may
control the display of a highlight region or other indicator so
that only favorite applications may be highlighted or otherwise
brought to the attention of the user. Any favorites display mode
suitable for displaying program listings information may generally
be used by the program guide to display favorite applications. A
favorite application may be deselected as a favorite by
highlighting the application and pressing favorite key 256 or using
any other suitable deselection technique.
[0116] The program guide may lock certain applications using a
parental control feature. The user must then provide a
previously-selected parental control password (or use an equivalent
parental control authorization technique) to unlock any locked
applications before the locked applications may be invoked by the
program guide or by the user. When an attempt is made to invoke a
locked application, the user is provided with an opportunity to
enter the password. If the correct password is provided, the locked
application may be unlocked and invoked. The user may lock a given
application by highlighting the application in a list of
applications (e.g., on a program guide display screen such as shown
in FIG. 25a) and by pressing lock key 260 (FIG. 9) or otherwise
selecting the application. In the example of FIG. 25a, the
applications video-on-demand and banking have been locked, as
indicated by lock icons 262. Favorites indicators 258 and lock
icons 262 are merely illustrative. Any suitable indicators may be
used to mark which applications are favorites or are locked. As
shown in FIG. 25c, when the user attempts to invoke a
parentally-controlled application, the program guide provides the
user with an opportunity to enter the parental control
password.
[0117] The user may also set reminders for the content associated
with various non-program guide applications. For example, a
non-program guide application such as a home shopping application
may present the user with a display screen of listings for upcoming
events. As shown in FIG. 25d, a home shopping application may
present a screen 330 of listings 332 of scheduled upcoming
segments. The user may move a highlight region such as highlight
region 328 on top of a desired segment and may press a suitable
remote control key such as an OK key to select that segment. The
home shopping application may then present a prompt asking the user
whether the user would like to set a reminder for the selected,
segment. If the user answers affirmatively, the home shopping
application (or the program guide or other suitable system
component) may set a reminder for the selected segment. An icon
such as reminders icon 336 may be displayed adjacent to the
listings for those segments for which reminders have been set. Just
before the scheduled broadcast time of this segment, a reminder may
be displayed on the user's television that reminds the user of the
upcoming segment. Schedule information for the home shopping
segments may be provided as part of a program listings database or
as separate data.
[0118] If desired, the user may, set a reminder for a segment or
subject that is not yet scheduled for a particular time. Just
before the segment is broadcast, a reminder may be displayed on the
user's television that reminds the user of the segment.
[0119] The content for which the reminder is set is may be content
that is provided by the application (e.g., home shopping
information displayed by the home shopping application), may be
content from one application that is embedded into another
application (e.g., a web page embedded into a home shopping
application), or may be content that the application assists the
user in locating and using (e.g., home shopping video
segments).
[0120] Other applications may also have associated content for
which reminders may be set. For example, the user may set reminders
for particular contests or races (e.g., by selecting a desired
contest or race from a screen in which various contests and races
are listed by a gaming service application). As another example,
the user may also set reminders for certain web events or for
web-based or cable-system-based chat sessions.
[0121] Program guide application 70 may allow a non-program-guide
application to use the purchase mechanisms (e.g., authorization
procedures, etc.) of program guide application 70, including use of
a purchase code or password. This allows parents to control what
children in a household may purchase. As shown in FIG. 26, when
such purchase mechanisms are shared between program guide
application 70 and video-on-demand application 76 (for example),
there is an overlap 264 associated with the shared purchasing
features in addition to overlap 266 associated with other shared
features between these applications. Features associated with the
overlap may include purchasing screen features, purchase code
features, credit card order features, shipping address features,
billing address features, etc.
[0122] FIG. 27 shows steps involved in allowing one application
(such as program guide application 70) to run in the background
while another application is running in the foreground. At step 268
the background application may check for events that may require
immediate attention. For example, the background application may
handle data collection tasks, as indicated by data collection input
270. The background application may also handle tasks associated
with monitoring user actions, such as pressing a key on remote
control 56 (FIG. 9) that the background application is monitoring.
When the background application is a program guide application, the
keys that are monitored may include keys such as guide key 271,
which is used to invoke and exit program guide listings screens
provided by the program guide application, as indicated by user key
presses input 272. The background application may also monitor
user-selected actions. When the background application is a program
guide application, such user-selected actions may include program
reminders (shown as reminders input 274), timers (shown as timers
input 276), and recordings scheduled to be recorded with the
videocassette recorder (shown as VCR recordings scheduled by user
input 278).
[0123] If an event that requires immediate attention is detected
corresponding to one of inputs 270, 272, 274, 276, or 278 or other
such inputs, the background application may interrupt the
foreground application by terminating or suspending the foreground
application (or by asking that application to terminate or suspend
itself) at step 280. When the foreground application has-been
suspended, the background application may display a message to the
user at step 282 asking whether the detected event should take
place or whether operation of the foreground application should be
resumed.
[0124] An illustrative example is shown in FIG. 28. In the example
of FIG. 28, a web browser application is running in the foreground
and a program guide with which program reminders have been set is
running in the background. As shown in screen 314, just before the
scheduled broadcast time of the program for which the reminder was
set, the operation of web browser 316 may be suspended and a
reminders display 318 overlaid on top of web browser 316. Reminders
display 318 contains information on the programs for which the
reminder was set such as the title of the program. If the user
decides to watch the program, the user may select tune option 320.
Selecting tune option 320 directs the system to terminate operation
of web browser 316 and to tune to the channel 322 for the selected
program. If the user decides to ignore the reminder, the user may
select hide reminders option 324. Selecting hide reminders option
324 directs the program guide to hide reminders display 318 and to
remain in the background. The foreground application (the web
browser) resumes operation as shown in screen 326.
[0125] Program guide application 70 may provide options in various
program guide menus that allow the user to launch non-program guide
applications directly from such menus. An illustrative program
guide menu 295 is shown in FIG. 29a that contains program listings
option 296 for viewing program guide display screens containing
program listings (shown as being selected by highlight region 298),
video-on-demand option 300 for launching a video-on-demand
application, home shopping option 302 for launching a home shopping
application, and e-mail option 304 for launching an e-mail
Application. The non-program-guide applications shown in FIG. 30
are merely illustrative. Any suitable non-program-guide application
may be launched from a program guide menu screen if desired.
[0126] As shown in FIG. 29b, program guide application 70 may
provide a setup menu screen 306. If the user selects option 308,
the user is presented with program guide setup options that allow
the user to customize various features of the program guide. If the
user selects one of options 310, an associated non-program-guide
application is launched and is directed to present its setup screen
to the user. For example, if the user selects option 310a (e-mail
setup), an associated e-mail application is launched and the user
is taken to a setup screen 312 within the e-mail application. The
setup example of FIG. 29b is merely illustrative. If desired, the
launched application may be directed to provide any suitable screen
or function when it is launched.
[0127] An application program interface may provide authentication
features to help control access to application resources.
Illustrative steps involved in coordinating resource access are
shown in FIG. 30. At step 342, an application sends a message to
the application program interface requesting that the resources of
the application be registered with the application program
interface. At step 344, other applications may attempt to access
the registered resources. If no authentication is required by the
registered application, the requested resources may be shared at
step 346.
[0128] If desired, requesting applications may need to be
authenticated and may need to have their access rights to certain
resources checked. As shown in FIG. 31, a requesting application
may request access to the resources of another application at step
348. At step 350, the application program interface authenticates
the request. This may be done, for example, by checking a password
provided by the requesting application against a previously
established password or by checking whether the requested
application is on a list of approved applications. Step 350 may
also involve determining whether the requesting application has
sufficient access rights to access the requested resources. If the
requesting application passes the tests of step 350, the requesting
application may access the desired resources of the other
application at step 352.
[0129] The application program interface of the present invention
may coordinate the activities of program guide applications and
non-program-guide applications that reside at locations other that
the user's user television equipment. For example, as shown in FIG.
32, an application such as home shopping application 354 may be
located on a server 356 that is connected to user television
equipment 358 via the Internet 360 or other such suitable data
network or via the Internet 360 and television distribution
facility 362.
[0130] Applications may also be located on a server 364 or other
suitable equipment at the television distribution facility. Because
server 364 may have fewer memory size constraints than user
television equipment 358, relatively more applications may be
provided server 364 than may be provided on a single user
television equipment device. For example, two different banking
applications may be provided on server 364, giving the user a
choice as to which application the user prefers.
[0131] Applications may also be located on other user television
equipment within the user's home. For example, applications may be
located on equipment within the home that is connected to the
user's user television equipment with an in-home communications
path (e.g., a bus or other path, which may form an in-home
network). For example, a program guide application 368 may be
provided on secondary user television equipment 370 that is
connected to user television equipment 358 by communications path
372. Applications located on equipment within the home may also be
connected to the user's television equipment with a communications
path the leaves the home, such as a communications path involving a
remote server or the like. Further features of in-home network
arrangements are described in Ellis et al. U.S. patent application
Ser. No.______, filed concurrently herewith (Attorney Docket No.
UV-73), which is hereby incorporated by reference herein in its
entirety.
[0132] All of the applications at locations other than user
television equipment 358 may interact with and share resources with
non-program guide applications such as web browser application 374
and program guide application 376 that are located on user
television equipment 358. Application program interface 378 may
help to coordinate access to the various resources in the system.
This may be accomplished using any suitable communications
protocol. For example, applications located remote from user
television equipment 358 may send messages to application program
interface 378 requesting access to resources and the like using a
protocol such as Hypertext Transfer Protocol (HTTP) or an Internet
Protocol (IP).
[0133] An example of an in-home arrangement in which multiple
applications share resources is an arrangement in which a first
program guide is implemented on a first user television equipment
device and a second program guide is implemented on second user
television equipment. The first and second user television
equipment devices may be interconnected using any suitable in-home
network or communications paths. A user (e.g., a parent) may adjust
parental control settings or other program guide settings using the
first program guide. The adjusted settings are then used by the
second program guide. Application program interface 378 (which may
be implemented on either the first or second user television
equipment device) coordinates access of the first and second
program guides to the resources in the system.
[0134] Another example of an in-home arrangement in which multiple
applications share resources is an arrangement in which a program
guide is implemented on one user television equipment device and a
home shopping application is implemented on another user television
equipment device. The user television equipment devices may be
interconnected using any suitable in-home network or communications
paths. Application program interface 378 (which may be implemented
on either of the user television equipment devices) coordinates
access of the program guide and home shopping application to
resources in the system (e.g., program guide resources and
resources of the user television equipment devices). For example,
application program interface 378 may coordinate access to
purchasing resources of the program guide that are used by the home
shopping application.
[0135] The foregoing is merely illustrative of the principles of
this invention and various modifications can be made by those
skilled in the art without departing from the scope and spirit of
the invention.
* * * * *