Computer users frequently deal with large amounts of information in their file systems, databases, and online search engines. Previous versions of searching programs do not support aggregated searching. For example, users can only search within individual media experiences (music, television, videos) or partner content libraries. Thereafter, each search session requires navigating through a selection screen to filter the search results. Such navigation becomes tedious and compromises the user experience.
Moreover, the presentation of such search results is entirely text based. Images such as thumbnails, album artwork or movie posters are not supported, even though many listed items would benefit from a user seeing visual images rather than solely textual descriptions thereof, such as better sales due to improved user recognition and marketing-related aspects based on an image accompanying an item.
This Summary is provided to introduce a selection of representative concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used in any way that would limit the scope of the claimed subject matter.
Briefly, various aspects of the subject matter described herein are directed towards a technology by which a user can quickly locate a data item via one or more mechanisms, including aspects related to a pivot (filtering) category, possibly other filtering criteria, a fixed selection position (e.g., center-locked scrolling), and/or focusing on a particular item for selection. Representations (e.g., images) of data items of a pivot category are displayed, including a representation of one data item at a fixed (e.g., centered) selection position. The item representations are scrolled by moving another data item into the selection position and moving representations of other items relative to that selection position. Scrolling may be substantially horizontal in response to a left or right directional signaling mechanism, e.g., buttons on a remote control, or may be substantially vertical in response to up or down directional signaling. The item representation in the selection position may be highlighted relative to other item representations, such as via its relative size, opacity and/or color. Metadata also may be displayed in association with the representation of the data item at the fixed selection position.
In one aspect, the user may provide filtering criteria, such as text input that filters the items to only those that match the text. The user also may change the displayed data items by changing the pivot category. One of the pivot categories may be an “all” category that combines data items comprising media content from a plurality of different data sources.
Other advantages may become apparent from the following detailed description when taken in conjunction with the drawings.
The present invention is illustrated by way of example and not limited in the accompanying figures in which like reference numerals indicate similar elements and in which:
Various aspects of the technology described herein are generally directed towards searching data items (e.g., media content), including across multiple media data source experiences and/or any partner content library that may be filtered and/or separately presented. In one example, search results may be dynamically updated by using one of a series of pivot categories (corresponding to filters) above the search results. This pivot convention facilitates targeting and refining user searches.
Further, a user may filter via filtering criterion or criteria, such as by entering text that filters the presented search results to items having identifiers (e.g., titles) that match the text criterion. Still further, search result items are displayed as representative images (e.g., tiles), including by scrolling one item tile into a center position for possible user selection, thus providing a center locked list, e.g., if selection is requested, it is the centered item that is selected. Highlighting of the centered item also may be performed, to focus attention on the item.
As will be understood, various examples are set forth herein, including one in which search results are displayed as a horizontal list, with one current search item that currently selectable being centered in the list. It is alternatively feasible and equivalent to have a vertical scrolling list with a centered item. In any event, that centered item may be made to stand out via various focusing mechanisms. Such a center-locked scrolling/focus model improves discoverability of a particular item within a set of items. However, these are only non-limiting examples for the purposes of describing the technology. As such, the present invention is not limited to any particular embodiments, aspects, concepts, protocols, formats, structures, functionalities or examples described herein. Rather, any of the embodiments, aspects, concepts, protocols, formats, structures, functionalities or examples described herein are non-limiting, and the present invention may be used various ways that provide benefits and advantages in computing and online advertising technology in general.
Turning to
In general, based on user input via an input mechanism 110, such as a remote control device including scrolling (directional) buttons, a keyboard (real or virtual), a pointing device and so forth, a logic/filtering mechanism 112 produces an output 114. Example outputs may be generally along the lines of the screen or program window representations 202 and 302 of
In general, the logic/filtering mechanism 112 is coupled to the data aggregator mechanism 104 to instruct the data aggregator mechanism 104 as to which data is needed. This may be all data from any available data source 106 and/or 1081-108n, or any subset of the data available for access, such as movie data only, local data only, and so forth. For example, if the number of available data items is small, the logic filtering mechanism 112 can request all items and thereafter perform filtering on all the items, or can request that only certain items be returned as part of a pre-filtering operation. The data aggregator mechanism 104 searches and/or aggregates the requested results.
With the data and user input, as well as optionally user preference data 116, the logic/filtering mechanism 112 may filter the output 114 in a way that the displayed data items pivot around a user-selected category. User preference data 114 may be used as defaults for a search, or as additional search criteria. Examples of preference data may include user-specified visual effects, specifying content age (e.g., by default, do not show items over ten years old), ordering of pivot categories, and so forth.
As represented in the screen representations 202 and 302 of
As represented in
Further, with respect to the center item, a pivot table of information relative to the center tile may be displayed above and below the string of tiles. For example, in
In this example, scrolling is horizontal, with the currently selectable item 304 locked in the center until replaced via user (or possibly automated) scrolling, that is, the center locked list is a horizontal list of the items, represented as tiles. Center locking the list keeps the user focused on the main area of the screen, and filtering helps quickly identify the data item of interest.
To this end, “moving” a cursor horizontally (e.g., via left or right directional button pressing) causes new tiles to appear, including a newly focused one as the center tile highlighted by one or more various focusing mechanisms. For example, as represented in
Although not explicitly shown in
Step 404 represents awaiting some user input with respect to user interaction to control operation. One such type of input is a vertical directional (scroll) command, which in this example gives the user a choice of mode, namely a pivot category choice mode, a text entry mode, and a horizontal scroll/selection mode. For example, in
Step 408 represents changing the output to highlight where the user is, e.g., in the top pivot category row, in the text entry area, or in the item scrolling row. Note that if a pivot category is not automatically chosen for the user by default, then the user may be initially required to make a category selection, e.g., by scrolling and/or selecting along the top row which lists the available pivot categories.
Step 410 represents determining whether the user is in the pivot category selection mode, including selecting and/or making a change to the pivot category as represented by step 412. Note that in the examples of
Step 414 represents evaluating whether the user is in the text edit mode; some text may be required in conjunction with category selection to limit how many items are initially retrieved. Alternatively, text editing may only be available when items are already displayed.
Step 416 represents handling the text editing input, including any allowed cursor movement, insertion, deletion, backspace and/or new character entry. This may be handled as allowing only a single editing command at a time, or alternatively by allowing multiple editing commands in conjunction with some mechanism by which the user indicates text editing is complete, e.g., by changing modes (via vertical scrolling), hitting an enter button, and so forth. In any event, step 418 represents determining whether a character (or at least one character) has changed; if so, step 420 is performed to filter or re-filter the items displayed based on the current characters in the text entry area.
Step 422 represents evaluating whether the user is in the item scrolling mode, and whether the user is attempting to horizontally scroll, in order to appropriately handle the input. If the user is horizontally scrolling and is able to scroll (e.g., there is more than one item), step 426 represents changing the focused item, e.g., moving a new item into the center, and highlighting that item as necessary (an item may be automatically highlighted as a function of its center position).
Step 424 represents handling other input, including other input handling while in the item scroll mode. For example, the user may select an item to purchase, may confirm a selection, may exit the program, may cancel selection without confirming, and so forth. In addition, scrolling may be ignored if there are not at least two items displayed, or if the user is attempting to scroll left beyond the first or right beyond the last item (in a model in which circular scrolling is not allowed). Still other user input may be for other purposes, such as to specify other filtering criteria, e.g., by moving to and clicking a button that provides a filtering dialog, although such an option is not explicitly shown in the examples of
As can be seen, a center lock scrolling and focus model, along with the visual presentation and pivot convention for targeting and refining user searches, provides a valuable tool for a user to quickly locate a data item. Large collections of items, such as media content, may be quickly and intuitively navigated to facilitate location and selection of a particular item.
The invention is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to: personal computers, server computers, hand-held or laptop devices, tablet devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, and so forth, which perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in local and/or remote computer storage media including memory storage devices.
With reference to
The computer 510 typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by the computer 510 and includes both volatile and nonvolatile media, and removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by the computer 510. Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer-readable media.
The system memory 530 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 531 and random access memory (RAM) 532. A basic input/output system 533 (BIOS), containing the basic routines that help to transfer information between elements within computer 510, such as during start-up, is typically stored in ROM 531. RAM 532 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 520. By way of example, and not limitation,
The computer 510 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media, described above and illustrated in
The computer 510 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 580. The remote computer 580 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 510, although only a memory storage device 581 has been illustrated in
When used in a LAN networking environment, the computer 510 is connected to the LAN 571 through a network interface or adapter 570. When used in a WAN networking environment, the computer 510 typically includes a modem 572 or other means for establishing communications over the WAN 573, such as the Internet. The modem 572, which may be internal or external, may be connected to the system bus 521 via the user input interface 560 or other appropriate mechanism. A wireless networking component 574 such as comprising an interface and antenna may be coupled through a suitable device such as an access point or peer computer to a WAN or LAN. In a networked environment, program modules depicted relative to the computer 510, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
An auxiliary subsystem 599 (e.g., for auxiliary display of content) may be connected via the user interface 560 to allow data such as program content, system status and event notifications to be provided to the user, even if the main portions of the computer system are in a low power state. The auxiliary subsystem 599 may be connected to the modem 572 and/or network interface 570 to allow communication between these systems while the main processing unit 520 is in a low power state.
While the invention is susceptible to various modifications and alternative constructions, certain illustrated embodiments thereof are shown in the drawings and have been described above in detail. It should be understood, however, that there is no intention to limit the invention to the specific forms disclosed, but on the contrary, the intention is to cover all modifications, alternative constructions, and equivalents falling within the spirit and scope of the invention.