Known systems enable a user to browse a list of items via a computing device and preview content associated with a particular item in the list. For example, a user interface in these systems may display the list of items in a first display area and display a preview of the associated content in a second display area. Such systems, however, do not correlate the list of items in the first display area with the content preview in the second display area. Further, some systems only provide a preview of a subset of the items.
In
In existing systems, it is difficult to correlate the search results in one display area with the previews in another display area. Further, the previews are displayed horizontally, which may be counter-intuitive to many users, and only the top results (e.g., six or so) have previews. After selecting one of the search results, full content for that search result overwrites the display area with the previews (e.g., in the right pane), while the search result titles are maintained (e.g., in the left pane). If the user wishes to select a different search result at this point in a typical system, the user can only select a different search result based on the title associated with the search result (e.g., displayed in the left pane). Often, the title alone is insufficient in aiding the user in selecting another search result. In other systems, if the user hovers the mouse over a particular search result (e.g., in the left pane) a concise textual description of the particular search result is shown (e.g., in a popup window). But the concise textual description may also be insufficient to aid the user in choosing a search result.
Embodiments of the invention integrate browsing and previewing a list of items. In an embodiment, the invention permits display of a list of items to a user along with a preview of each of the displayed items. When the user selects one of the items from the list of items shown in a display area, the preview corresponding to the selected item may be visually identified to the user in another display area.
Other features will be in part apparent and in part pointed out hereinafter. This Summary is provided to introduce a selection of 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 as an aid in determining the scope of the claimed subject matter.
Corresponding reference characters indicate corresponding parts throughout the drawings.
Embodiments of the invention integrate the browsing and previewing of a list of items. While embodiments of the invention may be described herein with reference to specific types of browsable items, embodiments of the invention are operable with browsing and previewing any data stored on any computer-readable medium. In one aspect, the invention is operable with a typical user interface for searching content (e.g., web pages, music, and video) such as shown in
Embodiments of the invention improve the user experience when browsing any list of items in part by providing the user with sufficient information to effectively browse and preview the list of items.
Referring next to
The integration component 214 receives a selection of one of the generated plurality of items from the user 202 and identifies to the user 202 one of the plurality of previews corresponding to the received selection. The display component 216 provides, to the user 202 for display, the plurality of items generated by the list component 210, the plurality of previews generated by the preview component 212, and the one of the plurality of previews identified by the integration component 214. The scroll component 218 scrolls the previews to present the identified one of the plurality of previews to the user 202. In one embodiment, a media player embodies the components illustrated in
In general, the infrastructure illustrated in
Referring next to
The method further receives, from the user, a selection of one of the items in the displayed list at 308. For example, the user may hover over one of the items in the displayed list (e.g., via a mouse). In an embodiment in which the content abstracts exceed the size of the second display area, the method scrolls the displayed content abstracts in the second display area at 310 to present the content abstract corresponding to the received selection to the user. The method visually identifies, to the user in the second display area, the displayed content abstract corresponding to the received selection at 312. The visual identification may take the form of any visual identification or marker for the content abstract corresponding to the received selection including, but not limited to, a box, a pointer, a font change, a font size change, a color change, a formatting change (e.g., bold, italics, or underline), or highlighting.
When the user selects one of the items in the displayed list (e.g., by clicking on the search result), the method displays, in the second display, area, content associated with the selected item. In this example, the previews in the second display area are overwritten by the content associated with the selected item while the list of items in the first display area is maintained for future use by the user.
In one embodiment, one or more computer-readable media have computer-executable instructions for performing the method illustrated in
Referring next to
Referring next to
When the user hovers the mouse or other user interface selection device over a title in the search pane window, a box or other visual indicator is shown around the corresponding preview in the search preview pane. The search preview pane automatically scrolls to corresponding preview if the corresponding preview is not visible in the search preview pane. After a search result is selected (e.g., clicked) in the search pane, content for the selected results overwrites the previews in the search preview pane.
If the preview content is overridden by selected content, the search pane may also show extra information about the corresponding result when the user hovers the mouse over results in the search pane (e.g., in a small popup or overlay window with the extra information, without completely overwriting the content displayed). The extra information may include one or more of the following: a result title, a description, a target URL, and a thumbnail of each page. The small popup window may be shown in the main content window, or in the search pane itself
One embodiment of the invention provides an option to “dock results to the search pane” as users are browsing. An additional option may specify that the search results be moved to the search pane when a result is clicked in the preview pane. For example, this additional option may be applicable in a common search scenario where there is just one pane of results without the ability to preview. This option enables the users to have search results always visible on the page. In general, there is a static space for the search pane that does not change as the user browses.
Exemplary Operating Environment
The computer 130 typically has at least some form of computer readable media. Computer readable media, which include both volatile and nonvolatile media, removable and non-removable media, may be any available, medium that may be accessed by computer 130. By way of example and not limitation, computer readable media comprise computer storage media and communication media. Computer storage media include 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. For example, computer storage media include 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 that may be used to store the desired information and that may be accessed by computer 130. Communication media typically embody 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 include any information delivery media. Those skilled in the art are familiar with the modulated data signal, which has one or more of its characteristics set or changed in such a manner as to encode information in the signal. Wired media, such as a wired network or direct-wired connection, and wireless media, such as acoustic, RF, infrared, and other wireless media, are examples of communication media. Combinations of any of the above are also included within the scope of computer readable media.
The system memory 134 includes computer storage media in the form of removable and/or non-removable, volatile and/or nonvolatile memory. In the illustrated embodiment, system memory 134 includes read only memory (ROM) 138 and random access memory (RAM) 140. A basic input/output system 142 (BIOS), containing the basic routines that help to transfer information between elements within computer 130, such as during start-up, is typically stored in ROM 138. RAM 140 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 132. By way of example, and not limitation,
The computer 130 may also include other removable/non-removable, volatile/nonvolatile computer storage media. For example,
The drives or other mass storage devices and their associated computer storage media discussed above and illustrated in
A user may enter commands and information into computer 130 through input devices or user interface selection devices such as a keyboard 180 and a pointing device 182 (e.g., a mouse, trackball, pen, or touch pad). Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are connected to processing unit 132 through a user input interface 184 that is coupled to system bus 136, but may be connected by other interface and bus structures, such as a parallel port, game port, or a Universal Serial Bus (USB). A monitor 188 or other type of display device is also connected to system bus 136 via an interface, such as a video interface 190. In addition to the monitor 188, computers often include other peripheral output devices (not shown) such as a printer and speakers, which may be connected through an output peripheral interface (not shown).
The computer 130 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 194. The remote computer 194 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 computer 130. The logical connections depicted in
When used in a local area networking environment, computer 130 is connected to the LAN 196 through a network interface or adapter 186. When used, in a wide area networking environment, computer 130 typically includes a modem 178 or other means for establishing communications over the WAN 198, such as the Internet. The modem 178, which may be internal or external, is connected to system bus 136 via the user input interface 184, or other appropriate mechanism. In a networked environment, program modules depicted relative to computer 130, or portions thereof, may be stored in a remote memory storage device (not shown). By way of example, and not limitation,
Generally, the data processors of computer 130 are programmed by means of instructions stored at different times in the various computer-readable storage media of the computer. Programs and operating systems are typically distributed, for example, on floppy disks or CD-ROMs. From there, they are installed or loaded into the secondary memory of a computer. At execution, they are loaded at least partially into the computer's primary electronic memory. Aspects of the invention described herein include these and other various types of computer-readable storage media when such media contain instructions or programs for implementing the steps described below in conjunction with a microprocessor or other data processor. Aspects of the invention also include the computer itself when programmed according to the methods and techniques described herein.
For purposes of illustration, programs and other executable program components, such as the operating system, are illustrated herein as discrete blocks. It is recognized, however, that such programs and components reside at various times in different storage components of the computer, and are executed by the data processor(s) of the computer.
Although described in connection with an exemplary computing system environment, including computer 130, embodiments of the invention are operational with numerous other general purpose or special purpose computing system environments or configurations. The computing system environment is not intended to suggest any limitation as to the scope of use or functionality of aspects of the invention. Moreover, the computing system environment should not be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with embodiments of the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, mobile telephones, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
Aspects of the invention may be described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices. Generally, program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform particular tasks or implement particular abstract data types. Embodiments of 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 both local and remote computer storage media including memory storage devices.
An interface in the context of a software architecture includes a software module, component, code portion, or other sequence of computer-executable instructions. The interface includes, for example, a first module accessing a second module to perform computing tasks on behalf of the first module. The first and second modules include, in one example, application programming interfaces (APIs) such as provided by operating systems, component object model (COM) interfaces (e.g., for peer-to-peer application communication), and extensible markup language metadata interchange format (XMI) interfaces (e.g., for communication between web services).
The interface may be a tightly coupled, synchronous implementation such as in Java 2 Platform Enterprise Edition (J2EE), COM, or distributed COM (DCOM) examples. Alternatively or in addition, the interface may be a loosely coupled, asynchronous implementation such as in a web service (e.g., using the simple object access protocol). In general, the interface includes any combination of the following characteristics: tightly coupled, loosely coupled, synchronous, and asynchronous. Further, the interface may conform to a standard protocol, a proprietary protocol, or any combination of standard and proprietary protocols.
The interfaces described herein may all be part of a single interface or may be implemented as separate interfaces or any combination therein. The interfaces may execute locally or remotely to provide functionality. Further the interfaces may include additional or less functionality than illustrated or described herein.
In operation, computer 130 executes computer-executable instructions such as those illustrated in the figures to implement aspects of the invention.
The order of execution or performance of the operations illustrated and described herein is not essential, unless otherwise specified. That is, the operations may be performed in any order, unless otherwise specified, and the operations may include more or less elements than those disclosed herein. For example, it is contemplated that executing or performing a particular operation or element before, contemporaneously with, or after another operation or element is within the scope of an embodiment of the invention.
When introducing elements of embodiments of the invention, the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described herein. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.