IP Library Granted Patent US 11,930,096
Granted Patent B2
US 11,930,096 · App. 18/102,589 · Granted Mar 12, 2024

Systems and methods for rendering interactive web pages

Inventors: Alberto Gasparin (Sydney, AU); Monica Olejniczak (Sydney, AU); Rohan Deshpande (Sydney, AU)
Assignees: ATLASSIAN PTY LTD.; ATLASSIAN US, INC.
H04L67/75G06F16/955G06F16/986H04L67/02H04L67/535
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,930,096
App. No.
18/102,589
Granted
Mar 12, 2024
Kind
B2
Abstract

Systems and methods for rendering interactive web pages are disclosed. A disclosed method includes receiving a web page request, retrieving web page content for the web page, identifying one or more components that provide interactivity to the web page in the web content, determining whether the one or more components are critical components and communicating the determined one or more critical components in a Hypertext Markup Language (HTML) head and communicating the remainer of the web content in an HTML body.

Claims (64)

1. A computer-implemented method for responding to a web page request, the method comprising:

at a server:

receiving the web page request from a client device, the web page request including an identifier of a requested web page;

retrieving web page content based on the identifier of the requested web page, the web page content including document content and a set of components for rendering on the requested web page;

identifying a subset of components that are predicted to increase time to interaction for the web page;

in response to identifying the subset of components that increase time to interaction for the web page, adding the subset of components to a head portion of the document content;

communicating the head portion of the document content to the client device; and

communicating a remaining web page content in a body portion of the document content to the client device for rendering.

2. The computer-implemented method of claim 1 , further comprising:

determining whether any component in the set of components require server side rendering; and

in response to determining that at least one component of the set of components requires server side rendering, rendering the at least one component at the server before communicating in the body portion of the document content to the client device.

3. The computer-implemented method of claim 2 , wherein determining whether any component in the set of components require server side rendering includes inspecting a tag associated with a respective component of the set of components.

4. The computer-implemented method of claim 1 , wherein identifying the subset of components that are predicted to increase time to interaction for the web page includes inspecting a tag associated with a respective component of the set of components.

5. The computer-implemented method of claim 1 , further comprising:

determining whether any component in the set of components is a lazy loading component; and

in response to determining that at least one component of the set of components is a lazy loading component, adding the at least one component to the head portion of the document content.

6. The computer-implemented method of claim 5 , wherein determining whether any component in the set of components is a lazy loading component includes inspecting a tag associated with a respective component of the set of components.

7. The computer-implemented method of claim 1 , further comprising:

determining whether any component in the set of components is a conditional component; and

in response to determining that at least one component of the set of components is a conditional component, adding the at least one component to the body portion of the document content.

8. The computer-implemented method of claim 7 , wherein determining whether any component in the set of components is a conditional component includes inspecting a tag associated with a respective component of the set of components.

9. The computer-implemented method of claim 1 , wherein the subset of components that are predicted to increase time to interaction for the web page include interactive JavaScript script components.

10. The computer-implemented method of claim 1 , wherein the document content includes Hypertext Markup Language (HTML) content.

11. A computer-implemented method for rendering a web page, the method comprising:

at a client browser:

receiving a head portion of document content for the web page, the head portion having a set of components including one or more components that are predicted to increase a time to interaction for the web page above a threshold time;

initiating a component processing thread for downloading the set of components in the head portion and a render processing thread for rendering the web page using the set of components;

at the component processing thread, downloading the one or more components that are predicted to increase time to interaction for the web page; and

at the render processing thread:

receiving and rendering a body portion of the document content for the web page;

retrieving the one or more components that are predicted to increase time to interaction for the web page; and

rendering the one or more components that are predicted to increase time to interaction for the web page, on the web page.

12. The computer-implemented method of claim 11 , further comprising:

at the component processing thread, downloading one or more components that are not predicted to increase time to interaction for the web page above the threshold time, after downloading the one or more components that are predicted to increase time to interaction for the web page above the threshold time; and

at the render processing thread, rendering the one or more components that are not predicted to not increase time to interaction for the web page above the threshold time, after rendering the one or more components that are predicted to increase time to interaction for the web page above the threshold time.

13. The computer-implemented method of claim 11 , further comprising:

at the component processing thread, downloading the set of components according to a descending order of predicted time to interaction for the web page for each component.

14. The computer-implemented method of claim 11 , further comprising:

at the render processing thread, analyzing one or more tags associated with each components in the set of components to detect a type of component.

15. The computer-implemented method of claim 14 , further comprising:

at the render processing thread, rendering the set of components according to a predetermined order based on the type of component.

16. The computer-implemented method of claim 14 , further comprising:

determining that the set of components includes at least one component tagged as a conditional component;

monitoring interaction of a user with the web page to determine whether a condition for loading the conditional component is satisfied; and

in response to determining that the condition for loading the conditional component is satisfied, loading the conditional component.

17. The computer-implemented method of claim 16 , further comprising:

determining that the set of components includes at least one component tagged as a lazy component;

loading the lazy component before loading the conditional component.

18. The computer-implemented method of claim 11 , wherein the one or more components that are predicted to increase time to interaction for the web page above the threshold time include interactive JavaScript scripts.

19. The computer-implemented method of claim 11 , wherein the document content includes Hypertext Markup Language (HTML) content.

20. A system comprising:

a server comprising a server processor and a non-transitory server memory storing instructions that when executed by the server processor cause the server to:

receive a web page request including an identifier of a requested web page;

retrieve web page content based on the identifier of the requested web page, the web page content including document content and a set of components for rendering on the requested web page;

identify one or more components that are predicted to increase time to interaction for the web page above a threshold time; and

in response to identifying the one or more components that are predicted to increase time to interaction for the web page above the threshold time, add the one or more components to a head portion of the document content; and

a client device comprising a client processor and a non-transitory client memory storing instructions that when executed by the client processor cause the client device to:

receive the head portion of document content for the web page from the server;

initiate a component processing thread and a render processing thread;

at the component processing thread, download the one or more components that are predicted to increase time to interaction in the head portion; and

at the render processing thread:

receive, from the server, a body portion of the document content for the web page, the body portion including a remaining web page content of the web page;

retrieve the one or more components that are predicted to increase time to interaction; and

render, on the web page, the body portion of the document content and the one or more components that are predicted to increase time to interaction.

Continuity (2)
Continuation 17153056 · Jan 20, 2021
Related Publication 20230171329A1 · Jun 1, 2023