# US 9,842,088 B2 · Method and apparatus for rendering an image for an entire web page on physical devices

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,842,088 B2
- Document ID: US9842088B2
- Status: Granted
- Kind: B2
- Application number: 14/920,808
- Filed: 2015-10-22
- Published: 2016-04-28
- Granted: 2017-12-12
- Earliest claimed: 2014-10-22
- Assignees: Springbox Labs, Inc.
- Applicants: Springbox Labs, Inc.
- Inventors: Todd Berry; Dina Fitzpatrick; Brian Brooks
- Web page: https://patentgrep.com/patent/US9842088B2

## CPC

- G06F 40/14: Tree-structured documents (parsing G06F40/205; validation G06F40/226)
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 3/04842: Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence)
- G06F 3/0485: Scrolling or panning
- G06F 11/3672: {Test management}
- G06F 11/368: {for test version control, e.g. updating test cases to a new software version}
- G06F 11/3688: {for test execution, e.g. scheduling of test suites}
- G06F 11/3698: Environments for analysis, debugging or testing of software
- G06F 16/9577: {Optimising the visualization of content, e.g. distillation of HTML documents}
- G06F 40/103: Formatting, i.e. changing of presentation of documents (automatic justification G06F40/189; automatic line break hyphenation G06F40/191)
- G06F 40/166: Editing, e.g. inserting or deleting
- G06T 7/0002: {Inspection of images, e.g. flaw detection}
- G06T 11/60: Creating or editing images; Combining images with text
- H04L 41/22: comprising specially adapted graphical user interfaces [GUI]
- H04L 67/025: for remote control or remote monitoring of applications
- G06T 2207/20221: Image fusion; Image merging
- G06T 2207/30176: Document
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

In at least one embodiment, a system and method described herein provides a concrete and tangible solution to solve a problem of remotely and programmatically activating and manipulating a device to capture screen shots of a complete web page and, in at least one embodiment, prevent and, if necessary, recover from device crashes.

## Claims

### Claim 1

A method comprising:
executing a non-transient program by a first electronic device that transforms the first electronic device into a machine to perform:
receiving an instruction to access a web page;
programmatically causing the first electronic device to access a web page;
loading the web page with a browser of the first electronic device;
programmatically determining if the web page has been entirely loaded, wherein the web page comprises N screens and each screen represents a portion of the web page;
for screens S(1) to S(N−1) of the web page and beginning with a first screen, wherein S(n) represents a screen and n is an integer representing an index from 1 to N, and N is an integer representing a total number of screens:
(i) programmatically rendering a screen S(n) of the web page on a display of the electronic device;
(ii) programmatically causing the first electronic device to capture an image of the screen S(n) of the web page;
(iii) programmatically causing the browser to scroll from screen S(n) to screen S(n+1);
(iv) repeating (i) through (iii) for each screen S(1) through S(N−1) and repeating (i) through (ii) for screen S(N); and
transmitting one or more images of the web page to a computer system to allow evaluation of each transmitted image of the web page.

### Claim 2 (depends on 1)

The method of claim 1 wherein receiving an instruction to access a web page comprises receiving a uniform resource locator that identifies a location of the web page.

### Claim 3 (depends on 1)

The method of claim 1 wherein each screen S(1) through S(N) are approximately non-overlapping.

### Claim 4 (depends on 1)

The method of claim 1 further comprising executing the program by the first electronic device to perform:
programmatically stitching each image captured together to generate a digital, composite image of the web page; and
digitally inserting graphical fold lines into the composite image to indicate a break between each rendered screen of the web page; and
wherein transmitting the image to a computer system to allow the computer system to display the composite image to evaluate the rendering of the web page comprises.

### Claim 5 (depends on 1)

The method of claim 1 wherein transmitting one or more images of the web page to a computer system to allow evaluation of each transmitted image of the web page comprises transmitting one or more images of the web page to a computer system to allow the computer system to display the composite image to evaluate the rendering of the web page.

### Claim 6 (depends on 1)

The method of claim 1 wherein transmitting one or more images of the web page to a computer system to allow evaluation of each transmitted image of the web page comprises:
transmitting the captured images to a fourth computer system to allow the fourth computer system to compare the one or more images with one or more predetermined target images and generated image-to-target comparison results data.

### Claim 7 (depends on 1)

The method of claim 1 executing the program by the first electronic device to perform:
running a background service on the device separate from a web browser screen capture application;
utilizing the background service to monitor a status of a screen capture application;
if the screen capture application closes, spawning a new application and retasking the new application to attempt the screen capture.

### Claim 8

A system comprising:
a processor; and
a memory, coupled to the processor, executing a program by the processor of the system that transforms the system into a machine to perform:
receiving an instruction to access a web page;
programmatically causing the first electronic device to access a web page;
loading the web page with a browser of the first electronic device;
programmatically determining if the web page has been entirely loaded, wherein the web page comprises N screens and each screen represents a portion of the web page;
for screens S(1) to S(N−1) of the web page and beginning with a first screen, wherein S(n) represents a screen and n is an integer representing an index from 1 to N, and N is an integer representing a total number of screens:
(i) programmatically rendering a screen S(n) of the web page on a display of the electronic device;
(ii) programmatically causing the first electronic device to capture an image of the screen S(n) of the web page;
(iii) programmatically causing the browser to scroll from screen S(n) to screen S(n+1);
(iv) repeating (i) through (iii) for each screen S(1) through S(N−1) and repeating (i) through (ii) for screen S(N); and
transmitting one or more images of the web page to a computer system to allow evaluation of each transmitted image of the web page.

### Claim 9 (depends on 8)

The system of claim 8 wherein receiving an instruction to access a web page comprises receiving a uniform resource locator that identifies a location of the web page.

### Claim 10 (depends on 8)

The system of claim 8 wherein each screen S(1) through S(N) are approximately non-overlapping.

### Claim 11 (depends on 8)

The system of claim 8 further comprising executing the program by the processor to perform:
programmatically stitching each image captured together to generate a digital, composite image of the web page; and
digitally inserting graphical fold lines into the composite image to indicate a break between each rendered screen of the web page; and
wherein transmitting the image to a computer system to allow the computer system to display the composite image to evaluate the rendering of the web page comprises.

### Claim 12 (depends on 8)

The system of claim 8 wherein transmitting one or more images of the web page to a computer system to allow evaluation of each transmitted image of the web page comprises transmitting one or more images of the web page to a computer system to allow the computer system to display the composite image to evaluate the rendering of the web page.

### Claim 13 (depends on 8)

The system of claim 8 wherein transmitting one or more images of the web page to a computer system to allow evaluation of each transmitted image of the web page comprises:
transmitting the captured images to a fourth computer system to allow the fourth computer system to compare the one or more images with one or more predetermined target images and generated image-to-target comparison results data.

### Claim 14 (depends on 8)

The system of claim 8 executing the program by the first electronic device to perform:
running a background service on the device separate from a web browser screen capture application;
utilizing the background service to monitor a status of a screen capture application;
if the screen capture application closes, spawning a new application and retasking the new application to attempt the screen capture.

### Claim 15

A non-transitory, computer readable medium comprising a program stored therein that is executable by a processor of a first computer system to transform the first computer system into a machine to perform:
receiving an instruction to access a web page;
programmatically causing the first electronic device to access a web page;
loading the web page with a browser of the first electronic device;
programmatically determining if the web page has been entirely loaded, wherein the web page comprises N screens and each screen represents a portion of the web page;
for screens S(1) to S(N−1) of the web page and beginning with a first screen, wherein S(n) represents a screen and n is an integer representing an index from 1 to N, and N is an integer representing a total number of screens:
(i) programmatically rendering a screen S(n) of the web page on a display of the electronic device;
(ii) programmatically causing the first electronic device to capture an image of the screen S(n) of the web page;
(iii) programmatically causing the browser to scroll from screen S(n) to screen S(n+1);
(iv) repeating (i) through (iii) for each screen S(1) through S(N−1) and repeating (i) through (ii) for screen S(N); and
transmitting one or more images of the web page to a computer system to allow evaluation of each transmitted image of the web page.

### Claim 16 (depends on 15)

The nontransitory, computer readable medium of claim 15 wherein receiving an instruction to access a web page comprises receiving a uniform resource locator that identifies a location of the web page.

### Claim 17 (depends on 15)

The nontransitory, computer readable medium of claim 15 wherein each screen S(1) through S(N) are approximately non-overlapping.

### Claim 18 (depends on 15)

The nontransitory, computer readable medium of claim 15 further comprising executing the program by the processor to perform:
programmatically stitching each image captured together to generate a digital, composite image of the web page; and
digitally inserting graphical fold lines into the composite image to indicate a break between each rendered screen of the web page; and
wherein transmitting the image to a computer system to allow the computer system to display the composite image to evaluate the rendering of the web page comprises.

### Claim 19 (depends on 15)

The nontransitory, computer readable medium of claim 15 wherein transmitting one or more images of the web page to a computer system to allow evaluation of each transmitted image of the web page comprises transmitting one or more images of the web page to a computer system to allow the computer system to display the composite image to evaluate the rendering of the web page.

### Claim 20 (depends on 15)

The nontransitory, computer readable medium of claim 15 wherein transmitting one or more images of the web page to a computer system to allow evaluation of each transmitted image of the web page comprises:
transmitting the captured images to a fourth computer system to allow the fourth predetermined target images and generated image-to-target comparison results data.

### Claim 21 (depends on 15)

The nontransitory, computer readable medium of claim 15 executing the program by the first electronic device to perform:
running a background service on the device separate from a web browser screen capture application;
utilizing the background service to monitor a status of a screen capture application;
if the screen capture application closes, spawning a new application and retasking the new application to attempt the screen capture.
