Expandable history tab in interactive graphical user interface systems and methods

In one of many possible examples, a system includes a media content processing subsystem configured to successively display a plurality of history tabs configured to graphically represent and facilitate access to a corresponding plurality of hierarchical representations within a browsing thread. The media content processing subsystem is further configured to collapse at least two of the history tabs into an expandable history tab after a pre-determined number of the history tabs are displayed. The expandable history tab is configured to graphically represent and facilitate access to a plurality of the hierarchical representations within the browsing thread.

BACKGROUND INFORMATION

The advent of computers, interactive electronic communication, the Internet, and other advances in the digital realm of consumer information utilization have resulted in a great variety of enhanced programming, recording, and viewing options for users who view media content such as television programs. In implementing such enhanced options, the set-top box (“STB”) has become an important computing device for accessing media content services and the media content within those services. In addition to supporting traditional analog broadcast video functionality, STBs also support an increasing number of two-way communication approaches that facilitate services such as video-on-demand, internet protocol television (“IPTV”), and personal video recording.

An STB is typically connected to a cable or satellite, or generally, a subscriber television system, and includes hardware and software necessary to provide enhanced options for a subscriber television system at a subscriber location. Conventional STBs include a processor, communication components, and memory and are connected to a television or other display device, such as a personal computer. While many STBs are stand-alone devices that are externally connected to a television, an STB and/or its functionality may be integrated into a television or personal computer, a mobile device such as a mobile phone or a personal digital assistant (“PDA”), or even into an audio device such as a programmable radio, as is known.

An STB is usually configured to provide users with a large number and variety of media content choices. For example, a user may choose to view a variety of broadcast television programs, pay-per-view services, video-on-demand programming, Internet services, and audio programming via an STB. A user may additionally or alternatively choose to communicate, shop, and/or otherwise interact with third parties via the STB.

However, the large number of options available via a STB often makes it difficult for an STB user to effectively manage and easily access those options. For example, it is often cumbersome to find and select a desired media content instance for viewing and/or access any of the other features of the STB. On-screen graphical user interfaces have alleviated this confusion to some degree. However, many on-screen user interfaces are difficult to use and therefore result in missed viewing opportunities.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Exemplary systems and methods for providing a capability of searching and/or browsing through content that may be available via a media content processing subsystem are described herein. As used herein, the term “content” will be used to refer generally to any option, feature, media content instance, and/or directory thereof that is accessible via a media content processing subsystem.

The exemplary systems and methods described herein generally enable a user to easily, effectively, and intuitively search for and/or browse through content available via a media content processing subsystem. In some examples, a user may access and navigate through any content available via the media content processing subsystem simply by using the navigational buttons located on any user input device (e.g., a remote control).

In some examples, a media content processing subsystem, such as a set-top box (“STB”), is configured to display an interactive graphical user interface through which a user may search for and/or browse through content available via the media content processing subsystem. To this end, a list of selectable hierarchical representations (e.g., directories) may be displayed within the interactive graphical user interface. As the user selects successive hierarchical representations, a browsing thread or path is created and a plurality of history tabs are successively displayed. The history tabs are configured to graphically represent and facilitate access to a corresponding plurality of hierarchical representations within the browsing thread created by the user. After a pre-determined number of history tabs are displayed, at least two of the history tabs are collapsed into an expandable history tab. The expandable history tab is configured to graphically represent and facilitate access to a plurality of hierarchical representations within the browsing thread. In this manner, a user may easily return to a desired point within the browsing thread by selecting the expandable history tab and/or any of the other history tabs that are displayed within the interactive graphical user interface.

Components and functions of the exemplary systems and methods described herein will now be described in more detail.

II. Exemplary System View

FIG. 1illustrates an exemplary media content access system100. Media content access system100may take many different forms and include multiple and/or alternate components and facilities.

As shown inFIG. 1, a media content processing subsystem110is configured to communicate with and receive a signal or data stream (e.g., a media content stream) containing a media content instance from a media content provider111. As used herein, the term “media content instance” will be used to refer generally to any television program, on demand program, pay-per-view program, broadcast media program, IPTV, commercial, advertisement, video, movie, song, image, photograph, sound, or any segment of these or other forms of media content that may be experienced or viewed by a user.

The media content processing subsystem110and media content provider111may communicate using any known communication technologies, devices, media, and protocols supportive of remote data communications, including, but not limited to, cable networks, subscriber television networks, satellite networks, the Internet, intranets, local area networks, wireless networks (e.g., mobile telephone networks), optical fiber networks, data transmission media, communications devices, Transmission Control Protocol (“TCP”), Internet Protocol (“IP”), File Transfer Protocol (“FTP”), telnet, Hypertext Transfer Protocol (“HTTP”), socket connections, Ethernet, and other suitable communications networks and technologies.

The media content processing subsystem110may use any suitable technology or technologies to receive the media content instance from the media content provider111, including using a tuner to receive the media content instance, as described below. The media content processing subsystem110may be configured to process the media content stream provided by the media content provider111, including causing the media content instance, or one or more components (e.g., video and/or audio components) of the media content instance, to be presented for experiencing (e.g., viewing) by a user. The presentation of the media content instance may include, but is not limited to, displaying, playing back, or otherwise processing the media content instance, or one or more components of the media content instance, such that it may be experienced by the user. For example, the media content processing subsystem110may provide a signal to a display device112(e.g., a television, computer monitor, etc.) so that the display device112may present (e.g., display) the media content instance for experiencing by the user.

As shown inFIG. 1, and as will be described in more detail below, the media content processing subsystem110may be controlled by a user input device113(e.g., a remote control device) and/or a number of additional access devices114(e.g., a personal computer, wireless device, mobile phone, etc.).

While an exemplary media content access system100is shown inFIG. 1, the exemplary components illustrated inFIG. 1are not intended to be limiting. Indeed, additional or alternative components and/or implementations may be used, as is well known. Each of the components of system100will now be described in additional detail.

A. Media Content Provider

Media content provider111is configured to provide various types of media content via a satellite, cable system, subscriber television network, the Internet, optical fiber network, wireless network, or any other suitable network. The media content may include, but is not limited to audio-visual content (e.g., broadcast television programs, pay-per-view services, Internet Protocol Television (“IPTV”), Digital Video Disc (“DVD”) related content, or video-on-demand programming), pre-recorded media content, data communication services such as Internet services, images, and audio programming.

An exemplary media content provider111includes a media content provider server121, as shown inFIG. 2. The media content provider server121may be configured to communicate with the media content processing subsystem110via one or more types of networks120(and communications links thereto). The network120shown inFIG. 2may include the Internet, an intranet or other private packet-switched network, a cable television network (e.g., hybrid fiber-coax network), a wireless broadcast network (e.g., a satellite media broadcasting network or terrestrial broadcasting network), a telephone network, a provider-specific network (e.g., a Verizon® FIOS® network and/or a TiVo®) network), an optical fiber network, or any other suitable network. In some alternative examples, the processing subsystem110may be connected directly to the media content provider server121

B. Display Device

As mentioned, the processing subsystem110may be coupled to a display device112configured to present media content to a user. For example, the display device112may display or play the media content. The display device112may include, but is not limited to, a television, computer monitor, mobile phone, handheld device, or any other device configured to present media content to a user.

C. Media Content Processing Subsystem

FIG. 3is a block diagram of an exemplary media content processing subsystem110(or simply “processing subsystem110”). The processing subsystem110may include any combination of hardware, software, and firmware configured to process an incoming media content stream. As used herein and in the appended claims, unless otherwise specifically denoted, the terms “media content processing subsystem” and “processing subsystem” will be used to refer expansively to all possible devices that receive and process digital and/or analog media content. Hence, an exemplary processing subsystem110may include, but is not limited to, a set-top box (“STB”), a home communication terminal (“HCT”), a digital home communication terminal (“DHCT”), a stand-alone personal video recorder (“PVR”), a television set, a DVD player, a video-enabled phone, and/or a personal computer.

In some examples, the processing subsystem110may include any computer hardware and/or instructions (e.g., software programs), or combinations of software and hardware, configured to perform the processes described herein. In particular, it should be understood that processing subsystem110may be implemented on one physical computing device or may be implemented on more than one physical computing device. Accordingly, processing subsystem110may include any one of a number of well known computing devices, and may employ any of a number of well known computer operating systems, including, but by no means limited to, known versions and/or varieties of the Microsoft Windows® operating system, the UNIX operating system, Macintosh® operating system, and the Linux® operating system.

Accordingly, the processes described herein may be implemented at least in part as instructions executable by one or more computing devices. In general, a processor (e.g., a microprocessor) receives instructions, e.g., from a memory, a computer-readable medium, etc., and executes those instructions, thereby performing one or more processes, including one or more of the processes described herein. Such instructions may be stored and transmitted using a variety of known computer-readable media.

A computer-readable medium (also referred to as a processor-readable medium) includes any medium that participates in providing data (e.g., instructions) that may be read by a computer (e.g., by a processor of a computer). Such a medium may take many forms, including, but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media may include, for example, optical or magnetic disks and other persistent memory. Volatile media may include, for example, dynamic random access memory (“DRAM”), which typically constitutes a main memory. Transmission media may include, for example, coaxial cables, copper wire and fiber optics, including the wires that comprise a system bus coupled to a processor of a computer. Transmission media may include or convey acoustic waves, light waves, and electromagnetic emissions, such as those generated during radio frequency (“RF”) and infrared (“IR”) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip or cartridge, or any other medium from which a computer can read.

While an exemplary processing subsystem110is shown inFIG. 3, the exemplary components illustrated inFIG. 3are not intended to be limiting. Indeed, additional or alternative components and/or implementations may be used. Various components of the processing subsystem110will now be described in additional detail.

1. Communication Interfaces

As shown inFIG. 3, the processing subsystem110may include a communication interface131configured to receive media content in any format from the media content provider111or from any other suitable media content source. The communication interface131may include any device, logic, and/or other technologies suitable for receiving signals and/or data representative of media content. In some examples, the communication interface131may include a single port configured to receive media content from the media content provider111and/or from any other source (e.g., from another processing subsystem, another server, etc.) For example, the communication interface131may include or be connected to a broadband connection, which can enable the processing subsystem110to receive media content on a single port from multiple sources. In other examples, multiple ports may be used. The communication interface131may be configured to interface with any suitable communication media, protocols, and formats, including any of those mentioned above.

The processing subsystem110may also include a receiver132configured to receive one or more input commands from one or more user input devices113. An exemplary user input device113will be described in more detail below.

A number of additional access devices114may also be configured to communicate with the processing subsystem110. These access devices114may include, but are not limited to, personal computers and mobile devices (e.g., laptops, PDAs, cellular phones, etc.). In some examples, the access devices114may be configured to access content stored and/or processed by the processing subsystem110. For example, media content that has been recorded by the processing subsystem110may be accessed and viewed on a personal computer. Moreover, the additional access devices114may be used to program or otherwise control the functions of the processing subsystem110.

The processing subsystem110may also include an output driver133configured to interface with or drive the display device112. The output driver133may include any combination of hardware, software, and firmware as may serve a particular application.

2. Storage Devices

Storage device134may include one or more data storage media, devices, or configurations and may employ any type, form, and combination of storage media. For example, the storage device134may include, but is not limited to, a hard drive, network drive, flash drive, magnetic disc, optical disc, or other non-volatile storage unit. Various portions of media content may be temporarily and/or permanently stored in the storage device134.

The storage device134ofFIG. 3is shown to be a part of the processing subsystem110for illustrative purposes only. It will be understood that the storage device134may additionally or alternatively be located external to the processing subsystem110.

The processing subsystem may also include memory135. Memory135may include, but is not limited to, FLASH memory, random access memory (RAM), dynamic RAM (DRAM), or a combination thereof. In some examples, as will be described in more detail below, various applications used by the processing subsystem110may reside in memory135.

As shown inFIG. 3, the storage device134may include one or more live cache buffers136, The live cache buffer136may additionally or alternatively reside in memory135or in a storage device external to the processing subsystem110. In some examples, media content data may be temporarily stored in the live cache buffer136to facilitate viewing of the media content in one or more trick play modes.

Tuner137is configured to tune to a particular television channel, stream, address, frequency or other carrier (i.e., content carrier) in order to process media content that is transmitted on that carrier. In some examples, the tuner137may include multiple tuners such that multiple carriers of media content may be processed and/or shown on a display device112. For example, the tuner137may include a first tuner configured to receive an analog video signal corresponding to a first media content instance and a second tuner configured to simultaneously receive a digital compressed stream corresponding to a second media content instance. It will be recognized that the tuner137may have any number of tuners configured to receive any kind of media content.

In some examples, media content received at the tuner137is temporarily buffered, or stored, in the live cache buffer136. If there are multiple tuners137, there may be a live cache buffer136corresponding to each of the tuners137. Once media content is temporarily stored in the live cache buffer136, the user may then designate whether the media content is to be permanently stored as a permanent recording in the storage device134or whether the media content is to be deleted. As used herein, the term “permanent recording” will be understood to mean media content that is stored for an extended period of time as decided by the user.

As shown inFIG. 3, the processing subsystem110may include one or more processors, such as processor138configured to control the operations of the processing subsystem110. The processing subsystem110may also include a signal processing unit139configured to process incoming media content. The signal processing unit139may be configured, for example, to demodulate and parse encoded digital media content. In some examples, the processing subsystem110may include one or more signal processing units139corresponding to each of the tuners137.

In some examples, if the incoming media content is in the form of IP data packets (e.g., in IPTV configurations), the media content may be processed directly by the processor138and/or any other processor configured to process IP data packets.

The processing subsystem110may also include a graphics engine140configured to generate graphics that are to be displayed by the display device112. The graphics may include graphical user interfaces (“GUIs”) such as, but not limited to, one or more program guides, progress bars, and other graphics.

5. Application Clients

Returning toFIG. 3, one or more applications141-143residing within the processing subsystem110may be executed upon initiation by a user of the processing subsystem110. The applications141-143, or application clients, may reside in memory135or in any other area of the processing subsystem110and be executed by the processor138. The applications141-143shown inFIG. 3are merely illustrative of the many different applications that may reside within the processing subsystem110.

As shown inFIG. 3, one of the applications may include a personal video recording (“PVR”) application141. A PVR application is also referred to as a digital video recording (“DVR”) application. As used herein, the term “PVR application” will be used to refer to any application or device configured to record media content and/or provide for the viewing of media content in trick play mode. As previously mentioned, trick play modes include, but are not limited to, slow motion, fast motion, reverse play, fast forward play, instant replay, jumping, pausing of live broadcast, and scanning. The PVR application141may also provide for media content recording functionality by enabling the temporary and/or permanent recording of media content to the storage device134.

The processing subsystem110may additionally or alternatively include a main menu application142configured to generate a main menu that is displayed on the display device112. An exemplary main menu includes a GUI that performs various functions including allowing a user to access one or more options, features, and/or media content instances via the processing subsystem110.

In some examples, the processing subsystem110additionally or alternatively includes a search application143configured to enable a user to search for a particular media content instance and/or information related to one or more media content instances. The search application143will be described in more detail below.

D. User Input Device

User input device113(or simply “input device113”) may include, for example, a remote control, keyboard, or any other suitable input device and may be configured to communicate with the receiver132via a wireless link, electrical connection, or any other suitable communication link.

An exemplary remote control input device113is illustrated inFIG. 4. It will be recognized that the input device113shown inFIG. 4is merely illustrative of the many different types of input devices that may be used in connection with the present systems and methods.

In some examples, the input device113may include any number of buttons or keys configured to enable a user to control various options related to media content available via the processing subsystem110. For example, channel up and down buttons144and145enable a user to navigate to and between various media content instances. A record button146may also be included which enables the user to designate as permanently recorded any media content instance buffered in the live cache buffer136. A main menu button147may be configured to evoke the display of a main menu GUI by the display device112. Navigational buttons, such as a left arrow button148, right arrow button149, up arrow button150, down arrow button151, and select button152may also be included and configured to enable the user to evoke and/or navigate through various views and graphical user interfaces displayed by the display device112.

FIG. 5illustrates a viewing area or screen155of an exemplary display device112with a particular scene or frame of a media content instance displayed thereon. In some examples, the user may be interested in experiencing a different media content instance and/or viewing information related to one or more other media content instances. The user may additionally or alternatively be interested in accessing various settings, communication mediums, purchasing venues, and/or any other option or feature of the media content processing subsystem110.

However, there may be a relatively large number (e.g., thousands) of media content instances and/or options available via the processing subsystem110. To this end, an interactive GUI may be displayed by the display device112that is configured to allow a user to easily and intuitively access and browse through content available via a media content processing subsystem110. Such content may include, but is not limited to, one or more options, features, and/or media content instances available via the media content processing subsystem110. As will be described in more detail below, the GUI may be configured to allow a user to access the content contained therein by using only the four directional arrow buttons148-151and the select button152that are a part of the user input device113. However, it will be recognized that any other button that is a part of the input device113may additionally or alternatively be used to access content contained within the GUI.

FIG. 6illustrates an exemplary GUI160that may be displayed by the display device112and that may be used to facilitate access to content available via the media content processing subsystem110. For illustrative purposes only, the GUI160will be referred to as a “main menu GUI160” in many of the examples given herein. However, it will be recognized that the GUI160may be any other type of GUI as may serve a particular application.

The main menu GUI160ofFIG. 6may be evoked using a number of different methods. For example, the user may select a dedicated button on a user input device (e.g., the main menu button147on the user input device113or one of the arrow buttons148-151as illustrated inFIG. 4). Additionally or alternatively, the main menu GUI160may be evoked by selecting an option within any other GUI as may serve a particular application.

In some examples, the main menu GUI160ofFIG. 6may occupy substantially the entire viewing screen155of the display device112. However, it will be recognized that the main menu GUI160may alternatively occupy only a portion of the viewing screen155such that a media content instance may be simultaneously displayed thereon.

As shown inFIG. 6, the main menu GUI160may include two interactive viewing panes, labeled161and162respectively. It will be recognized that the main menu GUI160may alternatively include any other number of viewing panes as may serve a particular application. In some examples, as will be described in more detail below, the contents of the second viewing pane162may be dynamically updated to display various entries related to a select entry within the first viewing pane161

As shown inFIG. 6, the first viewing pane161may include a main menu listing163of selectable entries within a main menu directory, sub-directory, or folder. As used herein, the terms “directory”, “sub-directory”, and “folder” generally refer to a grouping of one or more related options, features, media content instances, and/or other content utilizing some form of a hierarchical representation.

Each entry within the main menu listing163corresponds to a directory of one or more options that may be accessed via the processing subsystem110. For example, the main menu listing163may include entries configured to allow access to one or more of the following options or features: calendar options, search options, on demand programming options, interactive television options, program guide listings, DVR options, shopping options, messaging and communication options, settings, and help options. It will be recognized that the main menu listing163may include additional or alternative entries as may serve a particular application. For example, one or more customized entries may be included within the main menu listing163such as, but not limited to, a directory containing personalized media content (e.g., photos, music, videos, games, and contacts).

In some examples, one or more graphics corresponding to one or more of the entries within the main menu listing163may also be displayed within the first viewing pane161. These graphics may be changed or removed by a user as desired.

In some examples, a user may browse through the main menu listing163with the up and down arrow buttons150and151as shown inFIG. 4, for example, and select a desired entry by pressing a designated button (e.g., the right arrow button149or the select button152) when the desired entry is located within a “magnified area.” As used herein, the term “magnified area”164will be used to refer to a fixed focus state or area within a viewing pane (e.g., the first viewing pane161) that is in some way distinguished from the rest of the viewing pane161. For example, as shown inFIG. 6, the magnified area164is surrounded by a distinguishing border. The magnified area164may additionally or alternatively include a distinct color, brightness, text size, and/or any other distinguishing feature. In some alternative examples, an audible description of the entry within the magnified area164may be provided. Exemplary magnified areas are described in further detail in co-pending U.S. patent application Ser. No. 11/500,208, entitled “PROGRAM GUIDE GRAPHICAL USER INTERFACE SYSTEMS AND METHODS,” filed Aug. 7, 2006, and incorporated herein by reference in its entirety.

The magnified area164may be configured to remain stationary in relation to the scrolling main menu listing163. Hence, as a user scrolls up or down through the main menu listing163of selectable entries, the entry directly above or below the magnified area164moves into the magnified area164. For example,FIG. 7shows the main menu GUI160after a user has pressed the down arrow button151once. As shown inFIG. 7, the main menu listing163has been scrolled up and the “DVR” entry is now within the magnified area164.

The magnified area164may be centered vertically within the first viewing pane161, as shown inFIGS. 6-7. It will be recognized that the magnified area164may alternatively be positioned at any other location within the first viewing pane161.

As shown inFIGS. 6-7, a filtered view of content related to the entry that is within the magnified area164may be displayed within the second viewing pane162. For example, a content list165containing one or more selectable entries that are related to the entry that is within the magnified area164may be displayed within the second viewing pane162. To illustrate,FIG. 6shows a content list165related to the “Program Guide” entry that is within the magnified area164.FIG. 7shows that the content list165may be updated to include a number of entries related to the “DVR” entry when the “DVR” entry enters the magnified area164.

In this manner, the second viewing pane162is configured to display a “preview” of content related to a particular entry located within the magnified area164before the entry is selected by the user. It will be recognized that the filtered view displayed within the second viewing pane162may alternatively include other types of content.

As mentioned, a user may select a desired entry within the main menu listing163by pressing the right arrow button149or the select button152, shown inFIG. 4, when the desired entry is located within the magnified area164. It will be recognized that a desired entry may be selected in any other manner as may serve a particular application. When an entry within the main menu listing163is selected, the content list165related to the selected entry is transferred from the second viewing pane162to the first viewing pane161and a new filtered view is displayed within the second viewing pane162. As will be described in more detail below, the new filtered view may include a content list that is related to one of the entries within the content list165.

For example,FIG. 8shows the main menu GUI160after the “DVR” entry has been selected. As shown inFIG. 8, content list165has been transferred to the first viewing pane161. A user may then use the up and down arrow buttons151and152to browse through the content list165.

When a particular entry within the content list165enters the magnified area164, a filtered view of that entry appears in the second viewing pane162in a manner similar to that already described in connection with the main menu listing163. For example,FIG. 8shows that an entry labeled “Recorded Shows” is currently within the magnified area164. Hence, a content list180containing a number of entries related to the “Recorded Shows” entry is displayed within the second viewing pane162. The content list180may include, as shown inFIG. 8, a number of television shows that have been recorded by the user.

To select one of the entries within the content list165, the user simply presses the right arrow button149or the select button152ofFIG. 4when the desired entry is located within the magnified area164. For example,FIG. 9shows the main menu GUI160after the “Recorded Shows” entry has been selected. As shown inFIG. 9, content list180has been transferred to the first viewing pane161. The second viewing pane162may then display program information corresponding to an entry that is located within the magnified area164. For example, the second viewing pane162illustrated inFIG. 9shows program information190corresponding to “Batman,” which entry is currently within the magnified area164.

In some examples, as shown inFIGS. 8-9, one or more history tabs (e.g.,191-1and191-2, collectively referred to herein as191) may be included within the main menu GUI160. The history tabs191may be vertically oriented along the left-hand side of the first viewing pane161, as shown inFIGS. 8-9. Additionally or alternatively, the history tabs191may be located and/or oriented in any other suitable manner.

The history tabs191are configured to graphically display the names of one or more hierarchical representations (e.g., directories) within a browsing path or thread created by a user during a particular browsing session. Each tab191may be selectable and may be labeled so that the user can easily go back to a particular directory within the browsing thread and select a different entry contained therein without having to restart the browsing thread.

To illustrate,FIG. 9illustrates two exemplary history tabs191-1and191-2. As indicated by the titles contained therein, history tab191-1corresponds to the “Main Menu” directory and history tab191-2corresponds to the “DVR” sub-directory within the “Main Menu” directory. Hence, to return to the “DVR” directory, a user may select the history tab191-2labeled “DVR” by, for example, pressing the left arrow button148once. Upon so doing, the main menu GUI160may be updated to display the view shown inFIG. 8. Alternatively, the user may press the left arrow button148twice to select the history tab191-1labeled “Main Menu” to return to the “Main Menu” directory. The main menu GUI160may accordingly be updated to display the view shown inFIG. 7.

A particular history tab191may be selected in a variety of different manners. For example, the left or right arrow buttons148or149may be pressed until the desired history tab (e.g.,191-1or191-2) is highlighted. The processing subsystem110may be configured to then select the desired history tab191after recognizing an absence of navigational input of a pre-determined length. Alternatively, the user may press the select button152or any other button that is a part of the user input device113after the desired history tab191is highlighted.

It will be recognized that as a user drills or goes deeper into a browsing thread, the screen space required to display the corresponding history tabs191increases. Hence, after a certain number of tabs191are displayed, it becomes infeasible to display more tabs191without encroaching on the screen space needed for the first and second viewing panes161and162. In such a situation, in one approach, the nature of the tabs191may be changed (e.g., placed in a linear staggered manner using available vertical space adjacent the current placement of tabs191-1and191-2).

Alternatively, as shown inFIG. 10, a number of the history tabs191may be collapsed into an expandable history tab191-3after a pre-determined number of history tabs191are displayed. As will be described in more detail below, the expandable history tab191-3is configured to represent and facilitate access to a plurality of directories or other hierarchical representations within a browsing thread taken by a user during a particular browsing session. It will be recognized that the number of history tabs191that are displayed before the expandable history tab191-3is displayed may vary as may serve a particular application.

FIG. 10illustrates an exemplary generic layout of the main menu GUI160wherein a number of history tabs191, including an expandable history tab191-3, are displayed. As shown inFIG. 10, a content list200located within a particular directory labeled “Current Directory” is displayed within the first viewing pane161. In some examples, the content list200is located deep within a plurality of directories. Hence, the expandable history tab191-3graphically represents a plurality of directories within a particular browsing thread that cannot be graphically represented by corresponding history tabs191due to screen space limitations. For example, the expandable history tab191-3shown inFIG. 10represents four directories within the path of the directory entitled “Current Directory,” as indicated by the number displayed within the history tab191-3.

As shown inFIG. 10, a history tab191-4corresponding to a directory that is previous to the currently displayed directory and a history tab191-5corresponding to a root directory may be displayed in conjunction with the expandable history tab191-3. The root directory may include the main menu directory shown inFIGS. 6-7, for example.

In some examples, a user may select the expandable history tab191-3to backtrack or return to a particular directory within the browsing thread. The expandable history tab191-3may be selected by, for example, pressing the left arrow button148twice. However, it will be recognized that the expandable history tab191-3may be selected in any suitable manner as may serve a particular application.

The processing subsystem110may be configured to perform a variety of different operations when the expandable history tab191-3is selected. A number of these operations will be described in more detail below. However, it will be recognized that any other operation may be performed by the processing subsystem110when the expandable history tab191-3is selected as may serve a particular application.

In some examples, when the expandable history tab191-3is selected, a list of selectable names of one or more of the directories represented by the expandable history tab191-3may be displayed within one of the viewing panes161or162, For example,FIG. 11shows the main menu GUI160after the expandable history tab191-3has been selected by a user. As shown inFIG. 11, a list of directories210within a browsing path is displayed within the first viewing pane161. The list210may include the names of one or more of the directories represented by the expandable history tab191-3.

In some examples, the list210may additionally include the name of one or more directories that had been represented by one or more history tabs191prior to the selection of the expandable history tab191-3. For example, the list210may include the name of the directory represented by history tab191-4shown inFIG. 10.

In some examples, each of the entries within the list of directories210may be selectively located within the magnified area164. A filtered view of content211within a particular directory that is located within the magnified area164may be displayed in the second viewing pane162in a manner similar to that described hereinabove. In this manner, a user may scroll through the list of directories210and preview content within a desired directory by positioning the desired directory within the magnified area164.

As mentioned, each of the entries within the list of directories210may be selectable. In this manner, a user may select one of the directories that corresponds to a desired point within the browsing thread to which the user desires to return. In some examples, the user selects a particular directory by positioning the name of the directory within the magnified area164and pressing the right arrow button149. However, it will be recognized that the directory may alternatively be selected using any other method as may serve a particular application.

To illustrate,FIG. 12shows the main menu GUI160after the directory labeled “DIRECTORY 4” has been selected by a user. As shown inFIG. 12, a list of entries within the directory is now displayed within the first viewing pane161. In some examples, the expandable history tab191-3may again be displayed along with one or more additional history tabs (e.g.,191-4and191-5). As shown inFIG. 12, the number displayed within the expandable history tab191-3has been updated to reflect that the expandable history tab191-3now represents two hidden directories within the browsing path.

In some alternative examples, a pop-up window may be displayed when the expandable history tab191-3is selected by a user. For example,FIG. 13shows a pop-up window230that may be configured to appear after the expandable history tab191-3is selected. As shown inFIG. 13, the pop-up window230may include a list of directories231similar to that described in connection withFIG. 10. The user may then scroll through the list231and select one of the directories that corresponds to a desired point within the browsing thread to which the user desires to return. After one of the directories is selected, the expandable history tab191-3may again be displayed as described above in connection withFIG. 12.

Alternatively, the expandable history tab191-3may be configured to expand and show a number of the hidden history tabs when selected by a user. The user may then select one of the hidden history tabs to return to a directory corresponding to the selected tab. For example,FIG. 14shows the program guide GUI160ofFIG. 10after the expandable history tab191-3is selected by a user. As shown inFIG. 14, the expandable history tab191-3has been expanded into four history tabs191-6. The user may then select one of the expanded history tabs191-6as desired in order to return to a desired point within the browsing thread.

An exemplary application wherein the expandable history tab191-3may be used is during a search for one or more media content instances available via the processing subsystem110will now be described. Exemplary search applications are described in further detail in co-pending U.S. patent application Ser. No. 11/542,402, entitled “INTERACTIVE SEARCH GRAPHICAL USER INTERFACE SYSTEMS AND METHODS,” filed Oct. 3, 2006 and incorporated herein by reference in its entirety.

To search for one or more media content instances, a user may select, for example, the “search” entry within the main menu listing163ofFIG. 6.FIG. 15shows the main menu GUI160after the “search” entry has been selected. As shown inFIG. 15, a list250of various search options may be displayed in the first viewing pane161. A user may search by category, keyword, content type, and/or any other criteria as may serve a particular example.

To search by category, for example, the user may simply press the right arrow button149, as illustrated inFIG. 4, when the “browse categories” entry is within the magnified area164.FIG. 16shows the main menu GUI160after the “browse categories” entry has been selected. As shown inFIG. 16, a list of categories260is displayed within the first viewing pane161. The list of categories260may include any suitable category such as, but not limited to, movies, children's content, sports content, and women's content.

The user may select one of the categories within the list of categories260to continue searching for media content contained therein. For example, to search within the “movies” category, the user may simply press the right arrow button149inFIG. 4while the “movies” entry is within the magnified area164.FIG. 17shows the main menu GUI160after the “movies” entry has been selected. As shown inFIG. 17, a list of categories270related to the “movies” entry is displayed within the first viewing pane161. The user may continue to search through various sub-directories of movies in a manner similar to that described previously until a desired media content instance is located. For example,FIG. 18shows the main menu GUI160after an “action/adventure” entry has been selected from the list of categories270.

As shown inFIGS. 16-18, the history tabs191are updated each time the user selects a new directory within the browsing path. For example,FIG. 16shows two history tabs191corresponding to the “main menu” and “search” directories. After the “movies” directory is selected, an additional history tab191is displayed corresponding to the “browse categories” directory, as shown inFIG. 17.

After a pre-defined number of history tabs191are displayed, the processing subsystem110may be configured to display the expandable history tab191-3to graphically represent a plurality of directories that cannot be represented by corresponding history tabs191due to screen space limitations. For example, the processing subsystem100may be configured to display the expandable history tab191-3after three history tabs131are displayed. To illustrate, the expandable history tab191-3may be displayed after the “action/adventure” directory is selected, as shown inFIG. 18. In this case, the expandable history tab191-3represents the “search” and “browse categories” directories.

In some examples, if a user desires to return to one of the directories represented by the expandable history tab191-3shown inFIG. 18, the user may simply select the expandable history tab191-3. A column, pop-up window, or additional history tabs may be displayed as described hereinabove when the expandable history tab191-3is selected to allow the user to select one of the hidden directories.

III. Exemplary Process View

FIG. 19illustrates an exemplary method of providing a capability of searching and/or browsing through content that may be available via the processing subsystem110. The steps shown inFIG. 19are merely illustrative and may be omitted, added to, reordered, and/or modified in any way.

In step290, an interactive graphical user interface is displayed on the viewing screen155of the display device112as shown inFIG. 5. The interactive graphical user interface may include the main menu GUI160described herein or any other graphical user interface as may serve a particular application.

A user may then use the interactive graphical user interface to search for and/or browse through content available via the processing subsystem110. To this end, a list of one or more hierarchical representations (e.g., directories) is displayed by the interactive graphical user interface, as shown in step291.

As the user selects various hierarchical representations displayed by the interactive graphical user interface, a browsing thread is created. A plurality of history tabs191are successively displayed while the browsing thread is created to graphically represent and facilitate access to one or more hierarchical representations within the browsing thread, as shown in step292. After a pre-determined number of history tabs191are displayed, at least two of the history tabs191are collapsed into an expandable history tab191-3, as shown in step293. The expandable history tab191-3is configured to graphically represent and facilitate access to a plurality of the hierarchical representations within the browsing thread. In this manner, the user may easily return to a desired point within the browsing thread.

The preceding description has been presented only to illustrate and describe embodiments of the invention. It is not intended to be exhaustive or to limit the invention to any precise form disclosed. The invention may be practiced otherwise than is specifically explained and illustrated without departing from its spirit or scope. It is intended that the scope of the invention be defined by the following claims.