System and method for providing content items in situations involving sub-optimal network conditions

文档序号:1661755 发布日期:2019-12-27 浏览:8次 中文

阅读说明:本技术 在涉及欠佳网络条件的情形下提供内容项的系统和方法 (System and method for providing content items in situations involving sub-optimal network conditions ) 是由 弗兰克·加德纳·古德曼 艾米丽·萨默·吴 哈桑·阿比亚奈 杰瑞德·维日比茨基 于 2019-04-18 设计创作,主要内容包括:本公开提供了在涉及欠佳网络条件的情形下提供对内容项的改善访问的系统和方法。具体地,当用户尝试但无法访问内容项时,计算系统能使所述用户能够访问所述内容项的替选版本,所述替选版本已经鉴于所述网络条件而修改,从而为经受网络连接缓慢和/或不可靠的设备改善内容项的可访问性和时延。(The present disclosure provides systems and methods for providing improved access to content items in situations involving poor network conditions. In particular, when a user attempts but fails to access a content item, the computing system can enable the user to access an alternate version of the content item that has been modified in view of the network conditions, thereby improving the accessibility and latency of the content item for devices that are subject to slow and/or unreliable network connections.)

1. A computing system, comprising:

one or more processors; and

one or more non-transitory computer-readable media collectively storing instructions that, when executed by the one or more processors, cause the computing system to perform operations comprising:

providing a user interface associated with a first domain, the user interface comprising one or more interactive elements that enable a user to access one or more content items associated with a second domain;

detecting a user selection of a first interactive element associated with a first content item of the one or more content items;

determining that the user has left the user interface associated with the first domain to access the first content item in the second domain;

determining that the user has returned to the user interface in the first domain without accessing the first content item; and

in response to determining that the user has returned to the user interface without accessing the first content item, providing a new interaction element in the user interface that enables the user to access an alternate version of the first content item.

2. The computing system of any preceding claim, wherein the first domain is different from the second domain.

3. The computing system of any preceding claim, wherein the alternative version of the first content item is located at a different web address than the first content item.

4. The computing system of any preceding claim, wherein the user interface comprises a search results web page and the one or more interactive elements comprise one or more web page links directing the user to access the one or more content items in the second domain, and wherein the first content item comprises a results web page that is listed as a search result in the search results web page.

5. The computing system of any preceding claim, wherein the alternative version of the first content item has a smaller download size than the first content item.

6. The computing system of any preceding claim, wherein the alternative version of the first item of content comprises a transcoded version of the first item of content.

7. The computing system of any preceding claim, wherein the alternative version of the first content item comprises a cached version of the first content item.

8. The computing system of any preceding claim, wherein the alternative version of the first content item comprises a content-reduced version of the first content item.

9. The computing system of claim 8, wherein the reduced content version of the first content item comprises a mobile optimized version of the first content item.

10. The computing system of claim 8 or 9, wherein the content-reduced version of the first content item has one or more visual aspects of the first content item removed.

11. The computing system of claim 8, 9 or 10, wherein the reduced content version of the first content item includes one or more visual aspects of the first content item presented at a reduced resolution relative to the first content item.

12. The computing system of any preceding claim, wherein the alternative version of the first content item is hosted in the first domain.

13. The computing system of any preceding claim, wherein determining that the user has returned to the user interface without accessing the first content item comprises:

obtaining one or more signals from one or both of the first domain and a user equipment; and

determining, based on the one or more signals, that the user cannot access the first content item.

14. The computing system of claim 13, wherein the one or more signals include a click duration signal received from the first domain that describes a time taken to attempt to access the first content item at the second domain.

15. The computing system of claim 13 or 14, wherein the one or more signals include a return rate signal received from the first domain, the return rate signal describing how frequently a user returns to the user interface from the first content item.

16. The computing system of claim 13, 14 or 15, wherein the one or more signals include a connection success signal that describes whether the first content item is at least partially loaded or not loaded at all.

17. The computing system of any of claims 13-16, wherein the one or more signals include a first draw time signal that describes how long the user device needs to render any portion of the first content item.

18. The computing system of any of claims 13-17, wherein the one or more signals include a first-time-to-content-draw-time signal that describes how long the user device takes to render the content of the first content item.

19. A computer-implemented method, comprising:

providing, by one or more computing devices, a user interface associated with a first domain, the user interface including one or more interactive elements that enable a user to access one or more content items associated with a second domain;

detecting, by the one or more computing devices, a user selection of a first interactive element associated with a first content item of the one or more content items;

determining, by the one or more computing devices, that the user has left the user interface associated with the first domain to access the first content item in the second domain;

obtaining, by the one or more computing devices, one or more signals from one or both of the first domain and the user-operated user device;

determining, by the one or more computing devices, based on the one or more signals, that the user cannot access the first content item; and

in response to determining that the user cannot access the first content item, providing a new interaction element in the user interface that enables the user to access an alternate version of the first content item.

20. One or more non-transitory computer-readable media collectively storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

providing a user interface associated with an internal server, the user interface comprising one or more interactive elements that enable a user to access one or more content items respectively associated with one or more external servers that are separate from the internal server;

detecting a user selection of a first interactive element associated with a first content item of the one or more content items, the first content item associated with a first external server of the one or more external servers;

determining that the user has left the user interface associated with the internal server to access the first content item in the first external server;

determining that the user has returned to the user interface associated with the internal server without accessing the first content item;

in response to determining that the user has returned to the user interface without accessing the first content item, generating an alternative version of the first content item; and

providing a new interaction element in the user interface that enables the user to access the alternate version of the first content item, wherein the alternate version of the first content item is hosted by the internal server.

Technical Field

The present disclosure relates generally to user interfaces for providing content items (e.g., web pages). The present disclosure relates more particularly to systems and methods for providing improved access to content items in situations involving poor network conditions.

Background

The computing device may communicate with one or more remotely located computing devices over a communication network to enable a user to access various types of content items stored at such remotely located computing devices. As one example, a web browser executed by a user's computing device (e.g., a smartphone) may allow the user to browse internet web pages provided by a remote web server. Typically, a user's browser may issue a web page request to a web server, which in response may obtain the requested web page and dispatch the page back to the user's web browser for display to the user. In some cases, the request and response may use the hypertext transfer protocol (HTTP). In some cases, a web page may be written in a markup language, such as hypertext markup language (HTML), and may include a plurality of embedded objects referenced by respective Uniform Resource Locators (URLs) within the HTML. The HTML of a web page may include a number of embedded URLs that define other objects in the web page to be obtained by the web browser. For example, graphics, images, Flash applications, links to other web pages, advertisements, etc. may be defined by embedded URLs. When the web browser encounters an object, such as an embedded URL, the web browser may repeat the above-described processing sequence for the web page to obtain each embedded object.

In one example, a web browser may allow a user to obtain search result web pages that include a list of search results (e.g., in the form of web page links) that respectively direct the user to corresponding search results (e.g., web pages). For example, a search results web page may be provided in response to a search query entered by or on behalf of a user. In particular, in some cases, when a user clicks on or otherwise selects a web page link, in response to the user's selection, the web browser may load a web page corresponding to the web page link for display to the user.

However, a user device (e.g., a web browser thereof) may not have access to a user-selected content item (e.g., a web page) due to slow, unreliable, or otherwise poor network conditions (e.g., slow and/or unreliable internet connectivity of the user device). Thus, the user's device may not be able to load the content item at all. Alternatively, although the web browser may eventually be able to access the user-selected content item given sufficient time, loading the content item may be very expensive both in terms of download time and/or bandwidth. For example, a user may be frustrated waiting for a content item to be loaded and may return to a previous user interface (e.g., a search results page) without having fully accessed the content item.

As an example, in some cases, the average target page can exceed 1 Megabyte (MB). There are a large number of mobile connections around the world that still use 2G communication networks. In the case of a typical 2G connection providing a data rate of 5-10KB/s and a round trip time of 600ms, many target pages are still inaccessible or the cost of loading (both in terms of time and bandwidth) is high. Specifically, in some cases, the target page may not be loaded in a reasonable time under several circumstances: when the target page fails, when the user connection is unreliable, when the user connection speed is too slow to enable data transfer on the website.

In addition to providing a frustrating experience for the user, the inability to access the desired content item can also result in inefficient use of system resources. Accordingly, there is a need for improved systems and methods for providing content items in situations involving poor network connections/conditions.

Disclosure of Invention

Aspects and advantages of embodiments of the present disclosure will be set forth in part in the description which follows, or may be learned by practice of the embodiments.

One example aspect of the present disclosure relates to a computing system. The computing system includes one or more processors, a display, and one or more non-transitory computer-readable media collectively storing instructions that, when executed by the one or more processors, cause the computing system to perform operations. The operation includes: a user interface associated with the first domain is provided, the user interface including one or more interactive elements that enable a user to access one or more content items associated with the second domain. The operation includes: a user selection of a first interactive element associated with a first content item of the one or more content items is detected. The operation includes: it is determined that a user has left a user interface associated with a first domain to access a first content item in a second domain. The operation includes: it is determined that the user has returned to the user interface in the first domain without accessing the first content item. The operation includes: in response to determining that the user has returned to the user interface without accessing the first content item, a new interaction element is provided in the user interface that enables the user to access an alternate version of the first content item.

Another example aspect of the disclosure relates to a computer-implemented method. The method comprises the following steps: providing, by one or more computing devices, a user interface associated with a first domain, the user interface including one or more interactive elements that enable a user to access one or more content items associated with a second domain. The method comprises the following steps: user selection, by one or more computing devices, of a first interactive element associated with a first content item of the one or more content items is detected. The method comprises the following steps: determining, by the one or more computing devices, that the user has left a user interface associated with the first domain to access the first content item in the second domain. The method comprises the following steps: obtaining, by one or more computing devices, one or more signals from at least one of the first domain and a user device operated by a user. The method comprises the following steps: determining, by the one or more computing devices, based on the one or more signals, that the user failed to access the first content item. The method comprises the following steps: in response to determining that the user failed to access the first content item, a new interaction element is provided in the user interface that enables the user to access an alternate version of the first content item.

Another example aspect of the disclosure relates to one or more non-transitory computer-readable media collectively storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations. The operation includes: a user interface associated with the internal server is provided, the user interface including one or more interactive elements that enable a user to access one or more content items respectively associated with one or more external servers that are separate from the internal server. The operation includes: user selection of a first interactive element associated with a first content item of the one or more content items associated with a first external server of the one or more external servers is detected. The operation includes: it is determined that a user has left a user interface associated with an internal server to access a first content item in a first external server. The operation includes: it is determined that the user has returned to the user interface associated with the internal server without accessing the first content item. The operation includes: in response to determining that the user has returned to the user interface without accessing the first content item, an alternative version of the first content item is generated. The operation includes: a new interaction element is provided in the user interface that enables a user to access an alternate version of the first content item, wherein the alternate version of the first content item is hosted by the internal server.

Other aspects of the disclosure relate to various systems, apparatuses, non-transitory computer-readable media, user interfaces, and electronic devices.

These and other features, aspects, and advantages of various embodiments of the present disclosure will become better understood with reference to the following description and appended claims. The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate exemplary embodiments of the disclosure and together with the description, serve to explain the principles involved.

Drawings

A detailed discussion of embodiments directed to one of ordinary skill in the art is set forth in the following description, which makes reference to the accompanying drawings, in which:

fig. 1 depicts a block diagram of an example computing system, according to an example embodiment of the present disclosure.

Fig. 2 depicts a flowchart of an example method for generating an alternative version of a content item according to an example embodiment of the present disclosure.

3A, 3B, and 3C depict example search results pages that provide links to alternative versions of web pages, according to example embodiments of the present disclosure.

4A, 4B, and 4C depict example search result pages that provide links to mobile-optimized versions of web pages in mobile devices according to example embodiments of the present disclosure.

Detailed Description

Example aspects of the present disclosure relate to systems and methods for providing improved access to content items in situations involving poor network conditions. In particular, according to one aspect of the present disclosure, when a user attempts to access a content item (e.g., a target web page) but is unable to access the content item (e.g., due to network bandwidth issues and/or poor device connectivity), the computing system may enable the user to access an alternate version of the content item that has been modified in view of network conditions to improve the accessibility and latency of the content item for devices that are subject to slow and/or unreliable network connectivity (e.g., slow internet connectivity, slow storage devices, etc.).

Thus, according to one aspect of the present disclosure, a computing system may generate an alternate version of a content item that a user would like to access. Examples of alternative versions of a content item may include an alternative version of a content item that is smaller in download size, a transcoded version of a content item, a cached version of a content item, a content-reduced version of a content item, other suitable versions of a content item that may expedite downloading, or some combination thereof.

According to another aspect of the disclosure, in some cases, a computing system may provide an interactive element (e.g., a web page link, etc.) in a user interface (e.g., a search results page, etc.) that enables a user to access alternative versions. In particular, in some implementations, an interactive element that enables access to an alternate version of a content item may be provided only when it is detected that a user cannot sufficiently access the master version of the content item, such that traffic directed to the master version of the content item is redirected only when subject to network conditions.

Further, according to additional aspects of the disclosure, the computing system may detect that the user has failed to access the master version of the content item based on one or more signals describing an attempt to access the content item.

Accordingly, the systems and methods of the present disclosure may selectively provide an interactive user interface element that provides access to an alternate version of a content item that has been optimized or otherwise changed to reduce download time and/or bandwidth of the content item. Finally, reducing download time and bandwidth will improve the availability and latency of content items for devices experiencing slow connection.

More specifically, the computing system may provide a user interface associated with the first domain. The user interface may include one or more interactive elements that enable a user of the user device to access one or more content items. In some cases, the one or more content items may be associated with a second domain (e.g., external content) that is different from the first domain.

As one example, a web browser may allow a user to enter a search query. In response to a search query, the search server may generate a search results web page that includes a list of search results (e.g., in the form of web page links) that each guide the user to a corresponding search result (e.g., web page). The search server may provide the search results web page to a web browser for display to the user. When a user clicks on or otherwise selects one of the web page links, the web browser, in response to the user's selection, may load the web page corresponding to the web page link for display to the user. For example, the web pages corresponding to the web page links may be hosted or otherwise provided by a server that is different from the search server that generated the search result web pages.

As another example, a search application (e.g., a native search application) executed by a user's computing device may enable entry of a search query and receive search results, wherein the search results are provided in a user interface generated by the search application, as an alternative or in addition to use of the web browser application.

As yet another example, any arbitrary application may provide a user interface that includes interactive elements that enable access to content items. The content item may be external to the application or internal to the application. In one example, the mapping application may provide a user interface that includes one or more icons on the map that, when selected by the user, direct the user's computing device to load additional information about the point of interest. In one example, selection of an icon may cause the user's device to load (e.g., from an application server associated with the application) an additional information card about the corresponding point of interest. In another example, selection of an icon can cause a device of the user (e.g., from a web server different from an application server associated with the application) to load a web page maintained by the corresponding point of interest (e.g., a restaurant web page containing a menu of restaurants).

Thus, many different user interfaces may include interactive elements that enable access to content items. Although the present disclosure will be discussed with respect to examples of search results included in a search results web page, the present disclosure is not limited to particular examples.

According to another aspect of the disclosure, the computing system may detect that the user has selected a first interactive element associated with a first content item in a second domain, and as a result of such selection, the user has left the user interface to access the first content item. As one example, a user may select a web page link to access a web page provided as a search result.

According to another aspect of the disclosure, the computing system may determine that the user has returned to the user interface in the first domain without accessing the first content item in the second domain.

In some implementations, the computing system can determine, based on the signal received from the first domain, that the user has returned to the user interface in the first domain without accessing the first content item in the second domain. For example, if the time between the user selecting the interactive element and returning to the user interface (i.e., the "click duration") is less than a threshold, the computing system may determine that the user has returned to the user interface without accessing the first content item. Other information may also be used, such as, by way of example, a round trip time associated with loading the user interface and/or a return rate that describes how frequently the user returns to the user interface from the first content item.

In other implementations, the computing system may determine that the user has returned to the user interface in the first domain without accessing the first content item in the second domain based on a signal received from and/or generated by the user's device. For example, an application executed by the user computing device (e.g., a web application, a mapping application, a browser application, a search application such as a native search application, etc.) may generate and provide a signal describing an attempt to access the first content item. As one example, the signal may comprise a connection success signal describing whether the first content item is at least partially loaded or not loaded at all. As another example, the signal may comprise a time to first paint signal that describes how long it takes for the user device to render any portion of the first content item. As another example, the signal may comprise a time to first content draw time (time to first content picture) signal describing how long it takes for the user device to render the content of the first content item. In one particular example, the signal may be generated by an in-application browser of an application executed by the user computing device.

In another example, the computing system may determine that the user has returned to the user interface in the first domain without accessing the first content item in the second domain by detecting an error message. For example, the error message may indicate a timeout. In one example, an error message may be detected if the first content draw time signal exceeds a threshold.

Additionally, and/or alternatively, the error message may also indicate that the request (e.g., a request to render content of the first content item or otherwise load or access the first content item) is beyond system capabilities. For example, in some cases, the user's device may not have sufficient memory to render the content of the first content item. In yet another example, the computing system may determine that the user has returned to the user interface in the first domain without accessing the first content item by examining the screen buffer. For example, the computing system may check the screen buffer and note that a new full page has not been loaded since the request to access the first content item.

According to example aspects of the disclosure, in response to determining that a user has returned to a user interface in a first domain without accessing the first content item in a second domain, a computing system may provide an interactive element (e.g., a link, etc.) that points to an alternate version (e.g., a transcoded version, etc.) of the content item (e.g., a target web page). In particular, the alternative version of the content item may or may have been optimized for slower connections.

Examples of alternative versions of a content item may include an alternative version of a content item that is smaller in download size, a transcoded version of a content item, a cached version of a content item, a content-reduced version of a content item, other suitable versions of a content item that may expedite downloading, or some combination thereof.

As another example, the alternative version of the content item may be a mobile optimized version such that the alternative version may be displayed by a mobile computing device having a smaller display scale than the non-mobile computer. In some implementations, the computing system may remove one or more visual aspects of the content item (e.g., images, videos, animations, etc.) to generate an alternative version of the content item. In some implementations, the computing system may reduce the resolution of one or more visual aspects of the content item.

In some implementations, the computing system may generate the alternative version of the content item in response to determining that the user has returned to the user interface in the first domain without accessing the first content item in the second domain. Thus, in some implementations, in response to the user returning to the user interface, an alternative version of the content item may be generated "on-the-fly". In other implementations, the computing system may generate alternative versions of many different content items (e.g., a number of most popular or most frequently accessed content items) and store such alternative versions for later use. Thus, in some implementations, in response to the user returning to the user interface without accessing the content item, the computing system may provide access to a previously generated alternate version hosted, for example, in the first domain.

Accordingly, the systems and methods of the present disclosure may provide alternative versions of content items accessible to the mobile user in response to determining that the mobile user has returned to a user interface (e.g., a search results page, etc.) without accessing the content items. As one example application, a computing system may provide alternative versions of some content items (e.g., external web pages, etc.) for desktop searching. For example, if a search result link is not loaded, the user may select some alternative version of the external web page from a drop down menu below the search result link.

In another example application, when a user returns to a search results Page after failing to load the target Page, the computing system may provide a link to an alternate version of the target Page that is optimized for slower connections.

In some implementations, in addition to using a back-off event (e.g., returning to a search results page, etc.) to trigger the provision of the alternate version, the computing system may determine, based on one or more signals indicating that the user cannot access the content item: the user has returned to the user interface without accessing the content item. For example, the computing system may determine that the user has returned to the search results page without visiting website X based on one or more signals and/or one or more search applications installed in the mobile device (such as click duration from a server, connection success from an application, and first draw time from an application) to achieve a more robust and user-customized trigger.

Thus, the systems and methods may ameliorate the above-described problems, including slow-to-connect and low-memory devices (e.g., random access memory devices, etc.), and may also be used in conjunction with "speed mode" web browsers that may support fast download speeds. As an example, for certain supported queries, the methods and systems may replace the eligible standard target page URLs for the search results with URLs having alternate versions of each target page. For example, if the round-trip time of the user exceeds a preset threshold, which may be an acceptable period of time for an internet connection, the computing system may determine that access to the target page failed and may generate an alternate version of the target page. In this way, the computing system may allow a user to extend a search stroke beyond a single query and result set by providing the user with a document-specific follow-up query on a clicked web result after returning to the search results page using the web browser's back button.

In this way, the systems and methods of the present disclosure may address the problem of a mobile search user accessing a web result link that may direct the user to an external web page, but only return to the search result page without resources after finding that an internet connection is too slow and/or unreliable to load the external web page or finding that the external web page is unavailable. Generally, this problem exists for any external link on a web page. In particular, such problems are often seen in search result pages, because search result pages display a large number of external links and are often used in markets where internet connectivity is poor.

Accordingly, the present disclosure provides systems and methods that optimize content items to improve the availability and latency of slow internet connections. The present disclosure provides a number of technical effects and benefits.

As one example technical effect and benefit, in some implementations, when a signal is detected indicating that a user is unable to load a content item, the systems and methods of the present disclosure may provide an alternate version of the content item (e.g., a target page) in a user interface (e.g., a search results page) to reduce download time and bandwidth, thereby reducing bandwidth. Ultimately, reducing download time and bandwidth will result in successful and fast access to content items for slow internet connections.

As another example technical effect and benefit, rather than providing an alternate version for each content item in a user interface, the systems and methods of the present disclosure may provide an alternate version of a content item only when the systems and methods of the present disclosure detect a signal indicating that the user cannot load the content item. In this way, the alternative version does not overwhelm the user interface, forcing the user to decide to select the alternative version before accessing the content item.

As yet another example technical effect and benefit, the systems and methods of the present disclosure may benefit developers of external web pages such that the developers may understand how to improve the external web pages because, in some embodiments, the user must first attempt to access the external web page immediately before receiving a link to an alternate version of the external web page. The first attempt may help the developer collect information associated with the first attempt and utilize the collected information to improve the external web page and/or corresponding website.

As yet another example technical effect and benefit, the systems and methods of the present disclosure may achieve reduced processing resource consumption. For example, systems and methods for the present disclosure may generate and optimize an alternate version of a first content item for a user device (e.g., a mobile device, a tablet computer, etc.). The alternative version may have a reduced content size, which reduces the processing resource consumption required to access the content item.

Referring now to the drawings, example embodiments of the disclosure are discussed in further detail.

Example apparatus and System

Fig. 1 depicts a block diagram of an example computing system 100, according to an example embodiment of the present disclosure. Computing system 100 may include user computing device 102, server computing system 130, server computing system 150, and network 160. The user computing device 102 may perform various aspects of the disclosure, the server computing system 130 may perform various aspects of the disclosure, the server computing system 150 may perform various aspects of the disclosure, or some combination of the user computing device 102, the server computing system 130, and the server computing system 150 may perform various aspects of the disclosure. The user computing device 102, the server computing system 130, and the server computing system 150 may be communicatively coupled to one another by a network 160. In alternative configurations, different and/or additional components may be included in computing system 100.

The user computing device 102 may be any form of device, such as, for example, a mobile computing device (e.g., a smartphone, a tablet computer, etc.), a wearable computing device (e.g., a computing device embedded in glasses, a wristband, a necklace, etc.), a handheld computing device, a computing device embedded in a vehicle, a household appliance, or other system, a smart speaker, a laptop, a desktop, a game console, and so forth.

The user computing device 102 may include one or more processors 112, memory 114, a network interface 120, a display 122, one or more applications 124, and a user interface manager 126. In alternative configurations, different and/or additional components may be included in the user computing device 102.

The one or more processors 112 may be any form of processing device, including: such as a processing unit, microprocessor, controller, microcontroller, application specific integrated circuit, or the like.

Memory 114 may include one or more of any non-transitory computer-readable media, including: such as RAM (e.g., DRAM), ROM (e.g., EEPROM), optical storage, magnetic storage, flash memory, solid state storage, a hard disk drive, or some combination thereof. The memory 114 may store data 116 that may be generated from other components of the user computing device 102. The memory 114 may store one or more sets of instructions 118 that, when executed by the computing device 102, cause the computing device 102 to perform operations consistent with the present disclosure.

Network interface 120 may support communication over network 160. Network interface 120 may include any number of components to provide networked communications (e.g., transceivers, antennas, controllers, cards, etc.).

The display 122 may include different types of display components, such as, for example, a light emitting diode display (e.g., an organic light emitting diode display), a liquid crystal display (e.g., a thin film transistor liquid crystal display), a thin film diode display, and so forth. In some embodiments, the display 122 may also be touch sensitive. For example, the display 122 may be a capacitive touch screen, a resistive touch screen, or other touch sensitive technology. Thus, in some implementations, the display 122 may function as or may be a touch-sensitive component. In other implementations, the user computing device 102 may have additional or alternative touch-sensitive components that are separate and distinct from the display 122. For example, the touch sensitive component may be a touch pad or the like.

One or more applications 124 may allow a user of the user computing device 102 to interact with the server computing system 130. For example, the user computing device 102 may execute an application (e.g., a browser application, a mapping application, a dedicated search application, software, a program, etc.) to support interaction between the user computing device 102 and the server computing system 130 via the network 160. In some implementations, the user computing device 102 may interact with the server computing system 130 through an Application Programming Interface (API) running on a native operating system of the user computing device 102.

User interface manager 126 may control and/or manage the presentation of user interfaces on display 122, including, for example, the following tasks: such as presenting a user interface, modifying a user interface, receiving user input directed to a user interface, etc. In some implementations, the user interface manager 126 may be included in an application that may generate a user interface. In other implementations, the user interface manager 126 may be separate from any component (e.g., application) that generates the user interface. In some implementations, the user interface manager 126 may be an aspect or component of an operating system of the user computing device 102.

In some implementations, the user interface manager 126 may interact with the server computing system 130 via the network interface 120. The user interface manager 126 may receive a user interface from the server computing system 130 for display and may send one or more user inputs received by the user computing device 102 to the server computing system 130. In some implementations, the user interface manager 126 can modify the user interface received from the server computing system 130 to meet the display conditions (e.g., display resolution, etc.) of the display 122.

In some implementations, the user interface manager 126 may continuously or periodically analyze the user interface currently or to be displayed by the user computing device 102 to identify user interface elements that may or should be selectable by the user of the computing device 102. The user interface manager 126 may send one of such elements or a user selection of such elements to the server computing system 130.

In some embodiments, the user interface manager 126 may include computer logic for providing the desired functionality. The user interface manager 126 may be implemented in hardware, firmware, and/or software that controls a general purpose processor. For example, in some embodiments, the user interface manager 126 may include program files stored on a storage device, loaded into memory, and executed by one or more processors. In other embodiments, the user interface manager 126 may include one or more sets of computer-executable instructions stored in a tangible computer-readable storage medium, such as a RAM hard disk or an optical or magnetic medium.

The server computing system 130 may include one or more processors 132, memory 134, a network interface 138, and a content item version generator 140. In alternative configurations, different and/or additional components may be included in the server computing system 130.

The one or more processors 132 may be any form of processing device, including: such as a processing unit, microprocessor, controller, microcontroller, application specific integrated circuit, or the like.

Memory 134 may include one or more of any non-transitory computer-readable media, including: such as RAM (e.g., DRAM), ROM (e.g., EEPROM), optical storage, magnetic storage, flash memory, solid state storage, a hard disk drive, or some combination thereof. The memory 134 may store one or more sets of instructions 136 that, when executed by the server computing device 130, cause the server computing device 130 to perform various aspects of the present disclosure. In some implementations, the memory 134 may store data that may be generated by other components (e.g., the content item version generator 140, the content item provider 152, etc.).

Network interface 138 may support communication over a network 160. The network interface 138 may include any number of components to provide networked communications (e.g., transceivers, antennas, controllers, cards, etc.).

The content item version generator 140 may provide improved access to the content item in situations involving poor network conditions. In particular, in some implementations, when a user attempts but fails to access a content item (e.g., due to network bandwidth issues and/or poor device connectivity), the content item version generator 140 may enable the user to access an alternate version of the content item that has been modified in view of network conditions to improve the accessibility and latency of the content item for devices that are subject to slow and/or unreliable network connectivity (e.g., slow internet connectivity, slow memory devices, etc.).

The content item version generator 140 may generate an alternative version of the content item that the user wants to access. The content item version generator 140 may provide an interactive element that enables a user to access alternate versions in a user interface. In particular, in some implementations, the interactive element that enables access to the alternative version of the content item may be provided only when it is detected that the user has insufficient access to the master version of the content item, and thus traffic directed to the master version of the content item is redirected only when subject to network conditions. However, in other implementations, interactive elements may be provided that enable access to alternative versions of a content item initially and/or without regard to whether a user may not have sufficient access to a master version of the content item.

The content item version generator 140 may detect that the user has failed to access the master version of the content item based on one or more signals describing an attempt to access the content item.

Thus, the content item version generator 140 may selectively provide an interactive user interface element that provides access to alternative versions of a content item that have been optimized or otherwise changed to reduce download time and/or bandwidth of the content item. Finally, reducing download time and bandwidth will improve the availability and latency of content items for devices experiencing slow connection. Examples are further described in conjunction with fig. 2-4C.

In some implementations, the content item version generator 140 can include computer logic for providing the desired functionality. The content item version generator 140 may be implemented in hardware, firmware, and/or software that controls a general purpose processor. For example, in some implementations, the content item version generator 140 may include a program file stored on a storage device, loaded into memory, and executed by one or more processors. In other implementations, the content item version generator 140 may include one or more sets of computer-executable instructions 136 stored in a tangible computer-readable storage medium, such as a RAM hard disk or an optical or magnetic medium.

The server computing system 150 may include one or more processors 162, memory 164 including instructions 166, a network interface 168, and a content item provider 152.

The content item provider 152 may provide the content item to the user computing device 102. The content items may include markup language documents that identify content and include instructions that specify a format or presentation of the identified content. Examples of content items may include web pages, one or more objects within or separate from a web page (e.g., graphics, images, videos, Flash applications, links to other web pages, advertisements), files, or other suitable content that may be provided to the user computing device 102.

In some implementations, the server computing system 150 may be separate and distinct from the server computing system 130. For example, server computing system 130 may be associated with a first domain, while server computing system 150 may be associated with a second domain that is different from the first domain. Thus, in some implementations, the content item provider 152 may be included in an external server external to the server computing system 130, while the content item version generator 140 is included in an internal server internal to the server computing system 130. In other implementations, the server computing system 150 may be included in the same domain as the server computing system 130.

In some implementations, the content item provider 152 can include computer logic for providing the desired functionality. The content item provider 152 may be implemented in hardware, firmware, and/or software that controls a general purpose processor. For example, in some implementations, the content item provider 152 may include a program file stored on a storage device, loaded into memory, and executed by one or more processors. In other implementations, the content item provider 152 may include one or more sets of computer-executable instructions 166 stored in a tangible computer-readable storage medium, such as a RAM hard disk or an optical or magnetic medium.

Network 160 may be any type of communications network, such as a local area network (e.g., an intranet), a wide area network (e.g., the internet), or some combination thereof, and may include any number of wired or wireless links. In general, communications between the server computing system 130 and the user computing device 102 may be conducted via any type of wired and/or wireless connection using a variety of communication protocols (e.g., TCP/IP, HTTP, SMTP, FTP), encodings or formats (e.g., HTML, XML), and/or protection schemes (e.g., VPN, secure HTTP, SSL). The server computing system 130 may communicate with the computing device 102 over the network 160 by sending and receiving data.

In one example implementation of the computing system 100, the server computing system 130 may be a search server that includes a search engine that identifies search results responsive to a search query received from the user computing device 102. For example, the server computing system 130 may provide data describing the search results page to the user computing device 102 for display to the user. Further, the server computing system 150 may be a web server hosting various web pages. One of the web pages hosted by the server computing system 150 may be included in a search results page provided by the server computing system 130 to the user computing device 102. The user computing device 102 may leave the search results page in an attempt to access a webpage hosted by the server computing system 150 (e.g., via interaction with the content item provider 152). In some implementations, if the user computing device 102 returns to the search results page without accessing the web page hosted by the server computing system 150, the content item version generator 140 may provide the user computing device 102 with an opportunity to access an alternate version of the web page. For example, an alternative version of a web page may be hosted by the server computing system 130.

In another example implementation of the computing system 100, the server computing system 130 may be an application server that interacts with applications 124 (e.g., mapping applications, dedicated search applications, email applications, document management applications, chat applications, etc.) executed by the user computing device 102. For example, the server computing system 130 may provide data to the user computing device 102 to include the data in the user interface of the application 124 being displayed to the user. Further, the server computing system 150 may be a web server hosting various web pages (e.g., restaurant web pages containing restaurant menus). One of the web pages hosted by the server computing system 150 (e.g., a restaurant web page containing a menu of restaurants) may be included in application data provided to the user computing device 102 by the server computing system 130 (e.g., map application data that includes restaurants as points of interest). The user computing device 102 may leave the application user interface to attempt to access a webpage hosted by the server computing system 150 (e.g., via interaction with the content item provider 152). In some implementations, if the user computing device 102 returns to the application user interface without accessing the web page hosted by the server computing system 150, the content item version generator 140 may provide the user computing device 102 with an opportunity to access an alternate version of the web page. For example, an alternate version of the web page (e.g., a cached version of the restaurant web page containing the restaurant menu) may be hosted by the server computing system 130.

Further, any process, operation, program, application, or instructions described as being stored at or executed by server computing system 130 may instead be stored in whole or in part at or executed by user computing device 102 or server computing system 150, and vice versa. Thus, in some implementations, the user computing device 102 or the server computing system 150 may include and implement the content item version generator 140.

Example method

Fig. 2 depicts a flowchart of an example method 200 for generating an alternative version of a content item, according to an example embodiment of the present disclosure. Although the method 200 will be discussed with reference to the example computing system 100 of fig. 1, the method may be performed by any number of different computing systems.

In 202, the content item version generator 140 may provide a user interface associated with the first domain to a user device. The user interface may include one or more interactive elements that enable a user of the user device to access one or more content items associated with the second domain.

As one example, a web browser may allow a user to enter a search query. In response to a search query, the search server may generate a search results web page that includes a list of search results (e.g., in the form of web page links) that each guide the user to a corresponding search result (e.g., web page). The search server may provide the search results web page to a web browser for display to the user. When a user clicks on or otherwise selects one of the web page links, the web browser, in response to the user's selection, may load the web page corresponding to the web page link for display to the user. For example, the web pages corresponding to the web page links may be hosted or otherwise provided by a server that is different from the search server that generated the search result web pages.

As another example, a search application (e.g., a native search application) executed by the user computing device 102 may enable entry of a search query and receive search results, wherein the search results are provided in a user interface generated by the search application, as an alternative or in addition to use of the web browser application.

As yet another example, any arbitrary application may provide a user interface that includes interactive elements that enable access to content items. The content item may be external to the application or internal to the application. In one example, the mapping application may provide a user interface that includes one or more icons on the map that, when selected by the user, direct the user's computing device to load additional information about the point of interest. In one example, selection of an icon may cause the user's device to load (e.g., from an application server associated with the application) an additional information card about the corresponding point of interest. In another example, selection of an icon may cause a user's device (e.g., from a web server other than the application server associated with the application) to load a web page (e.g., a home page of a restaurant) maintained by the corresponding point of interest.

Thus, many different user interfaces may include interactive elements that enable access to content items. Although the present disclosure will be discussed with respect to examples of search results included in a search results web page, the present disclosure is not limited to particular examples.

In 204, the content item version generator 140 may detect that the user has selected a first interactive element associated with the first content item in the second domain. In 206, the content item version generator 140 may determine: as a result of the selection in 204, the user has left the user interface to access the first content item. As one example, a user may select a web page link provided as a result of a search to access a web page.

In 208, the content item version generator 140 may determine that the user has returned to the user interface in the first domain without accessing the first content item in the second domain.

In some implementations, the content item version generator 140 can determine, based on the signal received from the first domain, that the user has returned to the user interface in the first domain without accessing the first content item in the second domain. For example, if the time between the user selecting the interactive element and returning to the user interface (i.e., the "click duration") is less than a threshold, the content item version generator 140 may determine that the user has returned to the user interface without accessing the first content item. Other information may also be used, such as, by way of example, a round trip time associated with loading the user interface and/or a return rate that describes how frequently the user returns to the user interface from the first content item.

In other implementations, the content item version generator 140 may determine, based on a signal received from and/or generated by the user's device, that the user has returned to the user interface in the first domain without accessing the first content item in the second domain. For example, an application executed by the user computing device (e.g., a web application, a mapping application, a browser application, a search application such as a native search application, etc.) may generate and provide a signal describing an attempt to access the first content item. As one example, the signal received from and/or generated by the user device may comprise a connection success signal describing whether the first content item is at least partially loaded or not loaded at all. As another example, the signal may comprise a first draw time signal that describes how long it takes for the user device to render any portion of the first content item. As another example, the signal may include a first-time-to-content-draw-time signal that describes how long it takes for the user device to render the content of the first content item. In one particular example, the signal may be generated by an in-application browser of an application executed by the user computing device.

In 210, in response to determining that the user has returned to the user interface in the first domain without accessing the first content item in the second domain, the content item version generator 140 may provide an interactive element (e.g., a link, etc.) that points to an alternate version (e.g., a transcoded version, etc.) of the content item (e.g., the target web page). In particular, the alternative version of the content item may or may have been optimized for slower connections.

Examples of alternative versions of a content item may include an alternative version of a content item that is smaller in download size, a transcoded version of a content item, a cached version of a content item, a content-reduced version of a content item, other suitable versions of a content item that may expedite downloading, or some combination thereof.

As another example, the alternative version of the content item may be a mobile optimized version such that the alternative version may be displayed by a mobile computing device having a smaller display scale than the non-mobile computer. In some implementations, the content item version generator 140 can remove one or more visual aspects of the content item (e.g., images, videos, animations, etc.) to generate an alternative version of the content item. In some implementations, the content item version generator 140 can reduce the resolution of one or more visual aspects of the content item.

In some implementations, in response to determining in 208 that the user has returned to the user interface in the first domain without accessing the first content item in the second domain, the content item version generator 140 can generate an alternative version of the content item. Thus, in some implementations, an alternative version of a content item may be generated "on the fly" in response to a user returning to the user interface. In other implementations, the content item version generator 140 may generate alternative versions of many different content items (e.g., a number of most popular or most frequently accessed content items) and store such alternative versions for later use. Thus, in some implementations, the content item version generator 140 may provide access to a previously generated alternative version, e.g., hosted in the first domain, in response to the user returning to the user interface without accessing the content item.

Example alternative versions of content items

3A, 3B, and 3C depict example search results pages that provide links to alternative versions of web pages according to example embodiments of the present disclosure.

FIG. 3A illustrates an example search results web page 300 in response to a user-entered search query 302 (e.g., "how to make ballet studded"). Search results web page 300 includes a search query 302 and a list of search results (e.g., first search results 304, second search results 310, etc.). Each search result may include a web page link and/or a list of links that direct the user to the main version of the corresponding web page, where each link provides a link for accessing a search result web page associated with a similar search query previously used by others (e.g., make museum ballet philtrum, tulle tutu, museum ballet philtrum, etc.).

For example, the first search result 304 includes: a web page link 306 having a web address (e.g., "http:// www.texttexttext1.com") that directs the user to the main version of the web page of website X; and a list of links 308 (e.g., link 1, link 2, link 3, etc.), each of which provides a link to a search result web page associated with a similar search query previously used by others (e.g., make atulle tutu, make a tutu, tulle tutu, etc.). The second search result 310 includes only a web page link 310, the web page link 310 having a web address of the main version of the web page that directs the user to website Y (e.g., "Https:// www.texttexttext2.com"). The search results page 300 may be generated by an internal search server (e.g., server computing system 130). The master version of the web page of website X and/or the master version of the web page of website Y may be provided by an internal content item provider server that is different from the internal search server. In other embodiments, the master version may be provided by one or more servers external to the server computing system 130.

If the user selects (e.g., clicks on) the search results in response to the user's selection, a web browser and/or application (e.g., a web browser application, a search application, etc.) executed by the user computing device 102 performs loading of a master version of the web page corresponding to the selected web page link. If the web browser and/or application is unable to load the main version of the web page, the first search results 304 may be automatically updated to include new links 312 and/or messages to alternative versions of the web page.

More specifically, as shown in FIG. 3B, the user has selected the web Page link 306, but cannot access the master version of the web Page via the web Page link 306. the first search result 304 is automatically updated to include a new link 312 that points to an alternate version 320 of the web Page and a message ("Page did't load? best optimized version").

If the user clicks on the newly added link 312, the user may be directed to an alternate version 320 of the web page, which may be loaded much faster than the main version of the web page. Alternate versions may include modified and/or altered content to reduce download time and/or bandwidth of the web page. Ultimately, reducing download time and bandwidth will improve the availability and latency of web pages experiencing slow connections.

As shown in fig. 3C, an example alternative version 320 of a web page includes a title 322, textual content 324 (e.g., text, words, documents, etc.), and imagery content 326 (e.g., images, videos, etc.) of the web page. The title 322 includes a website (e.g., "http:// alternativeversion. com") that is different from the website of the master version (e.g., http:// www.texttexttext1.com), and a link to the master version. This solves the problem that the user still cannot access website X when returning to the search results page 300.

In some implementations, the alternative version 320 of the web page can be a transcoded version of the web page, a cached version of the web page, or a reduced content version of the web page. In some implementations, the textual content 324 and/or the visual content 326 may be modified and/or changed to reduce the download time and/or bandwidth of the web page. For example, the resolution of the textual content 324 and/or the imagery content 326 may be reduced relative to the corresponding content in the master version. As an example, one or more portions of the textual content 324 and/or the visual content 326 may be removed.

4A, 4B, and 4C depict an example search results Page that provides links to a mobile optimized version of a web Page in a mobile device in response to a user-entered search query 404, "How to make a major", a search results Page 402 is displayed on the screen of the mobile device 400. the user selects a web Page link 408 in the search results 406, but cannot access the major version of the web Page via the web Page link 408. the search results 406 are automatically updated to include a new link 410 and a message ("Page di d't load? Try optimal version") that point to a mobile optimized version 420 of the web Page.

Additional disclosure

The techniques discussed herein make reference to servers, databases, software applications, and other computer-based systems, as well as actions taken and information sent to and from such systems. The inherent flexibility of computer-based systems allows for a wide variety of possible configurations, combinations, and divisions of tasks and functions between and among components. For example, the processes discussed herein may be implemented using a single device or component or multiple devices or components operating in combination. Databases and applications may be implemented on a single system or may be distributed across multiple systems. The distributed components may run sequentially or in parallel.

While the present subject matter has been described in detail with respect to various specific example embodiments thereof, each example is provided by way of illustration, and not limitation of the present disclosure. Alterations, modifications and equivalents may readily occur to those skilled in the art, upon an understanding of the foregoing. Accordingly, the present disclosure does not preclude inclusion of such modifications, variations and/or additions to the present subject matter as would be readily apparent to one of ordinary skill in the art. For instance, features illustrated or described as part of one embodiment, can be used with another embodiment to yield a still further embodiment. Accordingly, the present disclosure is intended to cover such alternatives, modifications, and equivalents.

In particular, although fig. 2 depicts steps performed in a particular order for purposes of illustration and discussion, the methods of the present disclosure are not limited to the particular illustrated order or arrangement. The various steps of the method 200 may be omitted, rearranged, combined, and/or adjusted in various ways without departing from the scope of the present disclosure.

According to a first aspect, the present disclosure also provides a computer-implemented method comprising: providing a user interface associated with the first domain, the user interface including one or more interactive elements that enable a user to access one or more content items associated with the second domain; detecting a user selection of a first interactive element associated with a first content item of the one or more content items; determining that a user has left a user interface associated with a first domain to access a first content item in a second domain; determining that the user has returned to the user interface in the first domain without accessing the first content item; and in response to determining that the user has returned to the user interface without accessing the first content item, providing a new interaction element in the user interface that enables the user to access an alternate version of the first content item.

Optionally, the first domain is different from the second domain. Optionally, the alternative version of the first content item is located at a different website than the first content item. Optionally, the user interface includes a search results web page and the one or more interactive elements include one or more web page links guiding the user to access the one or more content items in the second domain, and wherein the first content item includes a results web page that is listed as a search result in the search results web page. Optionally, the alternative version of the first content item has a smaller download size than the first content item. Optionally, the alternative version of the first content item comprises a transcoded version of the first content item. Optionally, the alternative version of the first content item comprises a cached version of the first content item. Optionally, the alternative version of the first content item comprises a content-reduced version of the first content item. Optionally, the content-reduced version of the first content item comprises a mobile-optimized version of the first content item. Optionally, the content-reduced version of the first content item has removed one or more visual aspects of the first content item. Optionally, the content-reduced version of the first content item comprises one or more visual aspects of the first content item presented at a reduced resolution relative to the first content item. Optionally, the alternative version of the first content item is hosted in the first domain.

Optionally, determining that the user has returned to the user interface without accessing the first content item comprises: obtaining one or more signals from one or both of a first domain and a user equipment; and determining, based on the one or more signals, that the user cannot access the first content item.

Optionally, the one or more signals include a click duration signal received from the first domain, the click duration signal describing a time taken to attempt to access the first content item at the second domain. Optionally, the one or more signals comprise a return rate signal received from the first domain, the return rate signal describing how frequently the user returned to the user interface from the first content item. Optionally, the one or more signals comprise a connection success signal describing whether the first content item is at least partially loaded or not loaded at all.

Optionally, the one or more signals comprise a first time draw time signal describing how long it takes for the user device to render any portion of the first content item. Optionally, the one or more signals include a first-time-to-content-draw-time signal that describes how long it takes for the user device to render the content of the first content item.

According to a second aspect, the present disclosure also provides a computing system comprising: one or more processors; and one or more non-transitory computer-readable media collectively storing instructions that, when executed by one or more processors, cause a computing system to perform the computer-implemented method of the first aspect.

According to a third aspect, the present disclosure also provides one or more non-transitory computer-readable media collectively storing instructions that, when executed by one or more processors, cause the one or more processors to perform the computer-implemented method of the first aspect.

26页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:经由可选图形元素初始化与自动代理的会话

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!