A web browser can be used to display content that is searched via a search engine. Content can be displayed within the web browser in response to selection of one or more of the search results by a user.
Implementations relate to providing persistent search results within a browser. In particular, implementations relate to rendering a search result area concurrently with a display area (a main content window). The search result area displays at least two search results, where a search result represents a resource that is responsive to a query. The display area displays the content associated with a webpage (resource) that corresponds to one of the two search results. In some implementations, the search results may be represented in the search result area by search result indicators, which are actionable user interface elements. Each search result indicator is associated with a resource determined to be responsive to the query. This resource is referred to as the search result target. Interaction with a search result indicator causes the browser to display the resource associated with the search result (the search result target) in the display area without closing the search result area. In some implementations the search result area represents search results for a portion of a search result page (i.e., selected search results from the search result page). Rendering of the search result area can be triggered by selection of a search result in a search result page. Rendering of the search result area can be triggered by interaction with a webpage displayed in response to selection of a search result in a search result page. The interaction can include selecting a “back” action when viewing a target of a search result. The interaction can include a scrolling pattern detected during display of the target of a search result.
In one general aspect, a method can include receiving a search query and causing display of a first search result and a second search result within a display area of a browser in response to the search query. In response to a selection of the first search result, the method can include causing display of a webpage identified by the first search result within the display area of the browser, and causing display of a first search result indicator corresponding with the first search result and a second search result indicator corresponding with the second search result in a search result area outside of the display area, where the search result area is within the browser.
In one general aspect, a method can include receiving a search query and causing display of a first search result and a second search result within a display area of a browser in response to the search query. In response to a selection of the first search result, the method can include causing display of a webpage identified by the first search result within the display area of the browser, and in response to receiving an interaction with the display of the webpage, causing display of a first search result indicator corresponding with the first search result and a second search result indicator corresponding with the second search result in a search result area outside of the display area, where the search result area is still within the browser.
This disclosure is related to navigation of content associated with search results retrieved in response to a search query. The search results can be displayed within a search result area of the browser, or in a search result area of another browser, so that the content of a webpage associated with a search result is maintained (e.g., persists) in the browser while the search results are displayed. Likewise, the search results are maintained (e.g., persist) while content of the resources associated with the search results are maintained. At least one of the search results in the search result area can be selected, and content associated with the selected search result can be displayed in the display area. Thus, implementations enable navigation of webpages represented by the search results with fewer user interactions. In some implementations, the content associated with the search results can replace content of the webpage within the browser. In some implementations, the content associated with the search results can be displayed within another browser. The search results can continue to be displayed (e.g., can be maintained, or can persist) even as the content of the search results are navigated and/or displayed. The browser can be referred to as a browser window when associated with a window of an operating system (OS).
A technical problem associated with searches, such as Internet-based searching, is that several interactions are needed to navigate to resources represented in the search result page. As is known, a search result page is generated by a search engine in response to a query. The search result page includes search results and can include other content, such as ads, knowledge panels, short answers, other types of rich results, links to limit the search to a particular resource type (e.g., images, travel, shopping, news, videos, etc.). Each search result corresponds to a resource available via a network, e.g., via a URL/URI/etc. The resources were determined to be responsive to the query by the search engine. The search result includes a link to its corresponding resource. The search result can include additional information, such as a title, a snippet (text obtained from the content of the resource), an image associated with the resource, etc., or other information relevant to the resource and/or the query, as determined by the search engine. The browser displays the search result page in the display area. With a conventional browser, when a user interacts with (selects) a search result (or in other words, selects the link to the resource, the link being included in the search result), the browser requests the content of the resource associated with the link and replaces the search result page in the display area with the content of the resource. To return to the search result page to view a different resource, the user must resubmit the query or must select a browser interface control configured to return the user to the previous resource (e.g., a back control). Selection of this back control causes the browser to again render the search result page in the display area, where the user can select a different link to a different resource, which causes the browser to fetch and render the content of the different resource. This back-and-forth between the search result page and the resources represented in the search result page is inefficient for the computing device and the user. For example, the computing device expends resources (battery, processing power, and potentially network bandwidth for re-fetching) to re-render the search result page several times as the user navigates to the resources represented by the search results. In addition, the user must perform an extra interaction with the browser to accomplish the navigation because the search results are not maintained during navigation of the content.
At least one technical solution to the technical problems described above is that search results can be maintained (persist) within a search result area of the browser while the user navigates to resources represented by the search result. Thus, the content of the resource is maintained (e.g., persists) in the browser in a separate display area while the search results are displayed. At least one technical effect of this technical solution is that the computing device on which the browser executes performs fewer renderings of the search results. Search results within a search result area and webpage content within a display area can be simultaneously displayed within the browser (e.g., within a tab of the browser). This technical solution has the technical effect of reducing the number of interactions a user has with the browser to navigate the different resources represented by the search results. Put another way, because search results for a query persist in the search result area, interactions with the back control of a browser are eliminated.
In some implementations, a search result area can be integrated as part of the browser so that the search result area may not be spoofed (e.g., imitated) by a third party or the owner of the webpage content. This can be implemented as a security feature so that a user can distinguish legitimate search results provided by a search query from search results that can be inserted by a third party or by the provider of a webpage or other resource. Accordingly, the technical problem of spoofing search results can be obviated by the technical solution of integrating a search result area within the browser as described above. The technical effect of integration of a search result area within a browser is that spoofing can be prevented.
As mentioned above, in some implementations, search results can continue to be displayed (e.g., can be maintained, or can persist) in a search result area even as the content of resources represented by the search results are navigated to and displayed. The content associated with the resources represented by the search results can be displayed within the display area simultaneously within the browser (e.g., within a tab of the browser) with the search result area. This can be achieved even if only a limited available screen space is available by, e.g., scaling the resolution of the content to be displayed in the display area in case the size of the display area is decreased in order to display the display area and the search result area together within the browser on the limited available screen space. Accordingly, the technical problem of being unable to simultaneously navigate content associated with search results while viewing the search results in a search result area is solved by the technical solution and technical effect described above.
The implementations described herein enable improved guided human-machine interactions for viewing webpages and other resources on the one side and displaying search results on the other side. The viewing of results of a query and the viewing of webpages represented by the results are done simultaneously by using one user interface only. This saves processing resources and potentially bandwidth (by avoiding additional fetching of a search result page). This also results in fewer interactions of the user with the user interface as the user may easily switch between different resources from the results and view the content of the resource at the same time in the same interface.
The browsers described herein can be executed within a computing device. For example, the browsers can be executed within a laptop device. In some implementations, the browsers can be executed within a mobile device. or on any other device with limited available screen space. Although many of the implementations shown and described herein are shown in portrait mode, any of the implementations described herein can be rendered in a landscape mode. Likewise, implementations described herein in landscape mode can be rendered in a portrait mode.
In some implementations, one or more of the search results 125 can include text. In some implementations, one or more of the search results 125 can include images. One or more of the search results 125 include a respective link, i.e., a link to a resource available via a network such as the Internet. The resource is a source of content (e.g., images, webpages, documents, etc.). Any search result that includes a link is actionable. In other words, a search result with a link can be interacted with, e.g., via selection of the link. The interaction with a link of a search result of search results 125 causes the browser to fetch the content of the resource associated with the link. Because of this, a search result can be referred to as selectable and interaction with a search result is understood to refer to interaction with (e.g., selection of) the link associated with the search result.
Consistent with the description above, rendering of the search result area 130 in
In some implementations, an interaction can include a selection. In some implementations, an interaction and/or selection (or an indication thereof) can be used to trigger an action or result. A user interface element that triggers an action in response to interaction with the element is referred to as an actionable element. The search results 125 are examples of actionable elements.
As shown in
In the example of
In some implementations, the search results SRI through SR3 (and search result indicators SRI′ through SR3′) may be a subset of search results surfaced in response to a search query. In some implementations, the search SRI through SR3 (and search result indicators SRI′ through SR3′) can be a rank-ordered (e.g., highest ranked) subset of search results surfaced in response to a search query. In some implementations, one or more of the search results SR1 through SR3 can be prioritized so that the most relevant search results (or a subset thereof) are rendered within the search result area 130.
Although not shown in
In some implementations, although not shown in
As shown in
Although not shown in
As shown in
The combination of concurrent display of the search result area 130 and the display area 120′ can be used to consume (e.g., explore) the search results in the search result area 130 with minimal user interactions and reduced computing resource usage. For example, in response to a first search result indicator being selected from the search result area 130, first content can be rendered in the display area 120′. In response to a second search result indicator being selected from the search result area 130, second content can be rendered in the display area 120′, replacing the first content. This improved search result navigation can occur while the search results (e.g., search result indicator SR1′) are maintained within the search result area 130.
Further to the implementation shown in
In some implementations, a user interface element (e.g., a back control, such as a back button, a back arrow) can be used to remove (e.g., clear, navigate away from) content rendered in the display area 120′ (e.g., the webpage W2). In other words, user interaction with a back control can trigger removal of the search result area 130. In some implementations, removal of (e.g., clearing) the search result area 130 automatically returns the display area 120′ to display area 120. In some implementations, removal of the search result area 130 does not occur until the prior back action returns the user to the search result page. Put another way, using the example of
Although discussed in the context of webpages W1 through W3, in some implementations, the content rendered in the display area 120′ may not be a webpage. As discussed herein, the content may be associated with any resource accessible via a network. Thus, in some implementations, the content displayed in the display area 120′ can be in an image, a link, a video, text, and/or so forth.
In some implementations, although not shown, the search results 125 can be bookmarked or associated with a bookmark of the browser 110. In some implementations a finite number of the search results (e.g., top 5) may be bookmarked.
As shown in
As shown in
As shown in
The search result indicators in the search result area 130 in
Although not shown, the search result area 130 may be switched between one or more of the modes shown in
The location and/or shape of the search result area 130 can be different than shown in
In the implementation shown in
As shown in
In some implementations, scroll pattern may include detection of a scroll down action followed by a scroll up action having a threshold velocity. For example, in such implementations the browser may render the search result area 130 in response to the user demonstrating disinterest in the webpage W1 associated with the search result SR1. Disinterested may be demonstrated by the user scrolling down to view the content followed by a scroll up occurring at a much faster rate, e.g., at least a threshold velocity. This interaction may indicate the user did not find the content satisfactory and the user is likely to return to the search result page and select another search result. In this example, the browser may anticipate the return to the search results page (e.g., via the browser's back control) and may trigger display of search result area 130 automatically. Triggering the search result area 130 in response to a scroll pattern can save the user from navigating back to the search result page and allow the user to navigate through the search results via the search result area 130. In this example, in response to scrolling down (arrow A) within the webpage W1 the search result area 130 may not be rendered until the system detects scrolling back up (arrow B) after scrolling down. Thus, the search result area 130 may be rendered, e.g., as illustrated in
As previously discussed, the scroll pattern can also specify attributes of the scroll actions (e.g., the scroll up action and/or the scroll down action). For example, in some implementations, the scroll pattern may trigger display of the search result area 130 when the user has performed a first scroll action (e.g., scrolled down (arrow A)) to a certain threshold (e.g., halfway down the content, 1/3 of the way down the content, etc.) before the performing the second scroll action (e.g., a scroll up (arrow B)) completes the scroll action and triggers display of the search result area 130. In some implementations, the browser may require a scroll speed threshold to be met, e.g., faster scrolling in either direction satisfying the scroll pattern criteria.
In some implementations, the search result area 130 may be rendered after more than one search result of the search results 125 is selected. This implementation is illustrated in
In some implementations, interaction with (e.g., selection of) a link A1 within a webpage W1 while the search result area 130 is shown (as shown in
The search result area 130 can be integrated as part of the browser 110 (e.g., address bar area 114) as the browser search area 135 so that the search result area 130 may not be spoofed (e.g., imitated) by, for example, a third party or the owner of the content of the webpage W1 content. Because the search result area 130 is part of the application of the browser 110, the integration of the search result area 130 would be difficult to imitate. In some implementations, no clear separation (e.g., no separate line exists between the search result area 130 and the address bar area 114. Because the search result area 130 and the address bar area 114 are contiguous, any background or theme applied to the address bar area 114 would flow into (and would be contiguous with) the search result area 130 (as illustrated by the gray area). The contiguous background would be difficult for a third party (e.g., provider of the webpage W1) to imitate within an application of the browser 110. Moreover, the browser search area 135 can be implemented as a security feature so that a user can distinguish legitimate search results provided by a search engine in response to a query from search results that can be inserted or manipulated by a third party or by the provider of the webpage.
The combining of the search result area 130 and the address bar area 114 can be an indicator of the authenticity of the content in the search result area 130. When the search result area 130 and the address bar area 114 are combined, it signifies that the browser 110 (or provider of the browser 110) is providing the search result indicators 125′ in the search result area 130. In some implementations, when a separating line is present between the search result area 130 and the address bar area 114, results in the search result area 130 may be provided by an untrusted provider (e.g., a third party).
In
The search result area 130 of
In some implementations, the search result area 130 may include search result navigation controls, such as previous control 717 and next control 718. In some implementations, the browser may be configured to ensure that use of the previous control 717 and the next control 718 (or other navigation controls in the search result area 130) do not result in navigation away from the search domain. In some implementations, the search result area 130 may display the identifier (e.g., the URL) from which the content of the search result area 130 is obtained. This may provide an indication that the content of the side panel is not spoofed. In some implementations, the browser may be configured to only communicate with a known search server when a navigation request is initiated in the search result area (requests to view a target of a search result are loaded in the display area 120′ and do not constitute navigation within the search result area 130. In other words, the browser may be configured to only send messages to a known domain for a search engine identified to the browser, e.g., a search configuration in user settings, when the message is triggered by navigation controls interacted with in the search result area 130. In some implementations, the browser may use an address pattern (e.g., a URL pattern) that is specified, e.g., as a search configuration to determine whether navigation occurs in the search result area 130 or the display area 120′. For example, when a requested resource does not match the address pattern navigation occurs in the display area 120′.
In some implementations, similar to
As shown in
The browser manager 820 includes a user interface (UI) generator 821 configured to generate and/or manage the various user interface elements of a browser such as browser 110 as shown and described herein. For example, the UI generator 821 can generate UI elements including the various windows in the browser 110 such as the display area 120, the search result area 130, shown in at least
The browser manager 820 includes a tab manager 822 configured to generate and/or manage the various tabs (e.g., tab 112) of a browser such as browser 110. The browser manager 820 may be configured to, amongst other things, provide/perform the actions associated with actionable controls, such as links in the search results 125 (and search result indicators 125′), back control 716, actionable control 131, previous control 717, and/or next control 718. The tab manager 822 can also be configured to provide the menu of actions and cause performance of an action selected from the menu of actions.
The browser manager 820 includes a search result manager 823 configured to generate and/or manage content rendering such as content in the search result area 130, including the search result indicators 125′ (as shown in at least
As shown in
As shown in
In response to selection of the first search result (step 906), the system may, at step 908, cause display of a webpage (or other resource) identified by the first search result. The resource identified by the search result, e.g., as the target of the link of the search result, is referred to as the search result target. The system causes display of the webpage in a display area of the browser. In addition to causing display of the webpage in the display area, at step 910 the system causes display of a first search result indicator and a second search result indicator in a search result area of the browser. The search result area is displayed concurrently with the display area. In other words, the content of the search result area (e.g., the first search result indicator and the second search result indicator) is visible with the content of the display area (e.g., the content of the webpage). The search result indicators each correspond to a respective search result in the search result page. In other words, the first search result indicator corresponds to the first search result, the second search result indicator corresponds to the second search result, etc. The correspondence means that selection of the first search result indicator causes display of the same resource (e.g., webpage) that selection of the first result causes.
At step 912, the system may receive a selection of the second search request indicator. In response to the selection of the second search request indicator, at step 914, the system causes display of the webpage identified by (corresponding to) the second search result identifier in the display area. The display of the webpage corresponding to the second search result identifier occurs without navigating away from the search result area 130. Thus, the user is able to navigate through the search results (represented by the search result indicators) more efficiently (with fewer interactions with the browser) and with fewer rendering tasks performed by the browser (e.g., because the search results do not need to be re-rendered to select a different search result target).
The system may receive an interaction with the display of the resource. In some implementations, the interaction can be selection of a back control. The back control is a control configured to, when interacted with (e.g., when selected), cause the browser to render content for a resource that was displayed immediately prior to the current resource. In the example of method 1000, this is the search result page that includes the first search result and the second search result. Some implementations may determine that the prior resource is a search result page (i.e., the back control target is a search result page) and change the default behavior. For example, when the back control target is a search result page, instead of re-rendering the search result page in the display area, the system may instead trigger display of the search result area. The search result area includes search result indicators corresponding to search results of the back control target (i.e., the search result page). In some implementations, the search result page is cached. In some implementations, the search result page is re-fetched (re-requested) from the search server. In some implementations, the interaction can be identification of a scroll pattern that triggers display of the search result area. Scroll patterns are discussed in more detail with respect to
In response to the interaction (step 1008), trigger display of the search result display area. Triggering display of the search result display area in response to interaction with the webpage can include, at step 1010, decreasing a size of the display area of the browser. This reduction in size makes room for the search result area. As discussed above, in some implementations, the reduction in size may make less content of the webpage visible. In some implementations, the reduction in size may cause the content of the webpage to be resized, or in other words the content of the webpage can also be resized. At step 1012, the system may cause display of the search result area, which includes a first search result indicator and a second search result indicator. The first search result indicator corresponds to the first search result (e.g., that was displayed as part of the search result page. The second search result indicator corresponds to the second search result. The search result area is displayed within the browser but outside of the display area.
At step 1014, the system may receive a selection of the second search request indicator. In response to the selection of the second search request indicator, at step 1016, the system causes display of the webpage identified by (corresponding to) the second search result identifier in the display area. The display of the webpage corresponding to the second search result identifier occurs without navigating away from the search result area. Thus, the user is able to navigate through the search results (represented by the search result indicators) more efficiently (with fewer interactions with the browser) and with fewer rendering tasks performed by the browser (e.g., because the search results do not need to be re-rendered to select a different search result target). In some implementations, the search result area can be removed in response to an express action to close the search result area (e.g., selection of actionable control 131), in response to selection of a link in the display area that causes the browser to navigate to (display) another resource in the display area etc.
Computing device 2000 includes a processor 2002, memory 2004, a storage device 2006, a high-speed controller 2008 connecting to memory 2004 and high-speed expansion ports 2010, and a low-speed controller 2012 connecting to low speed expansion port 2014 and storage device 2006. The processor 2002 can be a semiconductor-based processor. The memory 2004 can be a semiconductor-based memory. Each of the components 2002, 2004, 2006, 2008, 2010, and 2012, are interconnected using various busses, and may be mounted on a common motherboard or in other manners as appropriate. The processor 2002 can process instructions for execution within the computing device 2000, including instructions stored in the memory 2004 or on the storage device 2006 to display graphical information for a GUI on an external input/output device, such as display 2016 coupled to high-speed controller 2008. In other implementations, multiple processors and/or multiple buses may be used, as appropriate, along with multiple memories and types of memory. Also, multiple computing devices 2000 may be connected, with each device providing portions of the necessary operations (e.g., as a server bank, a group of blade servers, or a multi-processor system).
The memory 2004 stores information within the computing device 2000. In one implementation, the memory 2004 is a volatile memory unit or units. In another implementation, the memory 2004 is a non-volatile memory unit or units. The memory 2004 may also be another form of computer-readable medium, such as a magnetic or optical disk.
The storage device 2006 is capable of providing mass storage for the computing device 2000. In one implementation, the storage device 2006 may be or contain a computer-readable medium, such as a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid state memory device, or an array of devices, including devices in a storage area network or other configurations. A computer program product can be tangibly embodied in an information carrier. The computer program product may also contain instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer- or machine-readable medium, such as the memory 2004, the storage device 2006, or memory on processor 2002.
The high-speed controller 2008 manages bandwidth-intensive operations for the computing device 2000, while the low-speed controller 2012 manages lower bandwidth-intensive operations. Such allocation of functions is an example only. In one implementation, the high-speed controller 2008 is coupled to memory 2004, display 2016 (e.g., through a graphics processor or accelerator), and to high-speed expansion ports 2010, which may accept various expansion cards (not shown). In the implementation, low-speed controller 2012 is coupled to storage device 2006 and low speed expansion port 2014. The low-speed expansion port, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet) may be coupled to one or more input/output devices, such as a keyboard, a pointing device, a scanner, or a networking device such as a switch or router, e.g., through a network adapter.
The computing device 2000 may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a standard server 2020, or multiple times in a group of such servers. It may also be implemented as part of a rack server system 2024. In addition, it may be implemented in a personal computer such as a laptop computer 2022. Alternatively, components from computing device 2000 may be combined with other components in a mobile device (not shown), such as device 2050. Each of such devices may contain one or more of computing device 2000, 2050, and an entire system may be made up of multiple computing devices 2000, 2050 communicating with each other.
Computing device 2050 includes a processor 2052, memory 2064, an input/output device such as a display 2054, a communication interface 2066, and a transceiver 2068, among other components. The device 2050 may also be provided with a storage device, such as a microdrive or other device, to provide additional storage. Each of the components 2052, 2064, 2054, 2066, and 2068, are interconnected using various buses, and several of the components may be mounted on a common motherboard or in other manners as appropriate.
The processor 2052 can execute instructions within the computing device 2050, including instructions stored in the memory 2064. The processor may be implemented as a chipset of chips that include separate and multiple analog and digital processors. The processor may provide, for example, for coordination of the other components of the device 2050, such as control of user interfaces, applications run by device 2050, and wireless communication by device 2050.
Processor 2052 may communicate with a user through control interface 2058 and display interface 2056 coupled to a display 2054. The display 2054 may be, for example, a TFT LCD (Thin-Film-Transistor Liquid Crystal Display) or an OLED (Organic Light Emitting Diode) display, or other appropriate display technology. The display interface 2056 may comprise appropriate circuitry for driving the display 2054 to present graphical and other information to a user. The control interface 2058 may receive commands from a user and convert them for submission to the processor 2052. In addition, an external interface 2062 may be provide in communication with processor 2052, so as to enable near area communication of device 2050 with other devices. External interface 2062 may provide, for example, for wired communication in some implementations, or for wireless communication in other implementations, and multiple interfaces may also be used.
The memory 2064 stores information within the computing device 2050. The memory 2064 can be implemented as one or more of a computer-readable medium or media, a volatile memory unit or units, or a non-volatile memory unit or units. Expansion memory 2074 may also be provided and connected to device 2050 through expansion interface 2072, which may include, for example, a SIMM (Single In Line Memory Module) card interface. Such expansion memory 2074 may provide extra storage space for device 2050, or may also store applications or other information for device 2050. Specifically, expansion memory 2074 may include instructions to carry out or supplement the processes described above, and may include secure information also. Thus, for example, expansion memory 2074 may be provided as a security module for device 2050, and may be programmed with instructions that permit secure use of device 2050. In addition, secure applications may be provided via the SIMM cards, along with additional information, such as placing identifying information on the SIMM card in a non-hackable manner.
The memory may include, for example, flash memory and/or NVRAM memory, as discussed below. In one implementation, a computer program product is tangibly embodied in an information carrier. The computer program product contains instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer- or machine-readable medium, such as the memory 2064, expansion memory 2074, or memory on processor 2052, that may be received, for example, over transceiver 2068 or external interface 2062.
Device 2050 may communicate wirelessly through communication interface 2066, which may include digital signal processing circuitry where necessary. Communication interface 2066 may provide for communications under various modes or protocols, such as GSM voice calls, SMS, EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others. Such communication may occur, for example, through transceiver 2068. In addition, short-range communication may occur, such as using a Bluetooth, WiFi, or other such transceiver (not shown). In addition, GPS (Global Positioning System) receiver module 2070 may provide additional navigation- and location-related wireless data to device 2050, which may be used as appropriate by applications running on device 2050.
Device 2050 may also communicate audibly using audio codec 2060, which may receive spoken information from a user and convert it to usable digital information. Audio codec 2060 may likewise generate audible sound for a user, such as through a speaker, e.g., in a handset of device 2050. Such sound may include sound from voice telephone calls, may include recorded sound (e.g., voice messages, music files, etc.) and may also include sound generated by applications operating on device 2050.
The computing device 2050 may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a cellular telephone 2080. It may also be implemented as part of a smart phone 2082, tablet, glasses, smart watch, personal digital assistant, or other similar mobile device.
Various implementations of the systems and techniques described herein can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor, and can be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the terms “machine-readable medium” “computer-readable medium” refers to any computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term “machine-readable signal” refers to any signal used to provide machine instructions and/or data to a programmable processor.
To provide for interaction with a user, the systems and techniques described herein can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.
The systems and techniques described herein can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described herein), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), and the Internet.
A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the disclosed implementations.
In addition, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. In addition, other steps may be provided, or steps may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems.
In some aspects, the techniques described herein relate to a method, including: receiving a search query; causing display of a first search result and a second search result within a display area of a browser in response to the search query; and in response to a selection of the first search result: causing display of a webpage within the display area of the browser, the webpage being identified by the first search result; and causing display of a first search result indicator corresponding with the first search result and a second search result indicator corresponding with the second search result in a search result area outside of the display area, the search result area being within the browser.
In some aspects, the techniques described herein relate to a method, further including: receiving a selection of the second search result indicator; and causing display of a webpage identified by the second search result within the display area of the browser in response to the selection of the second search result indicator.
In some aspects, the techniques described herein relate to a method, wherein causing the display of the webpage identified by the second search result within the display area replaces the webpage identified by the first search result and the second search result indicator shifts position within the search result area.
In some aspects, the techniques described herein relate to a method, wherein the display area is decreased in size to accommodate display of the search result area.
In some aspects, the techniques described herein relate to a method, wherein the selection of the first search result is an alternate selection and the method includes: rendering a menu of actions for the first search result, the menu including a persistent search action; receiving selection of the persistent search action; and in response to receiving the selection of the persistent search action, causing display of the webpage within the display area and causing the display of the search result area.
In some aspects, the techniques described herein relate to a method, further including: receiving selection of a link in the webpage; and responsive to receiving selection of the link: removing the search result area, and causing display of a resource identified by the link in the display area.
In some aspects, the techniques described herein relate to a method, further including: receiving a first selection of a back control; causing display of the webpage in the display area; receiving a second selection of the back control; and responsive to receiving the second selection of the back control causing display of the search result area with the first search result indicator and the second search result indicator concurrently with display of the webpage in the display area.
In some aspects, the techniques described herein relate to a method, wherein the first search result includes a snippet and the first search result indicator lacks the snippet.
In some aspects, the techniques described herein relate to a method, wherein the search result area is part of a browser search area.
In some aspects, the techniques described herein relate to a method, including: causing display of a first search result and a second search result within a display area of a browser in response to a query; receiving selection of the first search result; in response to the selection of the first search result, causing display of a webpage within the display area of the browser; receiving an interaction with the display of the webpage; and in response to the interaction with the display of the webpage, causing display of a first search result indicator corresponding with the first search result and a second search result indicator with the second search result in a search result area outside of the display area, the search result area being within the browser.
In some aspects, the techniques described herein relate to a method, wherein the interaction is selection of a back control selected during display of the webpage in the display area.
In some aspects, the techniques described herein relate to a method, wherein the interaction is a scroll pattern.
In some aspects, the techniques described herein relate to a method, wherein the interaction is a scroll pattern identifies a scroll action and an attribute of the scroll action.
In some aspects, the techniques described herein relate to a method, wherein the interaction is a scroll pattern identifies a first scroll action followed by a second scroll action.
In some aspects, the techniques described herein relate to a method, wherein the search result area is part of a browser search area.
In some aspects, the techniques described herein relate to a method, further including: receiving a selection of the second search result indicator; and in response to the selection of the second search result indicator, causing display of a webpage identified by the second search result within the display area of the browser.
In some aspects, the techniques described herein relate to a method, wherein causing the display of the webpage identified by the second search result within the display area replaces the webpage identified by the first search result and the second search result indicator shifts position within the search result area.
In some aspects, the techniques described herein relate to a method, further including: receiving selection of a link in the webpage; and responsive to receiving selection of the link: removing the search result area, and causing display of a resource identified by the link in the display area.
In some aspects, the techniques described herein relate to a system, including at least one processor; and memory storing instructions that, when executed by the at least one processor, causes the system to perform any of the methods or processes disclosed herein.
In some aspects, the techniques described herein relate to a non-transitory computer-readable medium storing instructions, that when executed by a processor, cause a computing system to perform any of the methods or processes disclosed herein.
In some aspects, the techniques described herein relate to a system including a means for triggering display of a search result page in a search result area of a browser and a webpage in a display area of the browser, where the search result area is outside of the display area and the search result area is within the browser. In some implementations, the system may also include a means for navigating the search result page within the search result area.
This application is a non-provisional of, and claims priority to, U.S. Provisional Application No. 63/266,295, filed Dec. 31, 2021, and to U.S. Provisional Application No. 63/266,296, filed Dec. 31, 2021, the disclosures of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
63266295 | Dec 2021 | US | |
63266296 | Dec 2021 | US |