Dynamic user agent strings
Abstract
Optimizations are provided for distinguishing between webpages that are cached and webpages that have been or currently are displayed on a user interface. In some instances, a list of webpages is generated in response to a query entered by a user. Then, a determined number of webpages that were included in the list are cached in memory. These cached webpages each have an associated agent string, and at least some of these agent strings are updated to reflect a cached status. Subsequently, a first webpage is displayed on a user interface. This first webpage was included among those webpages that were cached. Further, the agent string for this webpage is updated to reflect an in-view status. In response to the first webpage being replaced by a second webpage, the agent string for the second webpage is then updated to reflect the in-view status.
Claims
exact text as granted — not AI-modified1 . A computer system comprising:
one or more processors; and one or more computer-readable hardware storage devices having stored thereon computer-executable instructions, the computer executable instructions being executable by the one or more processors to cause the computer system to: in response to a query entered by a user, generate a list of webpages; cache a determined number of webpages that were included in the list of webpages, the cached webpages each having associated therewith a corresponding agent string, wherein at least some of the agent strings are updated to reflect a cached status; display, on a user interface of the computer system, a first webpage that was included among the cached webpages along with links in a navigation control panel to a plurality of other webpages that were included in the list of webpages and that are also included among the cached webpages, the first webpage having associated therewith a first agent string, the first agent string being updated to reflect an in-view status; receiving user input for navigating from the first webpage to a second webpage included in the cached webpages and that has a link displayed in the navigation control panel; in response to the user input, navigating to the second webpage, replacing the display of the first webpage in the user interface with a display of the second webpage in the user interface; and while replacing the display of the first webpage with the display of the second webpage, determining a threshold amount of the second webpage has been displayed; in response to determining the threshold amount of the second webpage has been displayed, updating a second agent string associated with the second webpage to reflect the in-view status for the second webpage.
2 . The computer system of claim 1 , wherein the list of webpages is based at least partially on a set of search results received from a search engine, the set of search results being generated by the search engine in response to the query.
3 . The computer system of claim 1 , wherein the cached webpages are cached automatically after the list of webpages is generated.
4 . The computer system of claim 1 , wherein the first webpage is displayed automatically on the user interface at a time that is essentially contemporaneous with when the first webpage was cached.
5 . The computer system of claim 1 , wherein, after the first webpage is replaced by the second webpage, the first agent string is updated to reflect an out-of-view status.
6 . The computer system of claim 1 , wherein user input causes the first webpage to be replaced by the second webpage, the user input being a swipe gesture received at the user interface.
7 . The computer system of claim 1 , wherein both the first agent string and the second agent string are configured to reflect a plurality of different statuses, the plurality of different statuses including the cached status, the in-view status, and an out-of-view status.
8 . The computer system of claim 1 , wherein, prior to the second webpage being displayed on the user interface, the second agent string was included among the at least some of the agent strings that were updated to reflect the cached status, whereby, after the second webpage is displayed on the user interface, the second agent string changes from reflecting the cached status to reflecting the in-view status.
9 . The computer system of claim 1 , wherein the computer system further includes a timestamp mechanism, and wherein the timestamp mechanism recorded a first time corresponding to when the first webpage was displayed on the user interface, the first time being included in the first agent string.
10 . The computer system of claim 9 , wherein the timestamp mechanism further recorded a second time corresponding to when the first webpage was replaced by the second webpage, the second time also being included in the first agent string such that the first agent string includes both the first time and the second time.
11 . The computer system of claim 10 , wherein the first time and the second time are included in telemetry data, the telemetry data being analyzed to determine webpage metrics for the first webpage.
12 . The computer system of claim 1 , wherein updating the first agent string to reflect the in-view status is performed by submitting a webpage header request to a currently displayed webpage, the first webpage at least initially being the currently displayed webpage such that the webpage header request is submitted to the first webpage.
13 . A method for differentiating webpages that are automatically cached in response to a webpage search, the method being implemented by one or more processors of a computer system, the method comprising:
in response to a query entered by a user, generating a list of webpages; caching a determined number of webpages that were included in the list of webpages, the cached webpages each having associated therewith a corresponding agent string, wherein at least some of the agent strings are updated to reflect a cached status; displaying, on a user interface of the computer system, a first webpage that was included among the cached webpages along with links in a navigation control panel to a plurality of other webpages that were included in the list of webpages and that are also included among the cached webpages, the first webpage having associated therewith a first agent string, the first agent string being updated to reflect an in-view status; receiving user input for navigating from the first webpage to a second webpage included in the cached webpages and that has a link displayed in the navigation control panel; in response to the user input, navigating to the second webpage, replacing the display of the first webpage in the user interface with a display of the second webpage in the user interface; and while replacing the display of the first webpage with the display of the second webpage, determining a threshold amount of the user interface is occupied by the second webpage; in response to determining the threshold amount of the user interface is occupied by the second webpage, updating a second agent string associated with the second webpage to reflect the in-view status for the second webpage.
14 . The method of claim 13 , wherein the computer system is a mobile smart device, and wherein caching the determined number of webpages that were included in the list of webpages is performed by caching only selected portions for each of the cached webpages as opposed to caching an entire portion for each of the cached webpages.
15 . The method of claim 13 , wherein determining the number of webpages that will be cached is based on a configuration setting, whereby the user, by adjusting the configuration setting, sets the number of webpages that will be cached.
16 . The method of claim 13 , wherein replacing the first webpage with the second webpage is triggered by a user action, the user action being a swipe gesture, and wherein determining when the first webpage is to be replaced by the second webpage is performed by:
monitoring a progression of the swipe gesture, wherein, as the swipe gesture progresses, portions of the first webpage are progressively caused to no longer be displayed on the user interface while portions of the second webpage are progressively caused to be displayed on the user interface; determining that the progression of the swipe gesture has caused a threshold amount of the second webpage to be displayed on the user interface; and in response to the threshold amount of the second webpage being displayed on the user interface, causing the second agent string to be updated to reflect the in-view status, the second agent string being updated even though the progression of the swipe gesture is not completed and even though the second webpage is not fully displayed on the user interface.
17 . The method of claim 16 , wherein the threshold amount is reached when 25% or more of the second webpage is displayed on the user interface as a result of the progression of the swipe gesture.
18 . One or more hardware storage devices having stored thereon computer-executable instructions, the computer-executable instructions being executable by one or more processors of a computer system to cause the computer system to:
in response to a query entered by a user, generate a list of webpages; cache a determined number of webpages that were included in the list of webpages, the cached webpages each having associated therewith a corresponding agent string, wherein at least some of the agent strings are updated to reflect a cached status; display, in a first portion on a user interface of the computer system, a first webpage that was included among the cached webpages, the first webpage having associated therewith a first agent string, the first agent string being updated to reflect an in-view status; and in response to the first webpage being replaced by a second webpage in the first portion on the user interface, which second webpage has associated therewith a second agent string, update the second agent string to also reflect the in-view status.
19 . The one or more hardware storage devices of claim 18 , wherein, when a network connection of the computer system is interrupted, execution of the computer-executable instructions further causes the computer system to:
monitor which webpages are already cached; and prior to the first webpage being replaced by the second webpage, wipe all cached content associated with the second webpage such that when the first webpage is replaced, no content of the second webpage is displayed on the user interface.
20 . The one or more hardware storage devices of claim 18 , wherein, when a network connection of the computer system is interrupted, execution of the computer-executable instructions further causes the computer system to:
monitor which webpages are already cached; store information locally on the computer system, the locally stored information indicating which cached webpages were caused to be displayed on the user interface while the network connection was interrupted, whereby the locally stored information at least includes an indication that the second webpage was caused to be displayed on the user interface; and after either (1) a new network connection is created or (2) the network connection is no longer being interrupted, update (1) the second agent string to reflect the in-view status and (2) any other agent strings corresponding to any other webpages that were caused to be displayed on the user interface while the network connection was interrupted.Join the waitlist — get patent alerts
Track US2021056157A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.