User interface for searching

The present disclosure relates to search techniques. In one example process, the device concurrently displays remote search results and local search results. In another example process, the device provides previews of search results that include actionable user interface objects. In another example process, the device concurrently displays options for initiating a search using various search engines.

TECHNICAL FIELD

This relates generally to computer user interfaces, and more specifically to techniques for displaying a user interface for searching.

BACKGROUND

The use of electronic devices for searching content has increased significantly in recent years. Exemplary devices include cellular telephones, touchpads, desktop computers, and laptop computers. Such devices are widely used by users to search for information that is stored locally to the device and for information that is stored remotely to the device. With such devices, a user may have difficulty locating, previewing, and accessing desired information. This creates a significant cognitive burden on the user. In addition, some methods for searching for information take longer than necessary, thereby wasting energy. This latter consideration is particularly important in battery-operated devices.

SUMMARY

Some techniques for searching content using electronic devices, however, are generally cumbersome and inefficient. For example, searching for information frequently requires navigating a complex and time-consuming user interface. For another example, some search techniques do not include a convenient method for previewing the search results. For another example, some techniques do not efficiently provide options to search various search engines. In addition, some techniques take longer than necessary, thereby wasting energy. This latter consideration is particularly important in battery-operated devices.

Accordingly, there is a need for electronic devices with faster, more efficient methods and interfaces for searching. Such methods and interfaces optionally complement or replace conventional methods for searching. Such methods and interfaces reduce the cognitive burden on a user and produce a more efficient human-machine interface. For battery-operated computing devices, such methods and interfaces conserve power and increase the time between battery charges.

The above deficiencies and other problems associated with user interfaces for searching are reduced or eliminated by the disclosed devices. In some embodiments, the device is a desktop computer. In some embodiments, the device is portable (e.g., a notebook computer, tablet computer, or handheld device). In some embodiments, the device has a touchpad. In some embodiments, the device has a touch-sensitive display (also known as a “touch screen” or “touch screen display”). In some embodiments, the device has a graphical user interface (GUI), one or more processors, memory and one or more modules, programs or sets of instructions stored in the memory for performing multiple functions. In some embodiments, the user interacts with the GUI primarily through finger contacts and gestures on the touch-sensitive surface. Executable instructions for performing these functions may be included in a computer readable storage medium or other computer program product configured for execution by one or more processors.

In accordance with some embodiments, a method is performed at an electronic device with a display. The method includes receiving a search input. The method includes obtaining one or more local search results based on the search input. The method includes determining whether the search input meets remote-search criteria. The method includes, in response to receiving the search input, in accordance with a determination that the search input does not meet the remote-search criteria, displaying, on the display, local search result information that corresponds to the one or more local search results; and in accordance with a determination that the search input meets the remote-search criteria, obtaining one or more remote search results based on the search input, and concurrently displaying, on the display, remote search result information that corresponds to the one or more remote search results and local search result information that corresponds to the one or more local search results.

In accordance with some embodiments, a method is performed at an electronic device with a display. The method includes receiving a search input. The method includes displaying one or more search results obtained based on the received search input. The method includes receiving a request to preview a respective search result of the one or more search results. The method also includes, in response to receiving the request to preview the respective search result, displaying a preview of content of the respective search result, wherein the preview of content of the respective search result includes one or more actionable user interface objects that, when activated, cause the device to perform an operation associated with the respective search result.

In accordance with some embodiments, a method is performed at an electronic device with a display. The method includes receiving a search input. The method includes determining whether the search input includes a search-engine-specifier term. The method also includes, in accordance with a determination that the search input includes a search-engine-specifier term that corresponds to a respective search engine, concurrently displaying one or more selectable options for initiating a search of at least a first portion of the search input using the respective search engine and one or more selectable options for initiating a search of at least a second portion of the search input using a default search engine.

Thus, devices are provided with faster, more efficient methods and interfaces for searching, thereby increasing the effectiveness, efficiency, and user satisfaction with such devices. Such methods and interfaces may complement or replace conventional methods for searching.

DESCRIPTION OF EMBODIMENTS

Below,FIGS. 1A-1B, 2, 3, and 4A-4Bprovide a description of exemplary devices for searching.FIGS. 5A-5M, 7A-7N, 9A-9M, and 11illustrate exemplary user interfaces for searching. The user interfaces in the figures are also used to illustrate the processes described below, including the processes inFIGS. 6A-6B, 8, and 10A-10B.

Memory102may include one or more computer-readable storage mediums. The computer-readable storage mediums may be tangible and non-transitory. Memory102may include high-speed random access memory and may also include non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Memory controller122may control access to memory102by other components of device100.

A quick press of the push button may disengage a lock of touch screen112or begin a process that uses gestures on the touch screen to unlock the device, as described in U.S. patent application Ser. No. 11/322,549, “Unlocking a Device by Performing Gestures on an Unlock Image,” filed Dec. 23, 2005, U.S. Pat. No. 7,657,849, which is hereby incorporated by reference in its entirety. A longer press of the push button (e.g.,206) may turn power to device100on or off. The user may be able to customize a functionality of one or more of the buttons. Touch screen112is used to implement virtual or soft buttons and one or more soft keyboards.

Touch-sensitive display112provides an input interface and an output interface between the device and a user. Display controller156receives and/or sends electrical signals from/to touch screen112. Touch screen112displays visual output to the user. The visual output may include graphics, text, icons, video, and any combination thereof (collectively termed “graphics”). In some embodiments, some or all of the visual output may correspond to user-interface objects.

Device100may also include one or more optical sensors164.FIG. 1Ashows an optical sensor coupled to optical sensor controller158in I/O subsystem106. Optical sensor164may include charge-coupled device (CCD) or complementary metal-oxide semiconductor (CMOS) phototransistors. Optical sensor164receives light from the environment, projected through one or more lenses, and converts the light to data representing an image. In conjunction with imaging module143(also called a camera module), optical sensor164may capture still images or video. In some embodiments, an optical sensor is located on the back of device100, opposite touch screen display112on the front of the device so that the touch screen display may be used as a viewfinder for still and/or video image acquisition. In some embodiments, an optical sensor is located on the front of the device so that the user's image may be obtained for video conferencing while the user views the other video conference participants on the touch screen display. In some embodiments, the position of optical sensor164can be changed by the user (e.g., by rotating the lens and the sensor in the device housing) so that a single optical sensor164may be used along with the touch screen display for both video conferencing and still and/or video image acquisition.

Device100may also include one or more proximity sensors166.FIG. 1Ashows proximity sensor166coupled to peripherals interface118. Alternately, proximity sensor166may be coupled to input controller160in I/O subsystem106. Proximity sensor166may perform as described in U.S. patent application Ser. No. 11/241,839, “Proximity Detector In Handheld Device”; Ser. No. 11/240,788, “Proximity Detector In Handheld Device”; Ser. No. 11/620,702, “Using Ambient Light Sensor To Augment Proximity Sensor Output”; Ser. No. 11/586,862, “Automated Response To And Sensing Of User Activity In Portable Devices”; and Ser. No. 11/638,251, “Methods And Systems For Automatic Configuration Of Peripherals,” which are hereby incorporated by reference in their entirety. In some embodiments, the proximity sensor turns off and disables touch screen112when the multifunction device is placed near the user's ear (e.g., when the user is making a phone call).

Text input module134, which may be a component of graphics module132, provides soft keyboards for entering text in various applications (e.g., contacts137, e-mail140, IM141, browser147, and any other application that needs text input).

Examples of other applications136that may be stored in memory102include other word processing applications, other image editing applications, drawing applications, presentation applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice replication.

Device100may also include one or more physical buttons, such as “home” or menu button204. As described previously, menu button204may be used to navigate to any application136in a set of applications that may be executed on device100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on touch screen112.

Attention is now directed towards embodiments of user interfaces that may be implemented on, for example, portable multifunction device100.

FIG. 4Billustrates an exemplary user interface on a device (e.g., device300,FIG. 3) with a touch-sensitive surface451(e.g., a tablet or touchpad355,FIG. 3) that is separate from the display450(e.g., touch screen display112). Device300also, optionally, includes one or more contact intensity sensors (e.g., one or more of sensors357) for detecting intensity of contacts on touch-sensitive surface451and/or one or more tactile output generators359for generating tactile outputs for a user of device300.

As used here, the term “affordance” refers to a user-interactive graphical user interface object that may be displayed on the display screen of devices100and/or300(FIGS. 1 and 3). For example, an image (e.g., icon), a button, and text (e.g., hyperlink) may each constitute an affordance.

Attention is now directed towards embodiments of user interfaces (“UI”) and associated processes that may be implemented on a multifunction device with a display, such as device300or portable multifunction device100.

FIGS. 5A-5Millustrate exemplary user interfaces for displaying search result information in accordance with some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the process inFIGS. 6A-6B.

FIGS. 5A-Dillustrate exemplary user interfaces for receiving a search input and displaying search result information. AtFIG. 5A, electronic device100displays a user interface, including search field502. A user of the device can enter a search input, such as an alphanumeric text string, into search field502to initiate a search. In some examples, the user does not need to indicate completion of entering the search input, such as by activating a search affordance or pressing an enter button, to initiate the search. Instead, the device may automatically requests searches as the search input is progressively entered into search field502.

AtFIG. 5B, the user has entered a search input504of “Coff” into search field502. The device receives the search input504(e.g., “C”, “Cof”, and “Coff” as it is progressively entered). The device obtains one or more local search results based on the search input. The device determines whether the search input504(e.g., “Coff” inFIG. 5B) meets remote-search criteria. In some embodiments, the search input does not meet the remote-search criteria when the search input has a character count that does not exceed a threshold character count. For example, the remote-search criteria is met when the length of the search input504is above a predefined number of characters. In response to receiving the search input, and in accordance with a determination that the search input does not meet the remote-search criteria (e.g., a length of the search input is not above the predefined number of characters), the device displays, on the display, local search result information (e.g., messages506and508ofFIG. 5B) that corresponds to the one or more local search results, as illustrated inFIG. 5B. In some examples, local search result information pertains to information that is locally stored on the device. Thus, the device does not have to access a remote location (such as a server) to access the information. Thus,FIG. 5Billustrates an example where the search input504of “Coff” does not meet the remote-search criteria.

FIG. 5Cillustrates an exemplary user interface where the search input504of “Coffee” does meet the remote-search criteria. In response to receiving the search input504(e.g., “Coffee” ofFIG. 5C), and in accordance with a determination that the search input504(e.g., “Coffee” inFIG. 5C) meets the remote-search criteria (e.g., a length of the search input is above a predefined number of characters), the device obtains one or more remote search results based on the search input and concurrently displays, on the display, remote search result information (e.g., Donut Shoppe search result510) that corresponds to the one or more remote search results and local search result information (e.g., messages506and508ofFIG. 5C) that corresponds to the one or more local search results. In some examples, remote search result information pertains to information that is remotely stored (e.g., the device uses a network to access the information).

In some embodiments, the concurrently displayed remote search result information and local search result information are visibly displayed together on the display. For example, some of the remote search results and some of the local search results are displayed on the same screen. This makes the user aware that local search results are available when the user initially looks at the screen (and prior to any scrolling), even when remote search results are displayed at, for example, the top of the display. This is advantageous because local search results are often relevant to the user.

In some embodiments, the displayed remote search result information (e.g., search result510ofFIG. 5C) comprises a remote search result of the one or more remote search results, the remote search result having a confidence value higher than a confidence threshold. For example, each of the one or more remote search results are assigned a corresponding confidence value. If the top remote search result (e.g., the remote search result with the highest confidence value) is determined not to be relevant to the user (e.g., the confidence value is not higher than the confidence threshold), then the remote search result is not displayed to the user. In some embodiments, this determination is performed at a remote server that provides the one or more remote search results. In some embodiments, the determination is performed at the device.

In some embodiments, the displayed remote search result information (e.g., search result510ofFIG. 5C) comprises one or more top remote search results up to a threshold number of top remote search results (e.g., maximum one remote result so that the user is not inundated with remote results) that have a corresponding confidence value that exceeds a confidence threshold. Thus, even if numerous remote search results have confidence values that exceed the confidence threshold, the number of remote search results displayed is limited so that the user is more easily able to view and access local results.

In some embodiments, prior to displaying the remote search result information, the device determines whether an identified remote search result of the one or more remote search results corresponds to a matching local search result of the one or more local search results. In accordance with a determination that the identified remote search result corresponds to the matching local search result, the device excludes the identified remote search result from the remote search result information prior to displaying the remote search result information. For example, in some embodiments, the device does not display a link to buy a music album (the identified remote search result), if the device determines that the device already has access to the music album (e.g., the music album is stored locally). Instead of the link to buy the music album, the device provides a link to locally access the music album on the device.

FIG. 5Dillustrates an exemplary user interface for displaying local search result information and remote search result information in accordance with some embodiments. In some embodiments, concurrently displaying the remote search result information and the local search result information comprises displaying a first remote search result (e.g., search result510ofFIG. 5D) of the one or more remote search results at a first location on the display. The device displays a plurality of local search results (e.g., messages506and508ofFIG. 5D) of the one or more local search results at a second location on the display, the second location being below the first location. The device displays a second remote search result (e.g., search results512ofFIG. 5D) of the one or more remote search results at a third location on the display, the third location being below the second location. In some embodiments, a remote search result is displayed at the top of the list of search results. This remote search result is followed by multiple displayed local search results, which are followed by another one or more remote search results. In this way, a user can quickly access the highest ranked remote search result and also have convenient access to local search results. While still accessible, the remote results other than the remote result displayed at the top of the list, are displayed at a location that is potentially less accessible to the user. For example, the user may need to scroll the screen to access the other remote results.

In some embodiments, the device receives additional characters added to the search input (e.g., the user enters more into the search field) and updates the search results. The device receives additional characters added to the search input to form a second search input. The device obtains one or more second local search results based on the second search input. The device determines whether the second search input meets the remote-search criteria. In accordance with a determination that the second search input does not meet the remote-search criteria (e.g., a length of the second search input is not above the predefined number of characters), the device displays, on the display, updated local search result information that corresponds to the one or more second local search results. In accordance with a determination that the second search input meets the remote-search criteria, the device obtains one or more second remote search results based on the second search input, and concurrently displays, on the display, updated remote search result information that corresponds to the one or more second remote search results and updated local search result information that corresponds to the one or more second local search results. In some circumstances, the second search input meets the remote-search criteria while the first search input did not meet the remote-search criteria. For example, the first search input may not meet the remote-search criteria because the first search input has a character count that does not exceed a threshold character count. As the user enters an additional character into the search field, the newly formed search input (e.g., second search input) may meet the remote-search criteria. For example, this second search input may meet the remote-search criteria because it exceeds the threshold character count.

FIGS. 5E-5Fillustrate exemplary user interfaces for displaying supplemental information as part of the remote search result information in accordance with some embodiments. In some embodiments, the displayed remote search result information comprises a first remote search result (e.g., Donut Shoppe search result510ofFIG. 5E) associated with a respective software application (e.g., a software application that is different from an application in which the search is being performed; the software application may be a restaurant review application). The device obtains supplemental information (e.g., the distance to a restaurant “5 Miles”, restaurant hours “6:00 AM-5:00 PM”) related to the first remote search result from the respective software application. In some examples, the respective software application accesses the supplemental information over the Internet. The device displays the supplemental information as part of the remote search result information. The device receives a selection of (e.g., a user taps on) the first remote search result, and, in response to receiving the selection of the first remote search result, the device displays the respective software application (e.g., a restaurant review application).

In some embodiments, the displayed local search result information comprises a first local search result (e.g., message508ofFIG. 5E) associated with a respective software application (e.g., mail application514ofFIG. 5F). The device obtains supplemental information (e.g., the subject or body of the email) related to the first local search result from the respective software application (e.g., mail application514). The device displays the supplemental information as part of the local search result information. In some examples, the supplemental information displayed as part of the local search result information is stored locally on the device (e.g., the email was previously downloaded onto the device). The device receives a selection of (e.g., a user taps on) the first local search result (e.g., message508ofFIG. 5E), and, in response to receiving the selection of the first local search result, the device displays the respective software application (e.g., mail application514ofFIG. 5F). Thus, for example, an email application may retrieve the subject or body of an email and display the subject or body of the email as part of a displayed email result. When the user selects the email result, the email application opens and displays the email.

In some embodiments, the displayed remote search result information comprises a remote search result (e.g., search result510ofFIG. 5E) and information accessed from a remote source (e.g., a website server) associated with the remote search result (e.g., information accessed from a server such as location or business hours). In some embodiments, the displayed local search result information comprises a local search result (e.g., message508ofFIG. 5E) and information accessed from a local source (e.g., application on phone, email application on phone) associated with the local search result (e.g., the subject or content of the message). By including information accessed from the remote source and the local source in the remote search result and local search result, respectively, the user is presented with additional information, thereby reducing the need for the user to select the search result to access the full content or application associated with the search result.

FIGS. 5G-5Iillustrate exemplary user interfaces for displaying various parts of a remote search result in accordance with some embodiments. In these examples, a user has entered a search input of “Her Movie” (e.g., search input520) and the device has displayed remote search result information. In some embodiments, the displayed remote search result information comprises a first remote search result. The device detects a swipe gesture (e.g., by the user swiping a finger, as illustrated inFIG. 5G) on a touch-sensitive surface at a location that corresponds to a location of a first portion of the first remote search result on the display (e.g., first portion522A). In response to detecting the swipe gesture at the first portion of the first remote search result (e.g., first portion522A), the device replaces display of the first portion of the first remote search result (e.g., first portion522A) with display of a second portion of the first remote search result (e.g.,522B ofFIG. 5I). In some embodiments, the first portion of the first remote search result (e.g., first portion522A) is replaced with the second portion of the first remote search result (e.g.,522B ofFIG. 5I) by sliding the two portions across the display in the direction of the swipe gesture, as illustrated in the transitions betweenFIG. 5G,FIG. 5H, andFIG. 5I. In this example, the first portion allows the user to see basic details about the movie “Her”, as well as providing an option to watch a trailer for the movie. After the swipe gesture, inFIG. 5I, the device displays show times for the movie “Her”, as well as providing an option to access a show time for booking a ticket to watch the movie. In another embodiment, in response to detecting a swipe gesture while movie details from a movie details application are displaying, the device displays a link to make a movie reservation using a movie reservation application. In some embodiments, in response to detecting a swipe gesture while restaurant reviews from a restaurant review application are displayed, the device displays a link to make reservations using a restaurant reservation application.

FIGS. 5J-Nillustrate exemplary user interfaces for receiving a search input and displaying search result information in accordance with some embodiments. AtFIG. 5J, device100displays a user interface, including search field530. In this example, a user of the device has entered a search input532, such as an alphanumeric text string “Malon”, into search field530to initiate a search. In some examples, the user does not need to indicate completion of entering the search input, such as by activating a search affordance or pressing an enter button, to initiate the search. Instead, the device may automatically request a search using the search input as the search input is progressively entered into search field530.

The device receives the search input532(e.g., as it is progressively entered). The device obtains one or more local search results based on the search input. The device determines whether the search input532(e.g., “Malon” inFIG. 5J) meets remote-search criteria. In some embodiments, the search input does not meet the remote-search criteria when the search input has a character count that does not exceed a threshold character count. For example, remote-search criteria is met when the length of the search input532is above a predefined number of characters. In response to receiving the search input, and in accordance with a determination that the search input does not meet the remote-search criteria (e.g., a length of the search input is not above the predefined number of characters), the device displays, on the display, local search result information (e.g., mail messages534and536) that corresponds to the one or more local search results, as illustrated inFIG. 5J. Thus,FIG. 5Jillustrates an example where the search input532of “Malon” does not meet remote-search criteria. However, relevant local results are still displayed. Search result534is selected by the user (e.g., by clicking the search result using a mouse cursor) on the left pane of the search application, and in response, a preview538of the content associated with search result534is displayed on the right pane of the search application. In this example, the preview538includes portions of the contents of a mail message that relates to the search input532.

FIG. 5Killustrates an exemplary user interface where the search input532of “Malonee” does meet the remote-search criteria. In response to receiving the search input532(e.g., “Malonee” ofFIG. 5K), and in accordance with a determination that the search input532(e.g., “Malonee” ofFIG. 5K) meets the remote-search criteria (e.g., a length of the search input is above a predefined number of characters), the device obtains one or more remote search results based on the search input and concurrently displays, on the display, remote search result information (e.g.,540,542,544) that corresponds to the one or more remote search results and local search result information (e.g., mail messages534and536) that correspond to the one or more local search results. In some embodiments, search result540is automatically selected (e.g., because it is the highest ranked result) on the left pane of the search application, and in response to being automatically selected, a preview546of the content associated with search result540is displayed on the right pane of the search application. In this example, the preview546includes portions of the contents of an Encyclopedia article that relates to the search term532.

In some embodiments, the concurrently displayed remote search result information and local search result information are visibly displayed together on the display. For example, some of the remote search results and some of the local search results are displayed on the same screen. This makes the user aware that local search results are available when the user initially looks at the screen (and prior to any scrolling), even when remote search results are displayed at, for example, the top of search window application.

In some embodiments, the displayed remote search result information (e.g., Top Hit search result540, Smart Search search results542and544) comprises a remote search result of the one or more remote search results, the remote search result having a confidence value higher than a confidence threshold. For example, each of the one or more remote search results are assigned a corresponding confidence value. If the top search result (e.g., the remote search result with the highest confidence value) is determined not to be relevant to the user (e.g., confidence value is not higher than the confidence threshold), then the search result is not displayed to the user. In some embodiments, this determination is performed at a remote server that provides the one or more remote search results. In some embodiments, the determination is performed at the device. InFIG. 5K, Top Hit search result540has a corresponding confidence value higher than a confidence threshold, and is therefore displayed as part of the displayed remote search result information.

In some embodiments, the displayed remote search result information (e.g., Top Hit search result540, Smart Search search results542and544) comprises one or more top remote search results up to a threshold number of top remote search results (e.g., maximum three remote results so that the user is not inundated with remote results) that have a corresponding confidence value that exceeds a confidence threshold. Thus, even if numerous remote results have confidence values that exceed the confidence threshold, the number of remote results displayed is limited so that the user is more easily able to view and access local results. InFIG. 5K, the threshold number of top remote search results is three. Thus, even though a search for search input532returns more than three remote search results, only a maximum of three remote search results are displayed. In other examples, the threshold number of top remote search results determines how many remote search results are displayed at the top of the list of search results.

In some embodiments, prior to displaying the remote search result information, the device determines whether an identified remote search result of the one or more remote search results corresponds to a matching local search result of the one or more local search results. In accordance with a determination that the identified remote search result corresponds to the matching local search result, the device excludes the identified remote search result from the remote search result information prior to displaying the remote search result information. For example, in some embodiments, the device does not display a link to buy a video documentary (the identified remote search result), if the device determines that the device already has access to the video documentary (e.g., the video documentary is stored locally). Instead of the link to buy the video documentary, the device provides a link to locally access the video documentary on the device.

FIG. 5Kalso illustrates an exemplary user interface for displaying local search result information and remote search result information according to some embodiments. In some embodiments, concurrently displaying the remote search result information and the local search result information comprises displaying a first remote search result (e.g., Top Hit search result540ofFIG. 5K) of the one or more remote search results at a first location on the display, displaying a plurality of local search results (e.g., Mail messages534and536ofFIG. 5K) of the one or more local search results at a second location on the display, the second location being below the first location, and displaying a second remote search result (e.g., Smart Search search result542ofFIG. 5K) of the one or more remote search results at a third location on the display, the third location being below the second location. In some embodiments, a remote search result is displayed at the top of the list of search results. This remote search result is followed by multiple displayed local search results, which are followed by another one or more remote search results. In this way, a user can quickly access the highest ranked remote search result and also have convenient access to local search results. While still accessible, the remote results other than the remote result displayed at the top of the list, are displayed at a location that is potentially less accessible to the user. For example, the user may need to scroll the screen to access the other remote results.

In some embodiments, the device receives additional characters added to the search input and updates the search results as the characters are added. The device receives additional characters added to the search input to form a second search input. The device obtains one or more second local search results based on the second search input. The device determines whether the second search input meets the remote-search criteria. In accordance with a determination that the second search input does not meet the remote-search criteria (e.g., a length of the second search input is not above the predefined number of characters), the device displays, on the display, updated local search result information that corresponds to the one or more second local search results. In accordance with a determination that the second search input meets the remote-search criteria, the device obtains one or more second remote search results based on the second search input, and concurrently displays, on the display, updated remote search result information that corresponds to the one or more second remote search results and updated local search result information that corresponds to the one or more second local search results. In some circumstances, the second search input meets the remote-search criteria while the first search input did not meet the remote-search criteria. For example, the first search input may not meet the remote-search criteria because the first search input has a character count that does not exceed a threshold character count. As the user enters an additional character into the search field, the newly formed search input (e.g., second search input) may meet the remote-search criteria. For example, this second search input may meet the remote-search criteria because it exceeds the threshold character count.

FIGS. 5K-5Millustrate exemplary user interfaces for receiving selections of search results on the left pane of a search application and displaying a preview of the selected search result on the right pane of the search application. For example, atFIG. 5Ksearch result540is selected (as indicated by being bold), and a preview of the search result is displayed (e.g.,546ofFIG. 5K). InFIG. 5L, a user has selected mail messages534, and a preview of mail messages534is displayed (e.g.,548ofFIG. 5L) in the right pane of the search application. InFIG. 5M, a user has selected search result542, and a preview of the search result is displayed (e.g.,550ofFIG. 5M).

FIGS. 6A-6Bare flow diagrams illustrating a method for displaying search result information in accordance with some embodiments. Method600is performed at a device (e.g., device300,FIG. 3, or portable multifunction device100,FIG. 1) with a display. Some operations in method600may be combined, the order of some operations may be changed, and some operations may be omitted.

As described below, method600provides an intuitive way to display search result information in accordance with some embodiments. The method reduces the cognitive burden on a user when searching, thereby creating a more efficient human-machine interface. For battery-operated computing devices, enabling a user to conduct a search faster and more efficiently conserves power and increases the time between battery charges.

At block602, the device receives a search input (e.g., search input504ofFIG. 5B, search input532ofFIG. 5J). At block604, the device obtains one or more local search results based on the search input. At block606, the device determines whether the search input (e.g., search input504ofFIG. 5B, search input532ofFIG. 5J) meets remote-search criteria. In some embodiments, the search input does not meet the remote-search criteria when the search input has a character count that does not exceed a threshold character count. For example, remote-search criteria is met when the length of the search input is above a predefined number of characters.

At block608, in response to receiving the search input the device performs one or more operations. At block610, in accordance with a determination that the search input does not meet the remote-search criteria (e.g., a length of the search input is not above the predefined number of characters), the device displays, on the display, local search result information (e.g., messages506and508ofFIG. 5B, mail messages534and536ofFIG. 5J) that corresponds to the one or more local search results.

At block612, in response to receiving the search input, and in accordance with a determination that the search input (e.g., search input504ofFIG. 5C, search input532ofFIG. 5K) meets the remote-search criteria (e.g., a length of the search input is above a predefined number of characters), the device obtains one or more remote search results based on the search input and concurrently displays, on the display, remote search result information (e.g., search result510ofFIG. 5C, search results540,542,544ofFIG. 5K) that corresponds to the one or more remote search results and local search result information (e.g., messages506and508ofFIG. 5C, mail messages534and536ofFIG. 5K) that corresponds to the one or more local search results.

In some embodiments, the concurrently displayed remote search result information and local search result information are visibly displayed together on the display. For example, some of the remote search results and some of the local search results are displayed on the same screen. This makes the user aware that local search results are available when the user initially looks at the screen (and prior to any scrolling), even when remote search results are displayed at, for example, the top of the display.

In some embodiments, the displayed remote search result information (e.g., search result510ofFIG. 5C, search results540,542, and544ofFIG. 5K) comprises a remote search result of the one or more remote search results, the remote search result having a confidence value higher than a confidence threshold. For example, each of the one or more remote search results are assigned a corresponding confidence value. If the top search result (e.g., the remote search result with the highest confidence value) is determined not to be relevant to the user (e.g., confidence value is not higher than the confidence threshold), then the search result is not displayed to the user. In some embodiments, this determination is performed at a remote server that provides the one or more remote search results. In some embodiments, the determination is performed at the device.

In some embodiments, the displayed remote search result information (e.g., search result510ofFIG. 5C, search results540,542, and544ofFIG. 5K) comprises one or more top remote search results up to a threshold number of top remote search results (e.g., maximum one remote result so that the user is not inundated with remote results) that have a corresponding confidence value that exceeds a confidence threshold. Thus, even if numerous remote results have confidence values that exceed the confidence threshold, the number of remote results displayed is limited so that the user is more easily able to view and access local results. In some embodiments, the threshold number of top remote search results limits the number of remote search results displayed at the top of the displayed search results (e.g., above the initial displayed local search result).

In some embodiments, prior to displaying the remote search result information, the device determines whether an identified remote search result of the one or more remote search results corresponds to a matching local search result of the one or more local search results. In accordance with a determination that the identified remote search result corresponds to the matching local search result, the device excludes the identified remote search result from the remote search result information prior to displaying the remote search result information. For example, in some embodiments, the device does not display a link to buy an album (the identified remote search result), if the device determines that the device already has access to the album (e.g., the album is stored locally). Instead of the link to buy the album, the device provides a link to locally access the album on the device.

At block614, in some embodiments, concurrently displaying the remote search result information and the local search result information comprises displaying a first remote search result of the one or more remote search results (e.g.,510ofFIG. 5D, 540ofFIG. 5K) at a first location on the display, displaying a plurality of local search results (e.g., messages506and508ofFIG. 5D, mail messages534,536ofFIG. 5K) of the one or more local search results at a second location on the display, the second location being below the first location, and displaying a second remote search result (e.g., search results512ofFIG. 5D, search results542and544ofFIG. 5K) of the one or more remote search results at a third location on the display, the third location being below the second location. In some embodiments, a remote search result is displayed at the top of the list of search results. This remote search result is followed by multiple displayed local search results, which are followed by another one or more remote search results. In this way, a user can quickly access the highest ranked remote search result and also have convenient access to local search results. While still accessible, the remote results other than the remote result displayed at the top of the list, are displayed at a location that is potentially less accessible to the user. For example, the user may need to scroll the screen to access the other remote results.

At block616, in some embodiments, the device receives additional characters added to the search input and updates the search results. The device receives additional characters added to the search input to form a second search input. The device obtains one or more second local search results based on the second search input. The device determines whether the second search input meets the remote-search criteria. In accordance with a determination that the second search input does not meet the remote-search criteria (e.g., a length of the second search input is not above the predefined number of characters), the device displays, on the display, updated local search result information that corresponds to the one or more second local search results. In accordance with a determination that the second search input meets the remote-search criteria, the device obtains one or more second remote search results based on the second search input, and concurrently displays, on the display, updated remote search result information that corresponds to the one or more second remote search results and updated local search result information that corresponds to the one or more second local search results. In some circumstances, the second search input meets the remote-search criteria while the first search input did not meet the remote-search criteria. For example, the first search input may not meet the remote-search criteria because the first search input has a character count that does not exceed a threshold character count. As the user enters an additional character into the search field, the newly formed search input (e.g., second search input) may meet the remote-search criteria. For example, this second search input may meet the remote-search criteria because it exceeds the threshold character count.

In some embodiments, the displayed remote search result information comprises a first remote search result (e.g., search result510ofFIG. 5D) associated with a respective software application (e.g., a software application that is different from an application in which the search is being performed, such as a restaurant review application). The device obtains supplemental information related to the first remote search result from the respective software application. The device displays the supplemental information as part of the remote search result information. The device receives a selection of (e.g., a user taps on) the first remote search result, and, in response to receiving the selection of the first remote search result, the device displays the respective software application (e.g., a restaurant review application). This allows the user to access more information about a search result by selecting the search result. The respective software application that is displayed may include additional details about the search result.

In some embodiments, the displayed local search result information comprises a first local search result (e.g., message508ofFIG. 5E) associated with a respective software application (e.g., mail application514ofFIG. 5F). The device obtains supplemental information (e.g., the subject or body of the email message) related to the first local search result from the respective software application (e.g., mail application514). The device displays the supplemental information as part of the local search result information. The device receives a selection of (e.g., a user taps on) the first local search result, and, in response to receiving the selection of the first local search result, the device displays the respective software application (e.g., mail application514ofFIG. 5F). Thus, for example, an email application may retrieve the subject or body of an email and display the subject or body of the email as part of a displayed email result. When the user selects the email result, the email application opens and displays the email so that the user can access more details about the email.

In some embodiments, the displayed remote search result information comprises a remote search result (e.g., search result510ofFIG. 5E) and information accessed from a remote source (e.g., a website server) associated with the remote search result (e.g., information accessed from a website, distance, business hours), and wherein the displayed local search result information comprises a local search result (e.g., message508ofFIG. 5E) and information accessed from a local source (e.g., application on phone, email application on phone) associated with the local search result (e.g., the subject or content of the message). By including information accessed from the remote source and the local source in the remote search result and local search result, respectively, the user is presented with additional information, thereby reducing the need for the user to select the search result to access the full content or application associated with the search result.

At block618, in some embodiments, the displayed remote search result information comprises a first remote search result. The device detects a swipe gesture on a touch-sensitive surface at a location that corresponds to a location of a first portion of the first remote search result on the display (e.g.,522A ofFIG. 5G). In response to detecting the swipe gesture at the first portion of the first remote search result (e.g.,522A ofFIG. 5G), the device replaces display of the first portion of the first remote search result (e.g.,522A ofFIG. 5G) with display of a second portion of the first remote search result (e.g., second portion522B ofFIG. 5I). In some embodiments, the first portion of the first remote search result (e.g., first portion522A) is replaced with the second portion of the first remote search result (e.g.,522B ofFIG. 5I) by sliding the two portions across the display in the direction of the swipe gesture. In some embodiments, in response to detecting a swipe gesture while movie details from a movie details application are displaying, the device displays a link to make a movie reservation using a movie reservation application. In some embodiments, in response to detecting a swipe gesture while restaurant reviews from a restaurant review application are displayed, the device displays a link to make reservations using a restaurant reservation application.

Note that details of the processes described above with respect to method600(e.g.,FIGS. 6A-Band5A-5M) are also applicable in an analogous manner to the methods described below. For example, methods800and1000may include one or more of the characteristics of the various methods described above with reference to method600. For brevity, these details are not repeated below. The various methods and techniques described above with reference to method600may be optionally implemented as one or more units, such as those described with regard toFIG. 11.

FIGS. 7A-7Nillustrate exemplary user interfaces for previewing content of a search result in accordance with some embodiments. The techniques and user interfaces in these figures are used to illustrate the processes described below, including the process inFIG. 8.

FIGS. 7A-7Dillustrate exemplary user interfaces for receiving a search input and providing a preview of content in accordance with some embodiments. AtFIG. 7A, electronic device100displays a user interface, including search field702. A user of the device can enter a search input, such as an alphanumeric text string, into search field702to initiate a search. In some examples, the user does not need to indicate completion of entering the search input, such as by activating a search affordance or pressing an enter button, to initiate the search. Instead, the device may automatically requests searches as the search input is progressively entered into search field702.

FIG. 7Billustrates the user having entered a search input704into the search field702of a search application. The device receives the search input (e.g,704ofFIG. 7B) and displays one or more search results (e.g., search result706) obtained based on the received search input704. For example, search result706relates to a microblogging message. The device receives a request to preview a respective search result (e.g., to preview search result706) of the one or more search results. For example, atFIG. 7B, the user selects (e.g., taps on) a preview affordance708to preview the respective search result (e.g., search result706). In some embodiments, the result can be accessed (e.g., the full result) by selecting the search result (rather than the preview affordance). An exemplary preview is illustrated inFIG. 7C.

FIG. 7Cillustrates a preview of content of the respective search result (e.g., of search result706ofFIG. 7B). In response to receiving the request to preview the respective search result, the device displays a preview of content of the respective search result (e.g., preview718ofFIG. 7C). The preview of content of the respective search result (e.g.,718ofFIG. 7C) includes one or more actionable user interface objects (e.g., objects710,712,714,716) that, when activated, cause the device to perform an operation associated with the respective search result. In some embodiments, the preview of content of the respective search result includes a plurality of different actionable user interface objects that, when activated, cause the device to perform different operations associated with the respective search result.

For example, object710, when activated, performs a follow operation to register the device to follow the author of the microblog entry; object712, when activated, performs a reply operation to initiate a reply to the microblog entry; object714, when activated, performs a reblog operation to initiate a resubmission of the microblog entry; object716, when activated, initiates an email communication with the author of the microblog entry.

In some embodiments, the preview of the respective search result is displayed in the search application. By being provided with a preview and access to actionable user interface objects, the user can easily preview content and perform operations quickly and without the need to access various applications. For example, the user does not need to open a separate microblogging application or a separate website browser application to access the full microblog entry and to perform operations that are associated with the microblog entry.

In some embodiments, receiving the request to preview the respective search result comprises receiving a selection of a preview affordance (e.g.,708ofFIG. 7B) associated with the respective search result. For example, a user selects a caret (e.g.,708ofFIG. 7B) in a mobile operating system to preview the related search result.

In some embodiments, the search input (e.g.,704ofFIG. 7B) is received at a search application and the preview of content of the respective search result (e.g.,718ofFIG. 7C) is displayed in the search application (e.g., the search results and the previews are displayed in the same search application). By receiving the search input and displaying the preview in the same application, the user has convenient access to previewing content without the need to perform cumbersome techniques to switch between a search application and a viewing application.

In some embodiments, the preview of content of the respective search result (e.g.,718ofFIG. 7C) replaces the respective search result (e.g.,706ofFIG. 7B). In some embodiments, the preview of the content completely replaces the respective search result.

In some embodiments, the one or more actionable user interface objects include a first actionable user interface object. The first actionable user interface object initiates a communication with an entity associated with the respective search result when the first actionable user interface object is activated. For example, object716ofFIG. 7C, when activated, initiates an email communication with the author of the microblog entry. In some embodiments, the preview of content includes the contact information of a person or business, including a phone number or email address. Selecting the phone number or email address initiates a phone call or email, respectively, with the person or business. Initiating a communication using the preview of content allows a user to quickly contact a person or individual related to the search result.

In some embodiments, the one or more actionable user interface objects include a second actionable user interface object. The second actionable user interface object initiates playback of a media content associated with the respective search result when the second actionable user interface object is activated. In some embodiments, the preview of content includes multimedia playback and purchase information, including a link for accessing media. Selecting the link for accessing media initiates playback of media content. For example, a user can search for media content, conduct a playback of the media content, and initiate a purchase of the media content by using the search application.

In some embodiments, the one or more actionable user interface objects include a third actionable user interface object. The third actionable user interface object initiates display of webpage content associated with the respective search result when the third actionable user interface object is activated. In some embodiments, the preview of content includes a portion of a webpage, including a link to a related webpage. Selecting the link initiates display of the related webpage. In some embodiments, a related webpage is displayed in the search application. In some embodiments, the related webpage is displayed in a separate application.

In some embodiments, the one or more actionable user interface objects include a fourth actionable user interface object, and the fourth actionable user interface object comprises display of map content associated with the respective search result and the map content can be scrolled. In some embodiments, the preview of content includes a portion of a map, which can be panned, zoomed, or scrolled. In some embodiments, the map displayed in the preview can be activated to cause the display of a separate map application.

FIG. 7D-7Eillustrate exemplary user interfaces for displaying a software application associated with a search result in accordance with some embodiments. While a preview of content of the search result can be helpful, there are times when a user may want to view detailed information relating to the respective search result or may want to view the full content of the respective search result. In some embodiments, the device receives selection of the respective search result (e.g., the user taps on search result706). As illustrated inFIG. 7E, in response to receiving selection of the respective search result, the device displays a software application corresponding to the selected search result (e.g., the application related to the respective search result is displayed and provides further details about the result). In this example, the software application is a microblogging application (e.g.,720ofFIG. 7E) that enables the user to view further details about the search result. In some embodiments, the software application corresponding to the respective search result is different from the search application.

FIGS. 7F-7Hillustrate exemplary user interfaces for displaying various parts of a search result in accordance with some embodiments. In these examples, a user has entered a search input of “Her Movie” (e.g., search input726) into search field702ofFIG. 7F. The user can perform an operation (e.g., a finger gesture) to display various parts of search result732. In some embodiments, displaying one or more search results obtained based on the received search input comprises displaying a first search result (e.g., search result732). The device detects a swipe gesture on a touch-sensitive surface at a location that corresponds to a location of a first portion of the first search result on the display (e.g., first portion728). In response to receiving the swipe gesture at the first portion of the first search result (e.g., first portion728), the device completely replaces display of the first portion of the first search result (e.g., first portion728) with display of a second portion of the first search result (e.g., second portion730ofFIG. 7H). In some embodiments, the first portion of the first remote search result (e.g., first portion728) is replaced with the second portion of the first remote search result (e.g., second portion730) by sliding the two portions across the display in the direction of the swipe gesture, as illustrated in the transitions betweenFIG. 7F,FIG. 7G, andFIG. 7H. In this example, the first portion allows the user to see basic details about the movie “Her”, as well as having the option to watch a trailer for the movie. After the swipe gesture, inFIG. 7H, the device displays show times for the movie “Her”, as well as providing the option to access a show time for booking a ticket. In another embodiment, in response to detecting a swipe gesture while movie details from a movie details application are displaying, the device displays a link to make a movie reservation using a movie reservation application. In some embodiments, in response to detecting a swipe gesture while restaurant reviews from a restaurant review application are displayed, the device displays a link to make reservations using a restaurant reservation application.

FIG. 7Iillustrates an exemplary user interface for displaying the result of a calculation or conversion in accordance with some embodiments. InFIG. 7I, a user has entered a search input722(e.g., “12×12”) into search field702. The device performs a computation on the search input722, and provides the computation result as a search result724. In some embodiments, the device determines whether the search input meets a computation criteria. In one example, the search input meets the computation criteria when the search input is a mathematical expression. In accordance with a determination that the search input722meets the computation criteria, the device displays a computation result (e.g.,724ofFIG. 7I) of the one or more search results. The computation result is based on a computation performed based on at least a portion of the search input. Thus, the computation result may be displayed along with other search results. In some embodiments, the search results are displayed in a drop down menu from an address bar of a web browser. In some embodiments the search results are displayed in a stand-alone search window.

FIGS. 7J-7Nillustrate exemplary user interfaces for receiving a search input and providing a preview of content in accordance with some embodiments. AtFIG. 7J, electronic device100displays a user interface of a search application738, including search field740. A user of the device has entered a search input (e.g.,742ofFIG. 7J) into search field740to initiate a search. In some examples, the user does not need to indicate completion of entering the search input, such as by activating a search affordance or pressing an enter button, to initiate the search. Instead, the device may automatically requests searches as the search input is progressively entered into search field740.

In the user interface ofFIG. 7J, the device receives the search input (e.g,742ofFIG. 7J) and displays one or more search results (e.g., search results744,748,750) obtained based on the received search input742. InFIG. 7J, the one or more search results are displayed in a left pane734of the search application738. For example, search result744relates to an encyclopedia article about the city of Berlin, search result748relates to a song titled “Berlin Song” and search result750relates to a song titled “Dancing to Berlin”. The device receives a request to preview a respective search result (e.g., search result744) of the one or more search results. For example, atFIG. 7J, the user selects (e.g., taps on using a finger or activates using a mouse cursor) a preview affordance to preview the respective search result (e.g., search result744). In some embodiments, the preview affordance is selected when the user activates any portion of the search result. In some embodiments, the preview affordance is the title of the search result (e.g., “Berlin—Germany Capital” for744ofFIG. 7J).

FIG. 7Jalso illustrates a preview of content of the respective search result (e.g., search result744ofFIG. 7J). In response to receiving the request to preview the respective search result, the device displays a preview of content of the respective search result (e.g., preview752ofFIG. 7J). InFIG. 7J, the preview of content is displayed in a right pane736of the search application738. The preview of content of the respective search result (e.g.,752ofFIG. 7J) includes one or more actionable user interface objects (e.g., objects746and754) that, when activated, cause the device to perform an operation associated with the respective search result. In some embodiments, the preview of content of the respective search result includes a plurality of different actionable user interface objects that, when activated, cause the device to perform different operations associated with the respective search result.

For example, object746, when activated, causes an image display operation to be performed that displays a full-size image of the respective object; object754, when activated, causes a webpage display operation to be performed that displays the contents of a webpage associated with the respective object. In some embodiments, the preview of the respective search result and the operations performed are displayed in the search application. By being provided with a preview and access to actionable user interface objects, the user can easily preview content and perform operations quickly and without the need to access various applications. For example, the user does not need to open a separate image-viewing application or a separate website browser application to perform the operations that are associated with the objects746and754. In some embodiments, the full-size image and the contents of the webpage are displayed in the right pane736, and replace the preview.

In some embodiments, receiving the request to preview the respective search result comprises receiving a selection of a preview affordance associated with the respective search result. For example, a user selects a different search result from a list of results on the left pane (e.g., left pane734) of a search application (e.g., search application738) to preview the respective search result on the right pane (e.g., right pane736) of the search application.

In some embodiments, the search input (e.g.,742ofFIG. 7J) is received at a search application and the preview of content of the respective search result (e.g.,752ofFIG. 7J) is displayed in the search application (e.g., the search results and the previews are displayed in the same search application). By receiving the search input and displaying the preview in the same application, the user has convenient access to previewing content without the need to perform cumbersome techniques to switch between a search application and a viewing application.

In some embodiments, the preview of content of the respective search result replaces the respective search result. In some embodiments, the preview of the content completely replaces the search result.

In some embodiments, the preview of content of the respective search result is displayed concurrently with the respective search result (e.g, the search result744is displayed in the left pane734and the preview752is displayed in the right pane736).

FIGS. 7J and 7Killustrate exemplary user interfaces for displaying different previews for the same content. In some embodiments, the preview of content changes based on the search terms, even if the previews are of the same content. For example, important information such as the population of a city is displayed as part of the preview of an encyclopedia article of the city if, for example, the search input includes “population”. If, however, a different search input produces the same encyclopedia article as a search result, the preview of the encyclopedia article may not include the population of the city if, for example, the search input does not include “population”. In another example, if the search input specifies “elevation”, a preview of the same encyclopedia article of the city will display the elevation, and not the population.

In some embodiments, the preview of content of the respective search result includes first information when the search input includes a first term, and the preview of content of the respective search result includes second information when the search input includes a second term, the first term different from the second term. For example, the preview752displayed inFIG. 7Jand the preview764displayed inFIG. 7Kare exemplary previews for the same encyclopedia article about Berlin. Preview752resulting from search input742of “Capital of Germany” does not include a description relating to the population of Berlin as part of the preview752of the encyclopedia article. However, preview764resulting from a different search input (e.g., search input760ofFIG. 7K, “Population of Berlin”) includes first information762relating to the population of Berlin as part of the preview764(e.g. “Population 3.5 Million”) of the same encyclopedia article. Thus, different search inputs that result in the same search result can produce different previews of the content of the search result. Accordingly, important information from the result is displayed for the user in the preview of content of the search result.

In some embodiments, the preview of content of the respective search result includes information in a first order when the search input includes a first term, and the preview of content of the respective search result includes information in a second order when the search input includes a second term, the first term different from the second term. For example, important information such as population of a city is displayed at the top of the preview of an encyclopedia article of the city if the search input includes “population”. However, if the search input does not include “population” and includes a different term, the preview may include the population of the city at a different location in the preview (e.g., at the bottom of the preview). Similarly, if the query specifies “elevation”, a preview of the same encyclopedia article of the city will display the elevation of the city at the top of the preview, and not the population.

FIGS. 7J and 7Lillustrate exemplary user interfaces for replacing one preview of content with another preview of content in accordance with some embodiments. AtFIG. 7J, the device has received a request to preview search result744ofFIG. 7J. In some embodiments, the device receives a second request to preview a second search result (e.g., search result748of FIG.7L) of the one or more search results (e.g., search results744,748,750ofFIGS. 7J and 7L). In response to receiving the second request to preview the second search result, the device replaces display of the preview of content of the respective search result (e.g., preview752ofFIG. 7J) with display of a preview of content of the second search result (e.g., preview766ofFIG. 7L). The preview of content of the second search result (e.g., preview766ofFIG. 7L) includes one or more actionable user interface objects (e.g., play object768) that, when activated, causes the device to perform an operation associated with the second search result. In some embodiments, the list of search results is maintained on the display even while the preview is updated. Thus, a user can select from among the search results in the left pane734, to see the preview of the selected result in the right pane736of search application738. An indication may be displayed so that the user knows which search result is currently being previewed. For example, search result748inFIG. 7Lis bolded to indicate that the preview in right pane736relates to search result748.

In some embodiments, the one or more actionable user interface objects include a second actionable user interface object. The second actionable user interface object initiates playback of a media content associated with the respective search result when the second actionable user interface object is activated. For example, object768ofFIG. 7L, when activated, initiates playback of the song “Berlin Song”, which is associated with the search result748ofFIG. 7L. In some embodiments, the preview of content includes multimedia playback and purchase information, including a link for accessing media. Selecting the link for accessing media initiates playback of media content. For example, a user can search for media content, conduct a playback of the media content, and initiate a purchase of the media content by using the search application.

In some embodiments, the one or more actionable user interface objects include a third actionable user interface object. The third actionable user interface object initiates display of webpage content associated with the respective search result when the third actionable user interface object is activated. In some embodiments, the preview of content includes a portion of a webpage, including a link to a related webpage. Selecting the link initiates display of the related webpage. For example, preview752ofFIG. 7Jincludes object754, which, when activated, initiates display of the full encyclopedia article associated with search result744ofFIG. 7J. In some embodiments, a related webpage is displayed in the search application. In some embodiments, the related webpage is displayed in a separate application.

FIG. 7Millustrates an exemplary user interface for displaying a preview of a search result. Search input770results in search results displayed in left pane734. Preview772is for a restaurant review of Star Pizza. Preview772includes one or more actionable user interface objects. For example, object778ofFIG. 7M, when activated, initiates an telephone communication with the restaurant Star Pizza at the telephone number 415-555-5555. In some embodiments, the one or more actionable user interface objects include a first actionable user interface object (e.g., object778ofFIG. 7M). The first actionable user interface object (e.g., object778) initiates a communication with an entity associated with the respective search result when the first actionable user interface object is activated. In some embodiments, the preview of content includes the contact information of a person or business, including a phone number or email address. Selecting the phone number or email address initiates a phone call or email, respectively, with the person or business. Initiating a communication using the preview of content allows a user to quickly contact a person or individual related to the search result.

In some embodiments, the one or more actionable user interface objects include a fourth actionable user interface object, and the fourth actionable user interface object comprises display of map content associated with the respective search result and the map content can be scrolled. For example, preview772ofFIG. 7Mincludes object776, which includes display of a map. The displayed map of object776may be scrolled. For example, a user can scroll the map of object776to the left or right using a mouse cursor or a finger gesture. In some embodiments, the preview of content includes a portion of a map, which can be panned, zoomed, or scrolled. For example, a user can pan, zoom, or scroll the map of object776using a mouse cursor or a finger gesture. In some embodiments, the map displayed in the preview can be activated to cause the display of a separate map application. In some embodiments, an activated actionable user interface object causes display of a separate map application. For example, activating object774causes display of a separate map application that provides driving directions to the Star Pizza restaurant.

FIG. 7Nillustrates an exemplary user interface for displaying the result of a calculation or conversion in accordance with some embodiments. InFIG. 7N, a user has entered a search input780(“12*345”) into search field740of search application738. The device performs a computation on the search input780, and provides the computation result as a search result784. In some examples, preview782displays the result of the computation as preview782. In some embodiments, the device determines whether the search input meets a computation criteria. In one example, the search input meets the computation criteria when the search input is a mathematical expression. In accordance with a determination that the search input meets the computation criteria, the device displays a computation result of the one or more search results. The computation result is based on a computation performed based on at least a portion of the search input. Thus, the computation result may be displayed along with other search results. In some embodiments, the search results are displayed in a drop down menu from an address bar of a web browser. In some embodiments the search results are displayed in a stand-alone search window.

FIG. 8is a flow diagram illustrating a method800for previewing content of a search result in accordance with some embodiments. Method800is performed at a device (e.g., device300,FIG. 3, or portable multifunction device100,FIG. 1) with a display. Some operations in method800may be combined, the order of some operations may be changed, and some operations may be omitted.

As described below, method800provides an intuitive way to display previews of content of a search result in accordance with some embodiments. The method reduces the cognitive burden on a user when searching, thereby creating a more efficient human-machine interface. For battery-operated computing devices, enabling a user to conduct a search faster and more efficiently conserves power and increases the time between battery charges.

At block802, the device receives a search input (e.g,704ofFIG. 7B, 742ofFIG. 7J). At block804, the device displays one or more search results (e.g.,706ofFIG. 7B, 744, 748, 750ofFIG. 7J) obtained based on the received search input.

At block806, in some embodiments, displaying one or more search results obtained based on the received search input comprises displaying a first search result (e.g., search result732ofFIG. 7F). The device detects a swipe gesture on a touch-sensitive surface at a location that corresponds to a location of a first portion of the first search result on the display (e.g.,728ofFIG. 7F). In response to receiving the swipe gesture at the first portion of the first search result (e.g.,728ofFIG. 7F), the device completely replaces display of the first portion of the first search result (e.g.,728ofFIG. 7F) with display of a second portion of the first search result (e.g.,730ofFIG. 7H). In some embodiments, the first portion of the first remote search result (e.g.,728ofFIG. 7F) is replaced with the second portion of the first remote search result (e.g.,730ofFIG. 7H) by sliding the two portions across the display in the direction of the swipe gesture. In another embodiment, in response to detecting a swipe gesture while movie details from a movie details application are displaying, the device displays a link to make a movie reservation using a movie reservation application. In some embodiments, in response to detecting a swipe gesture while restaurant reviews from a restaurant review application are displayed, the device displays a link to make reservations using a restaurant reservation application.

At block808, the device receives a request to preview a respective search result (e.g.,706ofFIG. 7B, 744ofFIG. 7J) of the one or more search results. In some embodiments, receiving the request to preview the respective search result comprises receiving a selection of a preview affordance (e.g.,708ofFIG. 7B) associated with the respective search result (e.g.,706ofFIG. 7B).

At block810, in response to receiving the request to preview the respective search result, the device displays a preview of content of the respective search result (e.g.,718ofFIG. 7C, 752ofFIG. 7J). The preview of content of the respective search result (e.g.,718ofFIG. 7C, 752ofFIG. 7J) includes one or more actionable user interface objects (e.g., objects710,712,714,716ofFIG. 7C, objects746,754ofFIG. 7J) that, when activated, cause the device to perform an operation associated with the respective search result. In some embodiments, the preview of content of the respective search result includes a plurality of different actionable user interface objects (e.g., objects710,712,714,716ofFIG. 7C, objects746,754ofFIG. 7J) that, when activated, cause the device to perform different operations associated with the respective search result. In some embodiments, the preview of the respective search result is displayed in the search application. By being provided with a preview and access to actionable user interface objects, the user can easily preview content and perform operations quickly and without the need to access various applications. For example, the user does not need to open a separate application to access content and to perform operations that are associated with the content.

In some embodiments, the search input (e.g,704ofFIG. 7B, 742ofFIG. 7J) is received at a search application and the preview of content of the respective search result (e.g.,718ofFIG. 7C, 752ofFIG. 7J) is displayed in the search application (e.g., search input, the search results, and the previews are displayed in the same search application). By receiving the search input and displaying the preview in the same application, the user has convenient access to previewing content without the need to perform cumbersome techniques to switch between a search application and a viewing application.

In some embodiments, the preview of content of the respective search result (e.g.,718ofFIG. 7C) replaces the respective search result (e.g.,706ofFIG. 7B). In some embodiments, the preview of the content completely replaces the search result.

In some embodiments, the preview of content of the respective search result is displayed concurrently with the respective search result (e.g, inFIG. 7J, the search result744is displayed in the left pane734and the preview752is displayed in the right pane736).

In some embodiments, the preview of content of the respective search result includes first information (e.g.,752ofFIG. 7J) when the search input (e.g.,742ofFIG. 7J) includes a first term, and the preview of content of the respective search result includes second information (e.g.,764ofFIG. 7K) when the search input includes a second term (e.g.,760ofFIG. 7K), the first term different from the second term (e.g., important information such as population of a city is displayed as part of the preview of an encyclopedia article of the city if, for example, the query includes “population”. Similarly, if the query specifies “elevation”, a preview of the same encyclopedia article of the city will display the elevation, and not the population) Thus, different search inputs that result in the same search result can produce different previews of the content of the result. Accordingly, important information from the result is displayed for the user in the preview of content of the search result.

In some embodiments, the preview of content of the respective search result includes information in a first order when the search input includes a first term, and the preview of content of the respective search result includes information in a second order when the search input includes a second term, the first term different from the second term. For example, important information such as population of a city is displayed at the top of the preview of an encyclopedia article of the city if the search input includes “population”. However, if the search input does not include “population” and includes a different term, the preview may include the population of the city at a different location in the preview (e.g., at the bottom of the preview). Similarly, if the query specifies “elevation”, a preview of the same encyclopedia article of the city will display the elevation of the city at the top of the preview, and not the population.

At block812, in some embodiments, the device receives a second request to preview a second search result (e.g.,748ofFIG. 7L) of the one or more search results (e.g.,744,748,750ofFIGS. 7J and 7L). In response to receiving the second request to preview the second search result, the device replaces display of the preview of content of the respective search result (e.g.,752ofFIG. 7J) with display of a preview of content of the second search result (e.g.,766ofFIG. 7L). The preview of content of the second search result (e.g.,766ofFIG. 7L) includes one or more actionable user interface objects (e.g.,768ofFIG. 7L) that, when activated, causes the device to perform an operation associated with the second search result. In some embodiments, the list of search results is maintained on the display even while the preview is updated. Thus, a user can select from among the search results in the left pane (e.g.,734ofFIGS. 7J and 7L), to see the preview of the selected result in the right pane (e.g.736ofFIGS. 7J and 7L) of the search application (e.g.,738ofFIGS. 7J and 7L).

In some embodiments, the one or more actionable user interface objects include a first actionable user interface object (e.g.,716ofFIG. 7C). The first actionable user interface object (e.g.,716ofFIG. 7C) initiates a communication with an entity associated with the respective search result when the first actionable user interface object is activated. In some embodiments, the preview of content includes the contact information of a person or business, including a phone number or email address. Selecting the phone number or email address initiates a phone call or email, respectively, with the person or business. Initiating a communication using the preview of content allows a user to quickly contact a person or individual related to the search result.

In some embodiments, the one or more actionable user interface objects include a second actionable user interface object (e.g.,768ofFIG. 7L). The second actionable user interface object (e.g.,768ofFIG. 7L) initiates playback of a media content associated with the respective search result when the second actionable user interface object is activated. In some embodiments, the preview of content includes multimedia playback and purchase information, including a link for accessing media. Selecting the link for accessing media initiates playback of media content. For example, a user can search for media content, conduct a playback of the media content, and initiate a purchase of the media content by using the search application.

In some embodiments, the one or more actionable user interface objects include a third actionable user interface object (e.g.,754ofFIG. 7J). The third actionable user interface object (e.g.,754ofFIG. 7J) initiates display of webpage content associated with the respective search result when the third actionable user interface object is activated. In some embodiments, the preview of content includes a portion of a webpage, including a link to a related webpage. Selecting the link initiates display of the related webpage. In some embodiments, a related webpage is displayed in the search application. In some embodiments, the related webpage is displayed in a separate application.

In some embodiments, the one or more actionable user interface objects include a fourth actionable user interface object (e.g.,776ofFIG. 7M), and the fourth actionable user interface (e.g.,776ofFIG. 7M) object comprises display of map content associated with the respective search result and the map content can be scrolled. In some embodiments, the preview of content includes a portion of a map, which can be panned, zoomed, or scrolled. In some embodiments, the map displayed in the preview can be activated to cause the display of a separate map application.

At block814, in some embodiments, the device receives selection of the respective search result (e.g.,706ofFIG. 7D). In response to receiving selection of the respective search result (e.g.,706ofFIG. 7D), the device displays a software application corresponding to the selected search result (e.g.,720ofFIG. 7E; the application related to the selected search result is displayed and provides further details about the result). In some embodiments, the software application corresponding to the respective search result is different from the search application.

In some embodiments, the device determines whether the search input (e.g.,722ofFIG. 7I, 780ofFIG. 7N) meets a computation criteria. In one example, the search input meets the computation criteria when the search input is a mathematical expression. In accordance with a determination that the search input (e.g.,722ofFIG. 7I, 780ofFIG. 7N) meets the computation criteria, the device displays a computation result (e.g.,724ofFIG. 7I, 782of FIG.7N) of the one or more search results. The computation result is based on a computation performed based on at least a portion of the search input (e.g.,722ofFIG. 7I, 780ofFIG. 7N). Thus, the computation result may be displayed along with other search results. In some embodiments, the search results are displayed in a drop down menu from an address bar of a web browser. In some embodiments the search results are displayed in a stand-alone search window.

Note that details of the processes described above with respect to method800(e.g.,FIGS. 8 and 7A-7N) are also applicable in an analogous manner to the methods described below and above. For example, methods600and1000may include one or more of the characteristics of the various methods described above with reference to method800. For brevity, these details are not repeated below. The various methods and techniques described above with reference to method800may be optionally implemented as one or more units, such as those described with regard toFIG. 11.

FIGS. 9A-9Millustrate exemplary user interfaces for providing options to initiate a search using a search engine in accordance with some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the process inFIGS. 10A-10B.

FIGS. 9A-9Eillustrate exemplary user interfaces for providing various search options in accordance with some embodiments.FIG. 9Aillustrates an exemplary user interface of an electronic device100, including search field902. In some examples, search field902also displays (and accepts) website URLs for access to websites. Thus, when a website is being accessed, the URL of the website may be displayed in search field902. Similarly, a user can directly access a website by entering the URL of the website into search field902. For example, search field902may be displayed as part of a web browser application or may be displayed as part of the operating system. AtFIG. 9B, a user has entered a search input904(e.g., “IMSe Her”) into search field902. For example, IMSe may be the short name for “Internet Movie Search evaluator,” a website that provides descriptions and reviews about movies. The IMSe website has its own search engine, which may be accessible directly through the website (e.g., at “IMSe.com/search.html”) or accessible through APIs (e.g., making an API call for a search and receiving an API response with search results and details). The device receives the search input (e.g.,904ofFIG. 9B) and determines whether the search input (e.g.,904) includes a search-engine-specifier term. In the example ofFIG. 9B, “IMSe” of search input904is a search-engine-specifier term. In some embodiments, the determination is case-sensitive. Thus, “imse” and “IMSe” are treated differently. In some embodiments, the determination is case-insensitive, and “imse” and “IMSe” are treated the same. In some embodiments, the device maintains a database that maps search-specifier-terms to corresponding search engines.

In accordance with a determination that the search input includes a search-engine-specifier term that corresponds to a respective search engine (e.g., the term “IMSe” corresponds to the search engine of the Internet Movie Search evaluator server), the device concurrently displays one or more selectable options (e.g., options906,908ofFIG. 9B) for initiating a search of at least a first portion of the search input using the respective search engine (e.g., search for “Her” or “Hercules” using the IMSe search engine) and one or more selectable options (e.g., options914,916ofFIG. 9B) for initiating a search of at least a second portion of the search input using a default search engine (e.g., search for “IMSe Her” or “IMSe Hercules” using a default search engine, such as Google). For example, initiating a search using the respective search engine initiates a search that uses the IMSe search engine, rather than simply searching the IMSe website using the default search engine.

In some embodiments, the at least the first portion of the search input does not include the search-engine-specifier term (e.g., searching IMSe for “Her” using the IMSe search engine does not use the term “IMSe” as part of the search query sent to the IMSe search engine). In some embodiments, the at least the second portion of the search input includes the search-engine-specifier term (e.g., searching the default search engine uses the entire search input “IMSe Her” for the search).

In some embodiments, the device displays a first identifier icon (e.g.,906A,908A ofFIG. 9B) adjacent to each of the one or more selectable options (e.g., options906,908ofFIG. 9B) for initiating search of at least the first portion of the search input using the respective search engine. The device displays a second identifier icon (e.g.,914A,916A ofFIG. 9B) adjacent to each of the one or more selectable options (e.g., options914,916ofFIG. 9B) for initiating search of at least the second portion of the search input using the default search engine. The first identifier icon is different from the second identifier icon. Thus, a user can easily determine that the different search options are related to different search engines.

In some embodiments, the one or more selectable options (e.g., options906,908ofFIG. 9B) for initiating the search of at least the first portion of the search input using the respective search engine includes one or more search completion suggestions (e.g.,908ofFIG. 9B) received from the respective search engine (e.g., the respective search engine selected based on the search-engine-specifier term provides suggested search terms for the search options). For example, although the term “Hercules” was not in the search input, the search options presented to the user include the suggestion of searching for “Hercules” using the respective search engine because the respective search engine provided the suggestion.

In some embodiments, the one or more selectable options (e.g., options914,916ofFIG. 9B) for initiating the search of at least the second portion of the search input using the default search engine includes one or more search completion suggestions (e.g.,916ofFIG. 9B) received from the default search engine (e.g., the default search engine provides suggested search terms). For example, although the term “Hercules” was not in the search input, the search results presented to the user include the suggestion of searching for “Hercules” using the default search engine because the default search engine provided the suggestion.

In some embodiments, the search input comprises two or more character strings separated by a separation character (e.g., a space) and the search-engine-specifier term is a leading character string of the search input. In the example ofFIG. 9B, the string “IMSe” is separated from the string “Her” by a space. The search-engine-specifier term is “IMSe” (e.g., the leading character string).

In some embodiments, determining whether the search input includes a search-engine-specifier term comprises determining whether a leading word of the search input has a character count that exceeds a threshold character count (e.g., determining whether the leading word is longer than 2 letters). In accordance with a determination that that the leading word does not have a character count that exceeds the threshold character count (e.g., the leading word is 2 letters or less), the device reaches a determination that the search input does not include a search-engine-specifier term.

In some embodiments, the search-engine-specifier term of the search input is a second-level domain name of the respective search engine (e.g., the search-engine-specifier term for a search engine of www.icloud.com is “icloud”).

In some embodiments, the search-engine-specifier term of the search input is a third-level domain name of the respective search engine (e.g., the search-engine-specifier term for a search engine of www.icloud.co.uk is “icloud”).

FIGS. 9B and 9Cillustrate exemplary user interfaces for displaying search results in accordance with some embodiments. In some embodiments, the device receives user selection of a first selectable option (e.g., the user taps on option906ofFIG. 9B) of the one or more selectable options for initiating search of at least the first portion of the search input using the respective search engine (e.g., the IMSe search engine). In response to receiving user selection of the first selectable option, the device initiates search of at least the first portion of the search input using the respective search engine (e.g., go to a URL or call an API to search for the results; the search is requested with the IMSe search engine using a search query of “Her”). The device receives search result information from the respective search engine (e.g., the IMSe search engine returns the top hit and/or a list of search results). As illustrated inFIG. 9C, the device displays a search result (e.g., a list of search results;922ofFIG. 9C) based on the search result information. In some examples, the search result information includes the URLs and/or the titles of the results. For example, the display of a search result may be done by directing the user to a search result webpage (e.g., http://IMSe.com) of the respective search engine.

FIGS. 9B and 9Eillustrate exemplary user interfaces for providing an option to directly access a result of a search. In some embodiments, in accordance with the determination that the search input includes a search-engine-specifier term (e.g., “IMSe”) that corresponds to the respective search engine, the device concurrently displays one or more selectable options (e.g.,910,912ofFIG. 9B) for accessing a result of searching at least the first portion of the search input using the respective search engine (e.g., a drop down menu or search result listing has a direct link to the top result(s) for search of “Her” using the IMSe search engine, such as “Her (2013)” and “Hercules (2014)”). For example, the user is provided with the option to directly access a website result of the searching (e.g., “http://IMSe.com/Her”), rather than accessing a listing of the search results. In some examples, the top search result is provided as an option for direct access. In some embodiments, the device receives user selection of a second selectable option (e.g., finger tap on910ofFIG. 9B) of the one or more selectable options for accessing the result of searching at least the first portion of the search input using the respective search engine. As illustrated inFIG. 9E, in response to receiving user selection of the second selectable option (e.g.,910ofFIG. 9B), the device displays a result of the search (e.g., website930ofFIG. 9E) associated with the second selectable option (e.g., display the top website that a search of the IMSe search engine returns). For example,FIG. 9Eillustrates display of the IMSe webpage for the movie “Her”, which is at the URL “http://IMSe.com/Her”. By being provided with an option for accessing a result of searching, the user does not need to first access a list of search results at the website of the respective search engine. Instead, the user can directly access the result.

FIG. 9Dillustrates an exemplary user interface for providing a search option for a default search engine in accordance with some embodiments. In some embodiments, in accordance with a determination that the search input (e.g., “IXSe her”924ofFIG. 9D) does not include a search-engine-specifier term, the device displays one or more selectable options (e.g.,926ofFIG. 9D) for initiating a search of at least a second portion of the search input using the default search engine (e.g., search for “IXSe her” using google without displaying any affordances or options for performing a search of a non-default search engine using the search input). If a user activates the selectable option926, the device performs a search based on the search input “IXSE her” using the default search engine (e.g., Google).

FIGS. 9F-9Iillustrate exemplary user interfaces for detecting a new search engine and associating a new search-engine-identifier with the new search engine. AtFIG. 9F, a user has entered a search input of “Apple computer” (e.g.,932ofFIG. 9F) into search field902ofFIG. 9F. The device receives the search input and provides a selectable option (e.g.,934ofFIG. 9F) to initiate a search based on the search input (e.g.,932ofFIG. 9F) using the default search engine (e.g., Google). At this point, the search engine of Apple.com is not associated with any search-engine-identifier at the device.

AtFIG. 9G, the user accesses Apple's search engine by using a web browser on the device to navigate to the search engine (e.g., navigate to “apple.com”,936ofFIG. 9G). The user has entered a search query (e.g., “email”) into a text search location (e.g.,938ofFIG. 9G) of Apple.com's search engine. The user activates the “go” affordance to initiate the search (e.g., the user taps on affordance940ofFIG. 9G). AtFIG. 9H, Apple's search engine returns a webpage (e.g.,942ofFIG. 9E) that includes search results provided by Apple's search engine, as a result of the user activating the “go” affordance. The device detects that a search was conducted using a new search engine (e.g., Apple's search engine), and associates the new search engine with a search-engine-identifier (e.g., “apple”). This allows the user to search using the new search engine in the future by, for example, using the search engine identifier. In some embodiments, the device detects a search conducted using a second search engine (e.g., Apple's search engine), wherein the second search engine does not correspond to any search-engine-specifier term. The device associates (e.g., by automatically selecting or after receiving from the user) a new search-engine-specifier term (e.g., “apple”) with the second search engine. In some embodiments, when the steps described above with reference toFIGS. 9G-9Hare performed before the search-engine-specifier term (e.g., “apple”) for the second search engine (e.g., Apple's search engine) is established, even if the search string starts with the term that is used as the new search-engine-specifier term (e.g., “apple iphone”), no affordances or options for initiating a search using the second search engine (e.g., Apple's search engine) are displayed. Once the new search-engine-specifier term (e.g., “apple”) for the second search engine is established, search strings (e.g., “apple computer”) that start with the new search-engine-specifier term cause the device to display affordances and/or options for initiating a search using the second search engine (e.g., Apple's search engine). In some embodiments, the device automatically, without user intervention, assigns a search-engine-specifier term for the second search engine (e.g., the device assigns the second search engine a search-engine-specifier term of the truncated URL of the second search engine).

FIG. 9Iillustrates an exemplary user interface for conducting a search using a new search engine. After the process described with regard toFIGS. 9G-9Hhave been performed and a search-engine-specifier term (e.g., “apple”) has been associated with the new search engine (e.g., Apple's search engine), the user may be presented with the option to search using the new search engine. For example, when the user conducts a new search by entering a new search input (e.g., “apple computer”932ofFIG. 9I) that includes the search-engine-specifier term (e.g., “apple”), the device provides an option (e.g.,944ofFIG. 9I) to initiate search using the new search engine. In some embodiments, the device also provides an option to initiate a search using the default search engine (e.g.,934ofFIG. 9I). In some embodiments, the device receives a second search input (e.g., “apple computer”932ofFIG. 9I). The device determines whether the second search input (e.g.,932ofFIG. 9I) includes a search-engine-specifier term (e.g. when the first word of the search input is “apple”). In accordance with a determination that the second search input (e.g.,932ofFIG. 9I) includes the first term as a search-engine-specifier term that corresponds to the second search engine, the device concurrently displays one or more selectable options (e.g.,944ofFIG. 9I) for initiating a search based on at least a third portion of the second search input using the second search engine (e.g., search for “computer” using Apple's search engine) and one or more selectable options (e.g.,934ofFIG. 9I) for initiating a search based on at least a second portion of the second search input using the default search engine (e.g., search for “apple computer” using Google).

In some embodiments, the device receives a user request to associate a second term with a third search engine, the user request for assigning the second term as a search-engine-specifier term corresponding to the third search engine, and the device associates the second term with the third search engine (e.g., the user can request that a specific term be as the search-engine-specifier term for a particular search engine). Thus, the user can select what types of search inputs will trigger options for which search engines. For example, the user can change the search-engine-specifier term for Apple's search engine from “apple” to “appl”. In some embodiments, the user can also request to change the search-engine-specifier term that is associated with the first search engine.

In some embodiments, the device displays a search engine selection affordance adjacent to a search input area (e.g., search field902). The device detects activation of the search engine selection affordance, and, in response to activation of the search engine selection affordance, displays a plurality of options for a default search engine. For example, the search input area is where the search input is typed in by the user. By displaying options for a default search engine, the user is able to see the list of search engines available for selection as the default search engine.

In some embodiments, the device detects selection of a first search engine option of the plurality of options for a default search engine, the first search engine option associated with a first search engine, and, in response to detecting the selection of the first search engine option of the plurality of options for a default search engine, the device changes the default search engine to the first search engine. In some embodiments, the user selects, from among various options, a search engine to be used as the default search engine. Thus, the user is able to specify which search engine should be used as the default search engine.

FIGS. 9J-9Millustrate exemplary user interfaces for providing various search options in accordance with some embodiments.FIG. 9Jillustrates an exemplary user interface of an electronic device100, including search field950. Search field950also displays (and accepts) website URLs for access to websites. For example, search field950may be displayed as part of a web browser application or may be displayed as part of the operating system. AtFIG. 9K, a user has entered a search input952(e.g., “IMSe Her”) into the search field950. For example, IMSe may be the short name for “Internet Movie Search evaluator,” a website that provides descriptions and reviews about movies. The IMSe website has its own search engine, which may be accessible directly through the website (e.g., at “IMSe.com/search.html”) or accessible through APIs (e.g., making an API call for a search and receiving an API response with search results and details). The device receives the search input (e.g.,952ofFIG. 9K) and determines whether the search input (e.g.,952ofFIG. 9K) includes a search-engine-specifier term. In the example ofFIG. 9K, “IMSe” of search input952is a search-engine-specifier term. In some embodiments, the determination is case-sensitive. Thus, “imse” and “IMSe” are treated differently. In some embodiments, the determination is case-insensitive, and “imse” and “IMSe” are treated the same. In some embodiments, the device maintains a database that maps search-specifier-terms to corresponding search engines.

In accordance with a determination that the search input includes a search-engine-specifier term that corresponds to a respective search engine (e.g., the term “IMSe” corresponds to the search engine of the Internet Movie Search evaluator server), the device concurrently displays one or more selectable options (e.g., options954,956ofFIG. 9K) for initiating a search of at least a first portion of the search input using the respective search engine (e.g., search for “Her” or “Hercules” using the IMSe search engine) and one or more selectable options (e.g., options962,964ofFIG. 9K) for initiating a search of at least a second portion of the search input using a default search engine (e.g., search for “IMSe Her” or “IMSe Hercules” using a default search engine, such as Google). For example, initiating a search using the respective search engine initiates a search that uses the IMSe search engine, rather than simply searching the IMSe website using the default search engine. In some embodiments, the one or more selectable options are presented as a drop-down menu from the search field950. In some embodiments, the at least the first portion of the search input does not include the search-engine-specifier term. In some embodiments, the at least the second portion of the search input includes the search-engine-specifier term.

In some embodiments, the device displays a first identifier icon (e.g.,954A,956A ofFIG. 9K) adjacent to each of the one or more selectable options (e.g., options954,956ofFIG. 9K) for initiating search of at least the first portion of the search input using the respective search engine. The device displays a second identifier icon (e.g.,962A,964A ofFIG. 9K) adjacent to each of the one or more selectable options (e.g., options962,964ofFIG. 9B) for initiating search of at least the second portion of the search input using the default search engine. The first identifier icon is different from the second identifier icon. Thus, a user can easily determine that the different search options are related to different search engines.

In some embodiments, the one or more selectable options (e.g., options954,956ofFIG. 9K) for initiating the search of at least the first portion of the search input using the respective search engine includes one or more search completion suggestions (e.g.,956ofFIG. 9K) received from the respective search engine. (e.g., the respective search engine selected based on the search-engine-specifier term provides suggested search terms). For example, although the term “Hercules” was not in the search input, the search results presented to the user include the suggestion of searching for “Hercules” using the respective search engine.

In some embodiments, the one or more selectable options (e.g., options962,964ofFIG. 9K) for initiating the search of at least the second portion of the search input using the default search engine includes one or more search completion suggestions (e.g.,964ofFIG. 9K) received from the default search engine (e.g., the default search engine provides suggested search terms). For example, although the term “Hercules” was not in the search input, the search results presented to the user include the suggestion of searching for “Hercules” using the default search engine.

In some embodiments, the search input comprises two or more character strings separated by a separation character (e.g., a space) and the search-engine-specifier term is a leading character string of the search input. In the example ofFIG. 9K, the string “IMSe” is separated from the string “Her” by a space. The search-engine-specifier term is “IMSe” (e.g., the leading character string).

In some embodiments, determining whether the search input includes a search-engine-specifier term comprises determining whether a leading word of the search input has a character count that exceeds a threshold character count (e.g., determining whether the leading word is longer than 2 letters). In accordance with a determination that that the leading word does not have a character count that exceeds the threshold character count (e.g., the leading word is 2 letters or less), the device reaches a determination that the search input does not include a search-engine-specifier term.

In some embodiments, the search-engine-specifier term of the search input is a second-level domain name of the respective search engine (e.g., the search-engine-specifier term for a search engine of www.icloud.com is “icloud”).

In some embodiments, the search-engine-specifier term of the search input is a third-level domain name of the respective search engine (e.g., the search-engine-specifier term for a search engine of www.icloud.co.uk is “icloud”).

FIGS. 9K and 9Lillustrate exemplary user interfaces for displaying search results in accordance with some embodiments. In some embodiments, the device receives user selection of a first selectable option (e.g., option954of FIG. K) of the one or more selectable options for initiating search of at least the first portion of the search input using the respective search engine (e.g., the IMSe search engine). In response to receiving user selection of the first selectable option, the device initiates search of at least the first portion of the search input using the respective search engine (e.g., go to a URL or call an API to search for the results; the search is requested with the IMSe search engine for using a search query of “Her”). The device receives search result information from the respective search engine (e.g., the IMSe search engine returns the top hit and/or a list of search results). As illustrated inFIG. 9L, the device displays a search result (e.g., a list of search results;968ofFIG. 9L) based on the search result information. In some examples, the search result information includes the URLs and/or the titles of the results. For example, the display of a search result may be done by directing the user to a search result webpage (e.g., http://IMSe.com) of the respective search engine.

FIGS. 9K and 9Millustrate exemplary user interfaces for providing an option to directly access a result of a search. In some embodiments, in accordance with the determination that the search input includes a search-engine-specifier term (e.g., “IMSe”) that corresponds to the respective search engine, the device concurrently displays one or more selectable options (e.g.,958,960ofFIG. 9K) for accessing a result of searching at least the first portion of the search input using the respective search engine (e.g., a drop down menu or search result listing has a direct link to the top result(s) for search of “Her” using the IMSe search engine, such as “Her (2013)” and “Hercules (2014)”). For example, the user is provided with the option to directly access a website result of the searching (e.g., “http://IMSe.com/Her”), rather than accessing a listing of the search results. In some examples, the top search result is provided as an option for direct access. In some embodiments, the device receives user selection of a second selectable option (e.g.,958ofFIG. 9K) of the one or more selectable options for accessing the result of searching at least the first portion of the search input using the respective search engine. As illustrated inFIG. 9M, in response to receiving user selection of the second selectable option (e.g.,958ofFIG. 9K), the device displays a search result (e.g., website970ofFIG. 9M) associated with the second selectable option (e.g., display the top website that a search of the IMSe search engine returns). For example,FIG. 9Millustrates display of the IMSe webpage for the movie “Her”, which is at the URL “http://IMSe.com/Her”. By providing an option to the user for accessing a result of searching, the user does not need to first access a list of search results at the website of the respective search engine. Instead, the user can directly access the result of the search (such as the top result of the search).

In some embodiments, in accordance with a determination that the search input does not include a search-engine-specifier term, the device displays one or more selectable options for initiating a search of at least a second portion of the search input using the default search engine (e.g., search for “IXSe her” using google without displaying any affordances or options for performing a search of a non-default search engine using the search input). If a user activates the selectable option, the device performs a search based on the search input “IXSE her” using the default search engine (e.g., Google).

In some embodiments, the device detects a search conducted using a second search engine (e.g., Apple's search engine), wherein the second search engine does not correspond to any search-engine-specifier term. The device associates (e.g., by automatically selecting or after receiving from the user) a new search-engine-specifier term (e.g., “apple”) with the second search engine. In some embodiments, the device automatically, without user intervention, assigns a search-engine-specifier term for the second search engine (e.g., the device assigns the second search engine a search-engine-specifier term of the truncated URL of the second search engine).

In some embodiments, the device receives a second search input. The device determines whether the second search input includes a search-engine-specifier term (e.g. when the first word of the search input is “apple”). In accordance with a determination that the second search input includes the first term as a search-engine-specifier term that corresponds to the second search engine, the device concurrently displays one or more selectable options for initiating a search based on at least a third portion of the second search input using the second search engine (e.g., search for “computer” using Apple's search engine) and one or more selectable options for initiating a search based on at least a second portion of the second search input using the default search engine (e.g., search for “apple computer” using Google).

In some embodiments, the device receives a user request to associate a second term with a third search engine, the user request for assigning the second term as a search-engine-specifier term corresponding to the third search engine, and the device associates the second term with the third search engine (e.g., the user can request that a specific term be as the search-engine-specifier term for a particular search engine). Thus, the user can select what types of search inputs will trigger options for which search engines. For example, the user can change the search-engine-specifier term for Apple's search engine from “apple” to “appl”. In some embodiments, the user can also request to change the search-engine-specifier term that is associated with the first search engine.

In some embodiments, the device displays a search engine selection affordance adjacent to a search input area (e.g., search field950). The device detects activation of the search engine selection affordance, and, in response to activation of the search engine selection affordance, displays a plurality of options for a default search engine. For example, the search input area is where the search input is typed in by the user. By displaying options for a default search engine, the user is able to see the list of search engines available for selection as the default search engine.

In some embodiments, the device detects selection of a first search engine option of the plurality of options for a default search engine, the first search engine option associated with a first search engine, and, in response to detecting the selection of the first search engine option of the plurality of options for a default search engine, the device changes the default search engine to the first search engine. In some embodiments, the user selects, from among various options, a search engine to be used as the default search engine. Thus, the user is able to specify which search engine should be used as the default search engine.

FIGS. 10A-10Bare flow diagrams illustrating method1000for providing options to initiate a search using a search engine in accordance with some embodiments. Method1000is performed at a device (e.g., device300,FIG. 3, or portable multifunction device100,FIG. 1) with a display. Some operations in method1000may be combined, the order of some operations may be changed, and some operations may be omitted.

As described below, method1000provides an intuitive way to display options to initiate a search in accordance with some embodiments. The method reduces the cognitive burden on a user when searching, thereby creating a more efficient human-machine interface. For battery-operated computing devices, enabling a user to conduct a search faster and more efficiently conserves power and increases the time between battery charges.

At block1002, the device receives a search input (e.g.,904ofFIG. 9B, 952ofFIG. 9K). At block1004, the device determines whether the search input (e.g.,904ofFIG. 9B, 952ofFIG. 9K) includes a search-engine-specifier term. In some embodiments, the determination is case-sensitive. In some embodiments, the determination is case-insensitive. In some embodiments, the device maintains a database that maps search-specifier-terms to corresponding search engines.

At block1006, in accordance with a determination that the search input includes a search-engine-specifier term that corresponds to a respective search engine (e.g., the term “IMSe” corresponds to the search engine of the Internet Movie Search evaluator server), the device concurrently displays one or more selectable options (e.g., options906,908ofFIG. 9B, options954,956ofFIG. 9K) for initiating a search of at least a first portion of the search input using the respective search engine (e.g., search for “Her” or “Hercules” using the IMSe search engine) and one or more selectable options (e.g., options914,916ofFIG. 9B, options962,964ofFIG. 9K) for initiating a search of at least a second portion of the search input using a default search engine (e.g., search for “IMSe Her” or “IMSe Hercules” using a default search engine, such as Google). For example, initiating a search using the respective search engine initiates a search that uses the IMSe search engine, rather than simply searching the IMSe website using the default search engine.

In some embodiments, the at least the first portion of the search input does not include the search-engine-specifier term. In some embodiments, the at least the second portion of the search input includes the search-engine-specifier term.

At block1008, in some embodiments, the device displays a first identifier icon (e.g.,906A,908A ofFIG. 9B, 954A, 956AofFIG. 9K) adjacent to each of the one or more selectable options (e.g., options906,908ofFIG. 9B, 954, 956ofFIG. 9K) for initiating search of at least the first portion of the search input using the respective search engine. The device displays a second identifier icon (e.g.,914A,916A ofFIG. 9B, 962A, 964AofFIG. 9K) adjacent to each of the one or more selectable options (e.g., options914,916ofFIG. 9B, 962, 964ofFIG. 9K) for initiating search of at least the second portion of the search input using the default search engine. The first identifier icon is different from the second identifier icon. Thus, a user can easily determine that the different search options are related to different search engines.

In some embodiments, the one or more selectable options (e.g.,906,908ofFIG. 9B, 954, 956ofFIG. 9K) for initiating the search of at least the first portion of the search input using the respective search engine includes one or more search completion suggestions (e.g.,908ofFIG. 9B, 956ofFIG. 9K) received from the respective search engine. (e.g., the respective search engine selected based on the search-engine-specifier term provides suggested search terms). For example, although the term “Hercules” was not in the search input, the search results presented to the user include the suggestion of searching for “Hercules” using the respective search engine.

In some embodiments, the one or more selectable options (e.g., options914,916ofFIG. 9B, 962, 964ofFIG. 9K) for initiating the search of at least the second portion of the search input using the default search engine includes one or more search completion suggestions (e.g.,916ofFIG. 9B, 964ofFIG. 9K) received from the default search engine (e.g., the default search engine provides suggested search terms). For example, although the term “Hercules” was not in the search input, the search results presented to the user include the suggestion of searching for “Hercules” using the default search engine.

In some embodiments, the search input comprises two or more character strings separated by a separation character (e.g., a space) and the search-engine-specifier term is a leading character string of the search input. In the example ofFIG. 9B, the string “IMSe” is separated from the string “Her” by a space. The search-engine-specifier term is “IMSe”.

In some embodiments, determining whether the search input includes a search-engine-specifier term comprises determining whether a leading word of the search input has a character count that exceeds a threshold character count (e.g., determining whether the leading word is longer than 2 letters). In accordance with a determination that that the leading word does not have a character count that exceeds the threshold character count (e.g., the leading word is 2 letters or less), the device reaches a determination that the search input does not include a search-engine-specifier term.

In some embodiments, the search-engine-specifier term of the search input is a second-level domain name of the respective search engine (e.g., the search-engine-specifier term for a search engine of www.icloud.com is “icloud”). In some embodiments, the search-engine-specifier term of the search input is a third-level domain name of the respective search engine (e.g., the search-engine-specifier term for a search engine of www.icloud.co.uk is “icloud”).

At block1010, in some embodiments, in accordance with the determination that the search input includes a search-engine-specifier term (e.g., “IMSe”) that corresponds to the respective search engine, the device concurrently displays one or more selectable options (e.g.,910,912ofFIG. 9B, 958, 960ofFIG. 9K) for accessing a result of searching at least the first portion of the search input using the respective search engine (e.g., a drop down menu or search result listing has a direct link to the top result(s) for search of “Her” using the IMSe search engine, such as “Her (2013)” and “Hercules (2014)”). For example, the user is provided with the option to directly access a website result of the searching (e.g., “http://IMSe.com/Her”), rather than accessing a listing of the search results. In some examples, the top search result is provided as an option for direct access.

In some embodiments, the device receives user selection of a second selectable option (e.g.,910ofFIG. 9B) of the one or more selectable options for accessing the result of searching at least the first portion of the search input using the respective search engine. In response to receiving user selection of the second selectable option (e.g.,910ofFIG. 9B), the device displays a search result (e.g.,930ofFIG. 9E) associated with the second selectable option (e.g., display the top website that a search of the IMSe search engine returns). By providing an option to the user for accessing a result of searching, the user does not need to first access a list of search results at the website of the respective search engine. Instead, the user can directly access the result.

At block1012, in some embodiments, in accordance with a determination that the search input (e.g.,924ofFIG. 9D) does not include a search-engine-specifier term, the device displays one or more selectable options (e.g.,926ofFIG. 9D) for initiating a search of at least a second portion of the search input using the default search engine (e.g., search for “IXSe her” using google without displaying any affordances or options for performing a search of a non-default search engine using the search input). For example, if a user activates the selectable option, the device performs a search based on the search input “IXSE her” using the default search engine (e.g., Google).

At block1014, in some embodiments, the device receives user selection of a first selectable option (e.g.,906ofFIG. 9B, 954ofFIG. 9K) of the one or more selectable options for initiating search of at least the first portion of the search input using the respective search engine (e.g., the IMSe search engine). In response to receiving user selection of the first selectable option, the device initiates search of at least the first portion of the search input using the respective search engine (e.g., go to a URL or call an API to search for the results; the search is requested with the IMSe search engine for using a search query of “Her”). The device receives search result information from the respective search engine (e.g., the IMSe search engine returns the top hit and/or a list of search results). The device displays a search result (e.g.,922ofFIG. 9C, 968ofFIG. 9L) based on the search result information. In some examples, the search result information includes the URLs and/or the titles of the results. For example, the display of a search result may be done by directing the user to a search result webpage (e.g., http://IMSe.com) of the respective search engine.

At block1016, in some embodiments, the device detects a search conducted using a second search engine (e.g., Apple's search engine ofFIG. 9G), wherein the second search engine does not correspond to any search-engine-specifier term. The device associates (e.g., by automatically selecting or after receiving from the user) a new search-engine-specifier term (e.g., “apple”) with the second search engine.

At block1018, in some embodiments, the device automatically, without user intervention, assigns a search-engine-specifier term for the second search engine (e.g., the device assigns the second search engine a search-engine-specifier term of the truncated URL of the second search engine).

At block1020, in some embodiments, the device receives a second search input (e.g.,932ofFIG. 9I). The device determines whether the second search input (e.g.,932ofFIG. 9I) includes a search-engine-specifier term (e.g. when the first word of the search input is “apple”). In accordance with a determination that the second search input (e.g.,932ofFIG. 9I) includes the first term as a search-engine-specifier term that corresponds to the second search engine, the device concurrently displays one or more selectable options (e.g.,944ofFIG. 9I) for initiating a search based on at least a third portion of the second search input using the second search engine (e.g., search for “computer” using Apple's search engine) and one or more selectable options (e.g.,934ofFIG. 9I) for initiating a search based on at least a second portion of the second search input using the default search engine (e.g., search for “apple computer” using Google).

At block1022, in some embodiments, the device receives a user request to associate a second term with a third search engine, the user request for assigning the second term as a search-engine-specifier term corresponding to the third search engine, and the device associates the second term with the third search engine (e.g., the user can request that a specific term be as the search-engine-specifier term for a particular search engine). Thus, the user can select what types of search inputs will trigger options for which search engines. For example, the user can change the search-engine-specifier term for Apple's search engine from “apple” to “appl”. In some embodiments, the user can also request to change the search-engine-specifier term that is associated with the first search engine.

In some embodiments, the device displays a search engine selection affordance adjacent to a search input area (e.g., search field902). The device detects activation of the search engine selection affordance, and, in response to activation of the search engine selection affordance, displays a plurality of options for a default search engine. For example, the search input area is where the search input is typed in by the user. By displaying options for a default search engine, the user is able to see the list of search engines available for selection as the default search engine.

In some embodiments, the device detects selection of a first search engine option of the plurality of options for a default search engine, the first search engine option associated with a first search engine, and, in response to detecting the selection of the first search engine option of the plurality of options for a default search engine, the device changes the default search engine to the first search engine. In some embodiments, the user selects, from among various options, a search engine to be used as the default search engine. Thus, the user is able to specify which search engine should be used as the default search engine.

Note that details of the processes described above with respect to method1000(e.g.,FIGS. 10 and 9A-9M) are also applicable in an analogous manner to the methods described above. For example, methods600and800may include one or more of the characteristics of the various methods described above with reference to method1000. For brevity, these details are not repeated below. The various methods and techniques described above with reference to method1000may be optionally implemented as one or more units, such as those described with regard toFIG. 11.

As shown inFIG. 11, an electronic device1100includes a display unit1102configured to display a user interface, a touch-sensitive surface unit1104configured to receive user contacts; and a processing unit1106coupled to the display unit1102and the touch-sensitive surface unit1104. In some embodiments, the processing unit1106includes a display enabling unit1108, a receiving unit1110, a determining unit1112, and an obtaining unit1114. The units ofFIG. 11may be used to implement the various techniques and methods described above with respect toFIGS. 5-10.

In some embodiments, the display enabling unit1108is configured to cause a display of a user interface (or portions of a user interface) in conjunction with the display unit1102. For example, the display enabling unit1108may be used for: in accordance with a determination that the search input does not meet the remote-search criteria, displaying, on the display, local search result information that corresponds to the one or more local search results; concurrently displaying, on the display, remote search result information that corresponds to the one or more remote search results and local search result information that corresponds to the one or more local search results; displaying one or more search results obtained based on the received search input; in response to receiving the request to preview the respective search result, displaying a preview of content of the respective search result, wherein the preview of content of the respective search result includes one or more actionable user interface objects that, when activated, cause the device to perform an operation associated with the respective search result; and in accordance with a determination that the search input includes a search-engine-specifier term that corresponds to a respective search engine, concurrently displaying one or more selectable options for initiating a search of at least a first portion of the search input using the respective search engine and one or more selectable options for initiating a search of at least a second portion of the search input using a default search engine.

In some embodiments, the receiving unit1110is configured to receive input. The input may be received, for example, through the use of the touch-sensitive surface unit1104. For example, the receiving unit1110may be used for: receiving a search input; and receiving a request to preview a respective search result of the one or more search results.

In some embodiments, the determining unit1112is configured to make determinations. For example, the determining unit1112may be used for: determining whether the search input meets remote-search criteria; and determining whether the search input includes a search-engine-specifier term.

In some embodiments, the obtaining unit1114is configured to obtain information. For example, the obtaining unit1114may be configured to obtain search results, such as local search results and remote search results. In some embodiments, one or more obtaining units1114are included in processing unit1106. For example, a first obtaining unit may obtain local search results and a second obtaining unit may obtain remote search results. For example, the obtaining unit may be used for: obtaining one or more local search results based on the search input; and obtaining one or more remote search results based on the search input.

The operations in the information processing methods described above may be implemented by running one or more functional modules in information processing apparatus such as general purpose processors or application specific chips. These modules, combinations of these modules, and/or their combination with general hardware (e.g., as described above with respect toFIGS. 1A, 1B, and 3) are all included within the scope of protection of the invention.