# Patent

## Title
Providing a video user interface

## Abstract

Systems and methods are disclosed for providing a user interface. First, a first input may be received and a currently displayed programming content may be shrunken. Next, the shrunken programming content may be displayed. Then, in response to the received first input and concurrent with the shrunken programming content, a media guide comprising at least three display elements may be displayed. Each one of the three display elements may include a first content element, a second content element, a third content element, a fourth content element, or a fifth content element. The first content element may display available programming channels. The second content element may display programs available on the available programming channels. The third content element may display description information. The fourth content element may display actions that can be taken. The fifth content element may display an advertisement or information relative to one of the actions.

## Background
RELATED APPLICATIONS
Under provisions of 35 U.S.C. §119(e), Applicant claims the benefit of U.S. Provisional Application No. 60/881,888, entitled “Columnar Media Guide,” filed Jan. 23, 2007, and U.S. Provisional Application No. 60/897,341, entitled “Columnar Media Guide,” filed Jan. 25, 2007, both of which are hereby incorporated by reference. Related U.S. patent application Ser. No. 11/787,733, filed on even date herewith in the name of Lisa A. Pickelsimer and entitled “Providing a Lateral Search,” assigned to the assignee of the present application, is also hereby incorporated by reference. The present application is also related to U.S. application Ser. No. 11/651,140, filed on Jan. 9, 2007, U.S. application Ser. No. 12/126,025, entitled “PROVIDING A VIDEO USER INTERFACE” (60136.0036USI1), U.S. application Ser. No. 12/126,060, entitled “PROVIDING A SOCIAL NETWORK” (60136.0036USI2), U.S. application Ser. No. 12/126,096, entitled “PROVIDING A CONTENT MARK” (60136.0036USI3), U.S. application Ser. No. 12/126,126, entitled “PROVIDING A USER INTERFACE” (60136.0036USI4), and U.S. application Ser. No. 12/126,165, entitled “PROVIDING A CUSTOMIZED USER INTERFACE” (60136.0036USI5).
BACKGROUND
Service providers may deliver content to a user over a content delivery system. For example, conventional content delivery systems distribute the content to a first user and a second user independently. In other words, the first user may watch a sports program while the second user may simultaneously watch a video-on-demand program. Furthermore, service providers may provide along with the content, a grid-like guide showing what content is available at what time. Independent content use, however, does not create a socialized entertainment sense with the users. In addition, the grid-like guide provides very little interactive functionality. Consequently, the first user may be socially detached and isolated from the second user and the service provider. Stated another way, the conventional content delivery system may present an impersonal and unsocial user experience.
SUMMARY OF THE INVENTION
Consistent with embodiments of the present invention, systems and methods are disclosed for providing a user interface. First, a first input may be received and a currently displayed programming content may be shrunken. Next, the shrunken programming content may be displayed. Then, in response to the received first input and concurrent with the shrunken programming content, a media guide comprising at least three display elements may be displayed. Each one of the three display elements may include a first content element, a second content element, a third content element, a fourth content element, or a fifth content element. The first content element may display available programming channels. The second content element may display what programs are available on the programming channels. The third content element may display description information for programs. The fourth content element may display actions that can be taken. The fifth content element may display an advertisement or information relative to one of the actions in the fourth content element.
Both the foregoing general description and the following detailed description are examples and explanatory only, and should not be considered to restrict the invention's scope, as described and claimed. Further, features and/or variations may be provided in addition to those set forth herein. For example, embodiments of the invention may be directed to various feature combinations and sub-combinations described in the detailed description.



BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate various embodiments of the present invention. In the drawings:
FIG. 1 is a block diagram of an operating environment including an application server;
FIG. 2 is a block diagram of the communications processor;
FIG. 3 is a flow chart of a method for providing a user interface;
FIG. 4 is a diagram illustrating programming content;
FIG. 5 is a diagram illustrating a media guide;
FIG. 6 is a diagram illustrating another media guide; and
FIG. 7 shows a plurality of content element examples.



DETAILED DESCRIPTION
The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the following description to refer to the same or similar elements. While embodiments of the invention may be described, modifications, adaptations, and other implementations are possible. For example, substitutions, additions, or modifications may be made to the elements illustrated in the drawings, and the methods described herein may be modified by substituting, reordering, or adding stages to the disclosed methods. Accordingly, the following detailed description does not limit the invention. Instead, the proper scope of the invention is defined by the appended claims.
Service providers may deliver content to users over a content delivery system. In conventional systems, service providers may provide along with the content, a grid-like guide showing what content is available at what time. The conventional grid-like guide, however, provides very little interactive functionality. Consequently, the first user may be socially detached and isolated from other users or the service provider. Consistent with embodiments of the invention, a user interface may be provided. First, a first input may be received and a currently displayed programming content may be shrunken. Next, the shrunken programming content may be displayed. Then, in response to the received first input and concurrent with the shrunken programming content, a media guide comprising at least three display elements may be displayed. Each one of the three display elements may include a first content element, a second content element, a third content element, a fourth content element, or a fifth content element. Consequently, by using the media guide, the first user may be socially engaged with the service provider and other users thus creating a personalized experience.
FIG. 1 is a block diagram of a content delivery system 100. Consistent with embodiments of the present invention, system 100 may comprise an edge network 110, an edge quadrature amplitude modulation (QAM) device 115, a video-on-demand (VOD) server 120, a communications processor 125, a broadcast server 130, a modular cable modem termination system (M-CMTS) core 135, and a core network 140. In addition, system 100 may comprise, a hybrid fiber-coax (HFC) network 145, a set-top-box (STB) 150, a television (TV) 155, a cable modem (CM) 160, a portable device 165, a personal computer (PC) 170, and a STB control device 175. Communications processor 125 will be discussed in greater detail below with respect to FIG. 2.
Edge network 110 may comprise, a network providing, for example, full-duplex, two-way broadband services including broadband video and audio, cable television services, or telecommunications services. Edge network 110 may provide data by utilizing network data formats including, for example, i) Internet protocol (IP); ii) Ethernet; iii) digital subscriber line (DSL); iv) asynchronous transfer mode (ATM); and v) virtual private network (VPN). Edge network 110 may utilize managed network services. Edge network 110 may comprise various components including, for example, i) servers; ii) switches; iii) routers; iv) gateways; v) hubs; vi) fiber optic cable; vii) copper cable; and viii) terminations. The aforementioned are examples and edge network 110 may comprise other configurations for broadband service delivery and data switching over system 100.
Edge QAM 115 may provide modulation for various encoding formats (e.g. for data, audio, and video) and may distribute the signal down multiple broadband channels. Edge QAM 115 may modulate signals in, for example, multi-channel quadrature amplitude modulation. Edge QAM 115 may support broadcast and narrowcast with multi-program transport stream (MPTS) pass-through and single-program transport stream (SPTS) to MPTS multiplexing. Edge QAM 115 may meet data-over-cable service interface specification (DOCSIS) and downstream radio frequency interface (DRFI) performance specifications. Furthermore, edge QAM 115 may provide video over internet protocol and moving pictures expert group (MPEG) video simultaneously. Edge QAM 115 may provide various data switching functions and enable two-way, full-duplex communication within the broadband network. Edge QAM 115 may modulate and distribute broadcast multimedia services including, for example, i) a broadcast multi-media service; ii) a high-definition multimedia service; iii) a digital television multimedia service; iv) an analog multimedia service; v) a VOD service; vi) a streaming video service; vii) a multimedia messaging service; viii) a voice-over-internet protocol service (VoIP); ix) an interactive multimedia service; and x) an e-mail service. The aforementioned are examples and edge QAM 115 may comprise other configurations for different broadband and data services.
VOD server 120 may perform processes for providing video entertainment on demand. VOD server 120 may take MPEG compressed video off a hard disk or a networked service, format it into MPEG-TS packets inside a user datagram protocol (UDP) packet, and send it into edge network 110. Edge QAM 115 may receive the UDP packets, where Internet protocol (IP) encapsulation may be removed. The MPEG packets may be forwarded down one QAM channel on edge QAM 115 and onto HFC network 145.
Broadcast server 130 may perform processes for providing broadcast services. Broadcast server 130 may use a broadcast signal and a narrowcast signal to deliver broadcast services to a broadcast system. Broadcast server 130 may receive video, audio, and data from fiber optic input, wireless input, recorded tape, recorded digital video disc, or satellite input. Broadcast server 130 may utilize digital signal formats and analog signal formats. Furthermore, broadcast server 130 may comprise a specialized receiver and data switching equipment for broadband distribution. In addition, broadcast server 130 may provide broadband multimedia services including, for example, i) the broadcast multi-media service; ii) the high-definition multimedia service; iii) the digital television multimedia service; iv) the analog multimedia service; v) the VOD service; vi) the streaming video service; vii) the multimedia messaging service; viii) the voice-over-internet protocol service (VoIP); ix) the interactive multimedia service; and x) the e-mail service. The aforementioned are examples and broadcast server 130 may comprise other components and systems for providing broadcast services in system 100.
M-CMTS core 135 may receive IP datagrams from core network 140. M-CMTS core 135 may then forward these IP datagrams to either a single QAM channel within edge QAM 115 with traditional DOCSIS encapsulation, or may forward the IP datagrams to multiple QAM channels within edge QAM 115, for example, using DOCSIS bonding. M-CMTS core 135 may support DOCSIS features and end-to-end IP within a next generation network architecture (NGNA), for example.
Core network 140 may comprise any data or broadband network that may provide data and services to edge network 110, communications processor 125, broadcast server 130, or M-CMTS core 135. For example, core network 140 may comprise the Internet. In addition, core network 140 may comprise various components including, for example, i) servers; ii) switches; iii) routers; iv) gateways; v) hubs; vi) fiber optic cable; vii) copper cable; and viii) terminations. The aforementioned are examples and core network 140 may comprise other components and may supply other services using various other formats.
HFC network 145 may comprise a communications network (e.g. a cable TV network) that uses optical fiber, coaxial cable, or an optical fiber coaxial cable combination. Fiber in HFC network 120 may provide a high-speed backbone for broadband services. Coaxial cable may connect end users in HFC network 120 to the backbone. Such networks may use, for example, matching DOCSIS cable modems at a head end and at an end user's premises. Such a configuration may provide bi-directional paths and Internet access.
STB 150 may comprise a single component or a multi-component system for receiving broadband services. STB 150 may comprise a service consumer system combining several components including, for example, a set top box, cable modem 160, a network interface unit, a residential gateway, a terminal unit, a scrambler/descrambler, a digital storage media unit, an input/output port, a display device, a keyboard, and a mouse. STB 150 may encode and decode digital and analog signals, and provide interface capability for other components. STB 150 may utilize various operating systems and other software components. The end user's premises may contain STB 150. STB 150 may include all the functionality provided by a cable modem, such as CM 160, in one component and attach to TV 155, for example.
TV 155 may comprise an end use device for displaying delivered broadband services. TV 155 may comprise, for example, a television, a high definition television (HDTV), a liquid crystal display unit (LCD), a video projection unit, or PC 170. The aforementioned are examples and TV 155 may comprise other display devices for delivered broadband services.
CM 160 may comprise, for example, a cable modem, a network server, a wireless fidelity data switch, or an Ethernet switch. CM 160 may provide data services to the user by accessing DOCSIS services from system 100. CM 160 may provide Internet access, video, or telephone services. The aforementioned are examples and CM 160 may comprise other data delivery devices.
Portable device 165 or PC 170 may comprise any personal computer, network switch, wireless switch, network hub, server, personal digital assistant, and home computing device. Portable device 165 or PC 170 may serve as user devices for data access from system 100. Portable device 165 and PC 170 may transmit and receive data and services from system 100.
STB control device 175 may comprise any input and output device for interfacing with STB 150 or TV 155. For example, STB control device 175 may be a remote control for using STB 150. STB control device 175, after proper programming, may interface with STB 150.
Embodiments consistent with the invention may comprise a system for providing a user interface. The system may comprise a memory storage and a processing unit coupled to the memory storage. The processing unit may be operative to display a media guide comprising at least three display elements. Each one of the at least three display elements may respectively include a first content element, a second content element, a third content element, a fourth content element, or a fifth content element. The first content element may be configured to display a plurality of available programming channels. The second content element may be configured to display a plurality of programs available on one of the plurality of available programming channels. The third content element may be configured to display description information corresponding to one of the plurality of programs. The fourth content element may be configured to display a plurality of actions that can be taken with respect to the one of the plurality of programs. The fifth content element may be configured to display an advertisement or information relative to one of the plurality of actions.
Consistent with embodiments of the present invention, the aforementioned memory, processing unit, and other components may be implemented in a content delivery system, such as system 100 of FIG. 1. Any suitable combination of hardware, software, and/or firmware may be used to implement the memory, processing unit, or other components. By way of example, the memory, processing unit, or other components may be implemented with communications processor 125, in combination with system 100. The aforementioned system and processors are examples and other systems and processors may comprise the aforementioned memory, processing unit, or other components, consistent with embodiments of the present invention.
FIG. 2 shows communications processor 125 of FIG. 1 in more detail. As shown in FIG. 2, communications processor 125 may include a processing unit 210 and a memory unit 215. Memory 215 may include a user interface software module 220 and a user interface database 225. While executing on processing unit 210, user interface software module 220 may perform processes for providing a user interface, including, for example, one or more stages included in method 300 described below with respect to FIG. 3. Furthermore, user interface software module 220 and user interface database 225 may be executed on or reside in any element shown in FIG. 1. Moreover, any one or more of the stages included in method 300 may be performed on any element shown in FIG. 1 including, but not limited to, STB 150, TV 155, CM 160, PC 170, or portable device 165.
Communications processor 125 (“the processor”) may be implemented using a personal computer, a network computer, a mainframe, or other similar microcomputer-based workstation. The processor may comprise any computer operating environment, such as hand-held devices, multiprocessor systems, microprocessor-based or programmable sender electronic devices, minicomputers, mainframe computers, and the like. The processor may also be practiced in distributed computing environments where tasks are performed by remote processing devices. Furthermore, the processor may comprise a mobile terminal, such as a smart phone, a cellular telephone, a cellular telephone utilizing wireless application protocol (WAP), personal digital assistant (PDA), intelligent pager, portable computer, a hand held computer, a conventional telephone, a wireless fidelity (Wi-Fi) access point, or a facsimile machine. The aforementioned systems and devices are examples and the processor may comprise other systems or devices.
FIG. 3 is a flow chart setting forth the general stages involved in a method 300 consistent with an embodiment of the invention for providing a user interface. Method 300 may be implemented using communications processor 125 as described in more detail above with respect to FIG. 2. Ways to implement the stages of method 300 will be described in greater detail below. Method 300 may begin at starting block 305 and proceed to stage 310 where communications processor 125 may receive a first input. For example, as shown in FIG. 4, a user may be viewing a programming content 405 on TV 155. While viewing programming content 405, the user may desire to use a media guide. Accordingly, the user may press a button on control device 175 associated with the media guide. Once the button is pressed, control device 175 may send the first input to STB 150 that may then send the first input to communications processor 125. Furthermore, as another example, a menu (not shown) may be placed on programming content 405 on TV 155. The user may then select, using control device 175, an element from the menu associated with the media guide. In response to the user selecting this element, STB 150 may send the first input to communications processor 125. The aforementioned are examples, and the user may view programming content 405 on any device including, but not limited to, portable device 165 and PC 170. Furthermore, the first input may be communicated to communications processor in any way.
From stage 310, where communications processor 125 receives the first input, method 300 may advance to stage 320 where communications processor 125 may shrink currently displayed programming content 405. Once communications processor 125 shrinks currently displayed programming content 405 in stage 320, method 300 may continue to stage 330 where communications processor 125 may display a shrunken programming content 505 as shown in FIG. 5. For example, in response to the first input, communications processor 125 may display on TV 155 shrunken programming content 505. Shrunken programming content 505, for example, may comprise a shrunken version of programming content 405. Furthermore, shrunken programming content 505 may correspond to the currently selected program when the guide is first invoked (i.e., the guide comes up on time, on channel.) However, when the user navigates to other programming in the guide, new descriptive information may be provided in the third content element, but shrunken programming content 505 may remain on the channel the user was last viewing just prior to invoking the guide.
After communications processor 125 displays shrunken programming content 505 in stage 330, method 300 may proceed to stage 340 where communications processor 125 may display, in response to the received first input and concurrent with shrunken programming content 505, a media guide 510 as shown in FIG. 5. Shrunken programming content 505 and media guide 510 may be displayed in combination as display 500. Display 500, for example, may be configured to fit at least the width of a high-definition television (HDTV) display. Media guide 510 may comprise at least three display elements, for example, a first card 515, a second card 520, and a third card 525. While FIG. 5 shows three display elements, more than three may be used. For example, any of the at least three display elements may comprise a first content element, a second content element, a third content element, a fourth content element, and a fifth content element. The aforementioned five content elements will be described in more detail below. Furthermore, as will also be described in more detail below, FIG. 7 shows a plurality of content element examples that may be used consistent with embodiments of the invention.
First card 515 in FIG. 5 shows an example of a first content element. The first content element may be configured to display a plurality of available programming channels 540 available, for example, from the service provider over content delivery system 100. A selected one of the plurality of available programming channels 545 may correspond to programming content currently displayed (e.g. shrunken programming content 505.) Additional programming channels may be displayed in the first content element by scrolling the first content element.
Second card 520 in FIG. 5 shows an example of a second content element. The second content element may be configured to display a plurality of programs 550 available, for example, on selected one of the plurality of available programming channels 545. In addition, the second content element may be configured to display the plurality of programs available during, for example, a predetermined time period. As shown in FIG. 5, the second content element shows plurality of programs 550 available between 6:00 PM and 9:30 PM on selected one of the plurality of available programming channels 545. A program 555, within plurality of programs 550, corresponding to programming content currently displayed (e.g. shrunken programming content 505) may be highlighted.
Third card 525 in FIG. 5 shows an example of a third content element. The third content element may be configured to display description information corresponding to one of the plurality of programs. For example, the third content element shown in FIG. 5 shows description information corresponding to selected one of the plurality of available programming channels 545. In other words, the description information in the third content element may describe what was, is, or will be presented in program 555. As will be described in greater detail below, the description information displayed in the third content element may be toggled between varying degrees of less detailed information and more detailed information.
FIG. 6 shows another example of a display as display 600 including shrunken programming content 505 and media guide 510. Display 600 shows examples of the aforementioned fourth content element and fifth content element. As shown in FIG. 6. fourth card 605 shows an example of the fourth content element. The fourth content element may be configured to display a plurality of actions 610 that can be taken with respect to one of the plurality of programs (e.g. program 555.) For example, plurality of actions 610 may comprise, but are not limited to, a watch now action, a record action, a see full details action, a search action, an add to my picks action, a send an invitation action, and a rate program action. Selecting the watch now action may display content associated with a program selected in second card 520. Selecting the record action may cause a program selected in second card 520 to be recorded. In addition, selecting the see full details action may cause full details associated with a program selected in second card 520 to be displayed. Long description information associated with the full details may comprise an overlay rather than being displayed in the third content element because more space may be used to display all of the information. Deselecting the see full details action may cause a short version of the details to be displayed in third card 525. Selecting the search action may cause a lateral search to be performed relative to a program selected in second card 520. The search action may allow the user to find related shows. Furthermore, the search may allow the user to find the next time a program selected in second card 520 is airing so that the user could set a recording. Or the user may like a program selected in second card 520 and may use the search action to find similar programs in hopes of finding desirable content.
In addition, the user may find a program selected in second card 520 very desirable. Consequently, the user may wish to select the add to my picks action so that the user's friends (e.g. buddies that the user has previously identified) can see that the user likes the program selected in second card 520. Accordingly, one of the user's friends might have an interest in viewing the program selected in second card 520. In addition, the user may send an recommendation to a particular friend who the user believes may have an interest in the program selected in second card 520. Selecting the send an invitation action may allow the user to send this recommendation. Furthermore, selecting the rate program action may allow the user to give their own rating or opinion regarding the program selected in second card 520.
Fifth card 615 in FIG. 6 shows an example fifth content element. The fifth content element may be configured to display, for example, an advertisement or information relative to one of the plurality of actions. For example, the service provider may configure the fifth content element to display an advertisement for goods or services related to the selected programming from 520. The advertisement may offer for sale merchandise related to the selected programming from 520. For example, if the selected programming from 520 includes a sporting event, the fifth content element may display an advertisement for team logo merchandise for teams in the sporting event. Furthermore, the advertisement may show upcoming programs to be presented on selected one of the plurality of available programming channels 545. Notwithstanding, the fifth content element may be configured to display any advertisement.
Furthermore, the fifth content element may be configured to display, for example, information relative to the one of the plurality of actions selected in the fourth content element. The information may provide instructions on performing one of the plurality of actions selected in the fourth content element. For example, if the selected action in the fourth content element, is simple (e.g. a watch now action), the fifth content element may be configured to display an advertisement. However, if the selected action in the fourth content element is more complicated, the fifth content element may be configured to display instructions on performing the selected action. For example, if the selected action in the fourth content element comprises a search action, then the fifth content element may be configured to display instructions on performing the search action.
From stage 340, where communications processor 125 displays media guide 510, method 300 may advance to stage 350 where communications processor 125 may receive a second input. For example, communications processor 125 may receive the second input in response to the user selecting (e.g. using control device 175) a first user selectable element 530 as shown if FIG. 5 or a second user selectable element 620 as shown in FIG. 6.
Once communications processor 125 receives the second input in stage 350, method 300 may continue to stage 360 where communications processor 125 may re-display at least a portion of media guide 510. For example, If the user selects first user selectable element 530 twice, the cards shown in FIG. 5 may scroll to the left two places. As a result, third card 525 may shift (scroll) from the right-most position (as shown in FIG. 5) to the left-most position (as shown in FIG. 6.) In this way, media guide 510 may be re-displayed with different ones of the first content element, the second content element, the third content element, the fourth content element, and the fifth content element filling the at least three display elements comprising media guide 510. Furthermore, if the user selects a third user selectable element 535 as shown in FIG. 5, programming content 405 on TV 155 may be redisplayed thus showing a full view of the content (e.g. instead of shrunken programming content 505), removing media guide 510 from view and introducing a main menu. If the user selects a fourth user selectable element 535, the main menu may be removed and a full view of programming content 405 may be visible. Once communications processor 125 re-displays at least a portion of media guide 510 in stage 360, method 300 may then end at stage 370.
FIG. 7 shows a plurality of content element examples. The plurality of content element shown in FIG. 7 are examples and others may be used. As described above, FIG. 7 shows examples of first card 515, second card 520, third card 525, fourth card 605, and fifth card 615. In addition, FIG. 7 shows examples of a sixth card 705, a seventh card 710, an eighth card 715, a ninth card 720, a tenth card 725, an eleventh card 730, and a twelfth card 735. Consistent with embodiments of the invention, there may be two types of cards, list cards and information cards. Any of the plurality of content elements shown in FIG. 7 may be used and tabbed through the three display elements as described above with respect to FIG. 3.
As described above, list cards may contain list items and optionally may contain icons. Lists items and icons may always be selectable. For example, first card 515 may comprise a channel card containing a list of channels. Second card 520 may comprise a program card containing a list of programs found on a particular channel. Eighth card 715 may comprise a directory card containing a list of directories. For example, an “On Demand” branch can have FreeZone, Premium Networks, and Movies on Demand directories that in turn can have their own subdirectories. Tenth card 725 may comprise a search results card that may comprise a special type of list card that may contain a search text box at the top and list items at the bottom. Eleventh card 730 may comprise a people card containing a list of users in a household or buddies. Each item in eleventh card 730 may be supplemented with an avatar or icon. Twelfth card 735 may comprise a club card that may be similar to the people card except that it may contain a list of clubs.
Information cards may contain static information such as a summary of a program, instructional text, or an ID of a program. Information cards may not be selectable. For example, third card 525 may comprise a summary card containing information about objects such as broadcast programs or interactive television applications. Sixth card 705 may comprise an ID card containing branding and promotional information for entities that may: i) have special client driven display needs; or ii) have a child tree. On Demand channels may be an example of an object with an ID card. ID cards may be, for example, signposts in the tree. Seventh card 710 may comprise a comment card contain tooltip-style help text and status information about a particular leaf-level action. For example, the comment card for a “Send An Interactive TV Invitation” action may at first explain the feature, then after the invitation has been sent, display when it was sent and to whom. Most, but not all leaf-level actions have comment cards. Actions without comment cards may be referred to as terminal. Fifth card 615 may comprise a promo card containing advertising or other promotional information. Promo cards may appear in context with actions that do not have an associate comment card (e.g., Watch Now in the Guide.) Ninth card 720 may comprise a text entry card containing a keyboard representation. In this example, a number pad may be represented on the card. The first child of the text entry card may be a selected form field. When the user types using, for example, a number key on device 175, the typing may appear in a text field.
Embodiments of the invention, for example, may be implemented as a computer process (method), a computing system, or as an article of manufacture, such as a computer program product or computer readable media. The computer program product may be a computer storage media readable by a computer system and encoding a computer program of instructions for executing a computer process. The computer program product may also be a propagated signal on a carrier readable by a computing system and encoding a computer program of instructions for executing a computer process. Accordingly, the present invention may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.). In other words, embodiments of the present invention may take the form of a computer program product on a computer-usable or computer-readable storage medium having computer-usable or computer-readable program code embodied in the medium for use by or in connection with an instruction execution system. A computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
The computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific computer-readable medium examples (a non-exhaustive list), the computer-readable medium may include the following: an electrical connection having one or more wires, a portable computer diskette, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, and a portable compact disc read-only memory (CD-ROM). Note that the computer-usable or computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory.
Embodiments of the present invention, for example, are described above with reference to block diagrams and/or operational illustrations of methods, systems, and computer program products according to embodiments of the invention. The functions/acts noted in the blocks may occur out of the order as shown in any flowchart. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
While certain embodiments of the invention have been described, other embodiments may exist. Furthermore, although embodiments of the present invention have been described as being associated with data stored in memory and other storage mediums, data can also be stored on or read from other types of computer-readable media, such as secondary storage devices, like hard disks, floppy disks, or a CD-ROM, a carrier wave from the Internet, or other forms of RAM or ROM. Further, the disclosed methods'stages may be modified in any manner, including by reordering stages and/or inserting or deleting stages, without departing from the invention.
All rights including copyrights in the code included herein are vested in and the property of the Applicant. The Applicant retains and reserves all rights in the code included herein, and grants permission to reproduce the material only in connection with reproduction of the granted patent and for no other purpose.
While the specification includes examples, the invention's scope is indicated by the following claims. Furthermore, while the specification has been described in language specific to structural features and/or methodological acts, the claims are not limited to the features or acts described above. Rather, the specific features and acts described above are disclosed as example for embodiments of the invention.

## Claims

1. A method for providing a user interface, the method comprising:
displaying a media guide comprising at least three display elements, the at least three display elements respectively comprising a first display element, a second display element displayed to the right of the first display element, and a third display element displayed to the right of the second display element, wherein displaying the media guide comprises displaying a plurality of content elements within the media guide, wherein each of the at least three display elements comprise at least one different content element of the plurality of content elements, the plurality of content elements comprising the following:
a first content element configured to display a listing of at least one available programming channel;
a second content element configured to display at least one program available on the at least one available programming channel;
a third content element configured to display description information corresponding to the at least one available program;
a fourth content element configured to display a plurality of actions that can be taken with respect to the at least one available program; and
a fifth content element configured to:
display instructional information associated with a selected one of the plurality of actions when the selected one of the plurality of actions requires the instructional information to be displayed, and
display an advertisement for one of goods and services corresponding to a currently displayed programming content description when the selected one of the plurality of actions does not require the instructional information to be displayed, the advertisement comprising promotional information associated with the currently displayed programming content description;


receiving a user input; and
redisplaying, in response to receiving the user input, the at least three display elements, wherein redisplaying the at least three display elements comprises:
determining an amount to shift the at least three display elements based on the user input,
removing from display a displayed content element of the plurality of content elements, and
displaying a previously undisplayed content element of the plurality of content elements.

2. The method of claim 1, wherein displaying the media guide comprises displaying the media guide in response to a received first input.

3. The method of claim 2, wherein displaying the media guide in response to the received first input comprises displaying the media guide in response to the first input received from a control device.

4. The method of claim 1, wherein displaying the media guide comprises displaying the media guide in response to a received first input, the first input being received in response to a user selecting a menu element from a displayed menu.

5. The method of claim 1, wherein displaying the media guide comprises:
shrinking a currently displayed programming content; and
displaying the shrunken programming content concurrently with the media guide.

6. The method of claim 5, wherein displaying the shrunken programming content concurrently with the media guide comprises displaying the shrunken programming content concurrently with the media guide to fit at least the width of a high-definition television (HDTV) display.

7. The method of claim 1, wherein displaying the media guide comprises displaying the media guide wherein a one of the at least three display elements includes the first content element configured to display the plurality of available programming channels wherein a selected one of the plurality of available programming channels corresponds to programming content currently displayed.

8. The method of claim 1, wherein displaying the media guide comprises displaying the media guide wherein a one of the at least three display elements includes the second content element configured to display the plurality of programs available during a predetermined time period.

9. The method of claim 1, wherein displaying the media guide comprises displaying the media guide wherein a one of the at least three display elements includes the third content element configured to display the description information corresponding to currently selected programming content.

10. The method of claim 1, wherein displaying the media guide comprises displaying the media guide wherein a one of the at least three display elements includes the fourth content element configured to display the plurality of actions comprising at least two of the following: a watch now action, a record action, see full details action, a search action, an add to my picks action, a send an invitation action, and a rate program action.

11. The method of claim 1, wherein displaying the media guide comprises displaying the media guide wherein a one of the at least three display elements includes the fifth content element configured to display information relative to the one of the plurality of actions selected in the fourth content element, the information providing instructions on performing the one of the plurality of actions selected in the fourth content element.

12. The method of claim 1, wherein redisplaying the at least three display element comprises:
removing from display the content of the first display element,
scrolling the content of the second display element to the first display element,
scrolling the content of the third display element to the second display element, and
displaying in the third content element a content element different from the content elements being displayed in the first display element and the second display element.

13. The computer-readable non-transitory medium which stores a set of instructions which when executed performs a method for providing a user interface, the method executed by the set of instructions comprising:
receiving a first input;
shrinking, in response to the received first input, a currently displayed programming content, wherein shrinking the currently displayed programming content comprises shrinking the currently displayed programming content in proportion to dimensions of the currently displayed programming content;
displaying the shrunken programming content in a top portion of a display, the shrunken programming content being centered left-to-right in the display, the top portion of the display comprising no more than one-half of the display;
displaying, in response to the received first input and concurrent with the shrunken programming content, a media guide comprising at least three display elements, the at least three display elements respectively comprising a first display element, a second display element displayed to the right of the first display element, and a third display element displayed to the right of the second display element, the media guide being displayed beneath the displayed shrunken programming content, wherein displaying the media guide comprises displaying a plurality of content elements within the media guide, wherein each of the at least three display elements comprise at least one different content element of the plurality of content elements, the plurality of content elements comprising the following:
a first content element configured to display a listing of at least one available programming channel;
a second content element configured to display at least one program available on the at least one available programming channel;
a third content element configured to display description information corresponding to the at least one available program, the third content element comprising a user selectable element enabling an overlay of long description information;
a fourth content element configured to display a plurality of actions that can be taken with respect to the at least one available program, wherein one of the plurality of actions is configured to enable a user to share comments regarding the currently displayed program content;
a fifth content element configured to display:
when the selected one of the plurality of actions requires the instructional information to be displayed, instructional information associated with a selected one of the plurality of actions, and
when the selected one of the plurality of actions does not require the instructional information to be displayed, an advertisement for one of goods and services corresponding to a currently displayed programming content description, the advertisement comprising promotional content associated with the currently displayed programming content description,

a sixth content element configured to enable the user to enter the comments regarding the currently displayed program content;

receiving a second input, and
in response to receiving the second input,
determining an amount to scroll the at least three display elements based on the user input,
removing from display the content of the first display element,
scrolling the content of the second display element to the first display element,
scrolling the content of the third display element to the second display element, and
displaying in the third content element a content element different from the content elements being displayed in the first display element and the second display element.

14. The computer-readable non-transitory medium of claim 13, wherein displaying the media guide comprises displaying the media guide wherein a one of the at least three display elements includes the first content element configured to display the plurality of available programming channels wherein a selected one of the plurality of available programming channels corresponds to programming content currently displayed.

15. The computer-readable non-transitory medium of claim 13, wherein displaying the media guide comprises displaying the media guide wherein a one of the at least three display elements includes the second content element configured to display the plurality of programs available during a predetermined time period.

16. The computer-readable non-transitory medium of claim 13, wherein displaying the media guide comprises displaying the media guide wherein a one of the at least three display elements includes the third content element configured to display the description information corresponding to currently selected programming content.

17. The computer-readable non-transitory medium of claim 13, wherein displaying the media guide comprises displaying the media guide wherein a one of the at least three display elements includes the fourth content element configured to display the plurality of actions comprising at least two of the following: a watch now action, a record action, see full details action, a search action, an add to my picks action, a send an invitation action, and a rate program action.

18. The computer-readable non-transitory medium of claim 13, wherein displaying the media guide comprises displaying the media guide wherein a one of the at least three display elements includes the fifth content element configured to display one of the following: the advertisement corresponding to a currently displayed programming content and the information relative to the one of the plurality of actions selected in the fourth content element, the information providing instructions on performing the one of the plurality of actions selected in the fourth content element.

19. A system for providing a user interface, the system comprising:
a memory storage; and
a processing unit coupled to the memory storage, wherein the processing unit is operative to:
display a media guide comprising at least three display elements, the at least three display elements respectively comprising a first display element, a second display element displayed to the right of the first display element, and a third display element displayed to the right of the second display element, wherein displaying the media guide comprises displaying a plurality of content elements within the media guide, wherein each of the at least three display elements comprise at least one different content element of the plurality of content elements, the plurality of content elements comprising the following:
a first content element configured to display a listing of at least one available programming channel;
a second content element configured to display at least one program available on the at least one available programming channel;
a third content element configured to display description information corresponding to the at least one available program, the third content element comprising a first user selectable element which, upon selection, causes a display of a long description associated with the at least one available program over the third content element, the long description comprising a second user selectable element which, upon selection, returns the display of the description information as initially displayed in the third content element;
a fourth content element configured to display a plurality of actions that can be taken with respect to the at least one available program; and
a fifth content element configured to:
when the one of the plurality of actions is selected, display information relative to one of the plurality of actions selected in the fourth content element, the information providing instructions on performing the one of the plurality of actions selected in the fourth content element,
when the selected one of the plurality of actions does not require the information relative to one of the plurality of actions selected in the fourth content element to be displayed, display promotional information associated with the currently displayed programming content description;


receive a user input; and
redisplay, in response to receiving the user input, the at least three display elements by determining an amount to scroll the at least three display elements based on the user input,
remove from display a displayed content element of the plurality of content elements, and
display a previously undisplayed content element of the plurality of content elements.

20. The system of claim 19, wherein the processing unit is further operative to, in response to receiving the user input:
remove from display the content of the first display element,
scroll the content of the second display element to the first display element,
scroll the content of the third display element to the second display element, and
display in the third content element a content element different from the content elements being displayed in the first display element and the second display element.