IP Library › Granted Patent US 8,661,337
Granted Patent B2
US 8,661,337 · App. 13/224,903 · Granted Feb 25, 2014

Techniques for use of snapshots with browsing transitions

Inventors: Kevin W. Decker (San Jose, CA); Darin B. Adler (Los Gatos, CA); Beth M. Dakin (San Jose, CA); Brady K. Eidson (Sunnyvale, CA); Craig M. Federighi (Los Altos, CA)
Assignee: Apple Inc.
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 8,661,337
App. No.
13/224,903
Granted
Feb 25, 2014
Kind
B2
Abstract

A snapshot of a page is stored in response to navigation away from the page. When the user navigates back to the page, the snapshot is displayed while the page is loaded. When the page is sufficiently loaded, the snapshot is replaced by the (fully or partially) loaded page. Determining whether the page is sufficiently loaded is based on monitoring of pre-selected criteria.

Claims (86)

1. A method comprising:

receiving a command to navigate away from a web page displayed in a user interface presented by an application;

storing a snapshot of the web page in response to the command to navigate away from the web page, the snapshot corresponding to an image of content of the web page displayed in the user interface;

receiving a command to navigate back to the web page;

displaying the snapshot in the user interface of the application in response to the command

to navigate back to the web page;

loading a current version of the page while displaying the snapshot in the user interface of

the application; and

replacing the snapshot with the current version of the web page in the user interface of the application in response to loading of the current version of the web page meeting one or more criteria, comprising

determining an original page complexity,

determining a subsequent page complexity, and

comparing the original page complexity to the subsequent page complexity, wherein the snapshot is replaced with the current version of the web page if the subsequent page complexity exceeds a specified amount of the original complexity.

2. The method of claim 1 wherein the criteria comprise one or more of: page complexity, page loading status, render tree size, DOM tree characteristics, outstanding network requests, and/or user input.

3. The method of claim 1 wherein the criteria are monitored as the current version of the page is loaded.

4. The method of claim 1 wherein the specified amount comprises 50%.

5. The method of claim 1 wherein determining the original page complexity comprises determining an original render tree size, and determining the subsequent page complexity comprises determining a subsequent render tree size.

6. The method of claim 1 wherein determining the original page complexity comprises determining an original DOM tree size, and determining the subsequent page complexity comprises determining a subsequent DOM tree size.

7. The method of claim 1 wherein replacing the snapshot with a current version of the web page in response to loading of the current version of the web page meeting the criteria comprises:

receiving a page load complete indication; and

determining there are no outstanding network requests.

8. The method of claim 1 wherein navigation back to the web page occurs in response to a swipe motion by a user on a touch interface.

9. The method of claim 8 wherein the touch interface comprises a touch screen.

10. The method of claim 8 wherein the touch interface comprises a touch pad.

11. The method of claim 1 wherein the current version of the web page comprises a fully-loaded current version of the web page.

12. The method of claim 1 wherein the current version of the web page comprises a partially-loaded current version of the web page.

13. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause one or more processors to:

receive a command to navigate away from a web page displayed in a user interface presented by an application;

store a snapshot of the web page in response to the command to navigate away from the web page, the snapshot corresponding to an image of content of the web page displayed in the user interface;

receive a command to navigate back to the web page;

display the snapshot in the user interface of the application in response to the command to

navigate back to the web page;

load a current version of the web page while displaying the snapshot in the user interface of the application; and

replace the snapshot with the current version of the web page in the user interface of the application in response to loading of the current version of the web page meeting pre-selected criteria, wherein the processors to replace the snapshot are configured to

determine an original page complexity,

determine a subsequent page complexity,

compare the original page complexity to the subsequent page complexity, and

wherein the snapshot is replaced with the current version of the web page if the subsequent page complexity exceeds a specified amount of the original complexity.

14. The computer-readable medium of claim 13 wherein the criteria comprise one or more of: page complexity, page loading status, render tree size, DOM tree characteristics, outstanding network requests, and/or user input.

15. The computer-readable medium of claim 13 wherein the criteria are monitored as the current version of the page is loaded.

16. The computer-readable medium of claim 13 wherein the specified amount comprises 50%.

17. The computer-readable medium of claim 13 wherein determining the original page complexity comprises determining an original render tree size, and determining the subsequent page complexity comprises determining a subsequent render tree size.

18. The computer-readable medium of claim 13 wherein determining the original page complexity comprises determining an original DOM tree size, and determining the subsequent page complexity comprises determining a subsequent DOM tree size.

19. The computer-readable medium of claim 13 wherein the instructions that cause the one or more processors to replace the snapshot with a current version of the web page in response to loading of the current version of the web page meeting the criteria comprise instructions that, when executed, cause the one or more processors to:

receive a page load complete indication; and

determine there are no outstanding network requests.

20. The computer-readable medium of claim 13 wherein navigation back to the web page occurs in response to a swipe motion by a user on a touch interface.

21. The computer-readable medium of claim 20 wherein the touch interface comprises a touch screen.

22. The computer-readable medium of claim 20 wherein the touch interface comprises a touch pad.

23. The computer-readable medium of claim 13 wherein the current version of the web page comprises a fully-loaded current version of the web page.

24. The computer-readable medium of claim 13 wherein the current version of the web page comprises a partially-loaded current version of the web page.

25. An apparatus having one or more processors configured to perform a method comprising:

receiving a command to navigate away from a web page displayed in a user interface presented by an application;

storing a snapshot of the web page in response to the command to navigate

away from the web page, the snapshot corresponding to an image of content of the

web page displayed in the user interface;

receiving a command to navigate back to the web page;

displaying the snapshot in the user interface of the application in response to the command to navigate back to the web page;

loading a current version of the web page while displaying the snapshot in the user interface of the application; and

replacing the snapshot with the current version of the web page in the user

interface of the application in response to loading of the current version of the web

page meeting one or more criteria, comprising:

determining an original page complexity,

determining a subsequent page complexity, and

comparing the original page complexity to the subsequent page complexity,

wherein the snapshot is replaced with the current version of the web page if the subsequent page complexity exceeds a specified amount of the original complexity.

26. The apparatus of claim 25 wherein the criteria are monitored as the current version of the page is loaded.

27. A computing system comprising:

a display device; one or more processors coupled to cause images to be displayed on the display device, the

one or more processors to run a browser application responsive to user input, the one or more processors being configured

to receive a command to navigate away from a web page displayed in a user interface presented by an application,

to store a snapshot of the web page in response to the command to navigate away from the web page, the snapshot corresponding to an image of content of the web page displayed in the user interface,

to receive a command to navigate back to the web page,

to display the snapshot in the user interface of the application in response to the command to navigate back to the web page,

to load a current version of the web page while displaying the snapshot in the user interface of the application, and

to replace the snapshot with a current version of the web page in the user interface of the application in response to loading of the current version of the web page meeting the criteria, wherein the processors to replace the snapshot are further configured to determine an original page complexity, to determine a subsequent page complexity, to compare the original page complexity to the subsequent page complexity, to replace the snapshot with the current version of the web page if the subsequent page complexity exceeds a specified amount of the original complexity.

28. The computing system of claim 27 wherein the criteria comprise one or more of: page complexity, page loading status, render tree size, DOM tree characteristics, outstanding network requests, and/or user input.

29. The computing system of claim 27 wherein the criteria are monitored as the current version of the page is loaded.

30. The computing system of claim 27 wherein the specified amount comprises 50%.

31. The computing system of claim 27 wherein determining the original page complexity comprises determining an original render tree size, and determining the subsequent page complexity comprises determining a subsequent render tree size.

32. The computing system of claim 27 wherein determining the original page complexity comprises determining an original DOM tree size, and determining the subsequent page complexity comprises determining a subsequent DOM tree size.

33. The computing system of claim 27 wherein the instructions that cause the one or more processors to replace the snapshot with a current version of the web page in response to loading of the current version of the web page meeting the criteria comprise instructions that, when executed, cause the one or more processors to receive a page load complete indication, and to determine there are no outstanding network requests.

34. The computing system of claim 27 wherein navigation back to the web page occurs in response to a swipe motion by a user on a touch interface.

35. The computing system of claim 34 wherein the touch interface comprises a touch screen.

36. The computing system of claim 34 wherein the touch interface comprises a touch pad.

37. The computing system of claim 27 wherein the current version of the web page comprises a fully-loaded current version of the web page.

38. The computing system of claim 27 wherein the current version of the web page comprises a partially-loaded current version of the web page.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2011
From: DECKER, KEVIN W.; ADLER, DARIN B.; DAKIN, BETH M.; EIDSON, BRADY K.; FEDERIGHI, CRAIG
To: APPLE INC.
Reel/Frame 026853/0001 →
Continuity (2)
Provisional Application 61493485 · Jun 5, 2011
Related Publication 20120311429A1 · Dec 6, 2012