IP Library Granted Patent US 11,656,746
Granted Patent B2
US 11,656,746 · App. 16/685,302 · Granted May 23, 2023

Intercepted loading of web applications

Inventor: Javier Alejandro Figueroa (Miramar, FL)
G06F3/04842G06F9/445G06F40/143H04L67/02H04L67/75
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,656,746
App. No.
16/685,302
Granted
May 23, 2023
Kind
B2
Abstract

Aspects described herein may provide methods and systems for loading a second application from a first application while maintaining a consistent user experience. A technique may comprise receiving, by a client application, a first application from web servers. Upon receipt of a request for a second application, the first application may display a first loading display. The client application and/or the first application may then retrieve the second application and, in the process of retrieving the second application, cause the second application to display a similar loading display. When the client application switches from the first application to the second application, the client may display the second loading display. The similarity of the two loading displays may minimize the interruption perceived by the user. The loading displays may comprise indications of loading status, advertisements, interactive elements, or other content for display to the user.

Claims (37)

1. A method comprising:

presenting for display a first application accessible via a client device;

rendering a first loading display of the first application in response to a request for a second application, the request being initiated via the first application, and the second application being different than the first application, wherein the first loading display is configured to indicate that the second application is being loaded by the client device by indicating a first amount of the second application that has been loaded by the client device;

receiving a first portion of data of the second application concurrently with display of the first loading display, the first portion of data including a second loading display of the second application, one or more elements of the second loading display being the same as one or more corresponding elements of the first loading display, wherein the second loading display is configured to indicate that the second application is being loaded by the client device by indicating a second amount of the second application that has been loaded by the client device; and

rendering the second loading display of the second application by replacement of the first loading display with the second loading display so as to avoid the appearance of delay while a second portion of data of the second application loads onto the client device from a remote computing device.

2. The method of claim 1 , wherein rendering the second loading display includes replacement of the first loading display with the second loading display on a display of the client device.

3. The method of claim 1 , wherein the second loading display is presented within the second application.

4. The method of claim 1 , wherein the first portion of data is received using a web browser of the client device.

5. The method of claim 4 , wherein presentation of the first application includes display of the first application via the web browser.

6. The method of claim 1 , wherein at least a portion of the first loading display and at least a portion of the second loading display are the same.

7. The method of claim 1 , further comprising:

receiving the request for the second application, wherein the request for the second application comprises an indication of the first loading display.

8. The method of claim 1 , wherein rendering the first loading display comprises rendering the first loading display in a document object model of a web browser application, and wherein rendering the second loading display comprises rendering the second loading display in the document object model.

9. The method of claim 1 , wherein the first portion of data indicates that one or more elements of the second loading display are the same as one or more corresponding elements of the first loading display.

10. A computing device comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the computing device to:

present for display a first application;

render a first loading display of the first application in response to a request for a second application, the request being initiated via the first application, and the second application being different than the first application, wherein the first loading display is configured to indicate that the second application is being loaded by the computing device by indicating a first amount of the second application that has been loaded by the computing device;

receive a first portion of data of the second application concurrently with display of the first loading display, the first portion of data including a second loading display of the second application, one or more elements of the second loading display being the same as one or more corresponding elements of the first loading display, wherein the second loading display is configured to indicate that the second application is being loaded by the computing device by indicating a second amount of the second application that has been loaded by the computing device; and

render the second loading display of the second application by replacement of the first loading display with the second loading display so as to avoid the appearance of delay while a second portion of data of the second application loads onto the computing device from a remote computing device.

11. The computing device of claim 10 , wherein the instructions, when executed by the one or more processors, cause the computing device to render the second loading display by replacing the first loading display with the second loading display on a display of the computing device.

12. The computing device of claim 10 , wherein the instructions, when executed by the one or more processors, cause the computing device to render the second loading display by presenting the second loading display within the second application.

13. The computing device of claim 10 , wherein the instructions, when executed by the one or more processors, cause the computing device to receive the first portion of data using a web browser of the computing device.

14. The computing device of claim 10 , wherein the first loading display is based on properties of the computing device.

15. The computing device of claim 10 , wherein the first loading display comprises a first progress bar that is shorter than a second progress bar, and wherein the second loading display comprises the second progress bar.

16. The computing device of claim 10 , wherein the instructions, when executed by the one or more processors, cause the computing device to:

receive the request for the second application, wherein the request for the second application comprises an indication of the first loading display.

17. The computing device of claim 10 , wherein the instructions, when executed by the one or more processors, cause the computing device to render the first loading display by rendering the first loading display in a document object model of a web browser application, and wherein the instructions, when executed by the one or more processors, cause the computing device to render the second loading display by rendering the second loading display in the document object model.

18. One or more non-transitory computer-readable medium storing instructions that, when executed, cause:

presenting for display a first application accessible via a client device;

rendering a first loading display of the first application in response to a request for a second application, the request being initiated via the first application, and the second application being different than the first application, wherein the first loading display is configured to indicate that the second application is being loaded by the client device by indicating a first amount ofthe second application that has been loaded by the client device;

receiving a first portion of data of the second application concurrently with display of the first loading display, the first portion of data including a second loading display of the second application, one or more elements of the second loading display being the same as one or more corresponding elements of the first loading display, wherein the second loading, display is configured to indicate that the second application is being, loaded by the client device by indicating a second amount of the second application that has been loaded by the client device; and

rendering the second loading display of the second application by replacement of the first loading display with the second loading display so as to avoid the appearance of delay while a second portion of data of the second application loads onto the client device from a remote computing device.

19. The non-transitory computer-readable medium of claim 18 , wherein the instructions, when executed, cause rendering of the second loading display by causing replacement of the first loading display with the second loading display on a display of the client device.

20. The non-transitory computer-readable medium of claim 18 , wherein the second loading display is presented within the second application.

21. The non-transitory computer-readable medium of claim 18 , wherein the first portion of data is received using a web browser of the client device.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2019
From: FIGUEROA, JAVIER ALEJANDRO
To: CITRIX SYSTEMS, INC.
Reel/Frame 051022/0555 →
Continuity (2)
Continuation 15806417 · Nov 8, 2017
Related Publication 20200089508A1 · Mar 19, 2020