# US 2016/0117287 A1 · Method and Apparatus for Rendering Websites 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 2016/0117287 A1
- Document ID: US20160117287A1
- Status: Published application
- Kind: A1
- Application number: 14/920,820
- Filed: 2015-10-22
- Published: 2016-04-28
- Earliest claimed: 2014-10-22
- Assignees: Springbox Labs, Inc.
- Applicants: Springbox Labs, Inc.
- Inventors: Todd Berry; Dina Fitzpatrick; Broderick Young
- Web page: https://patentgrep.com/patent/US20160117287A1

## 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, the system and method described herein provides a concrete and tangible technical solution to the problem of activating and testing multiple web pages on multiple devices to determine any anomalies or other errors in rendering the web pages due to, for example, the unpredictable nature of rendering web pages on multiple devices having, for example, a multitude of different configuration characteristics. Furthermore, the system and method, in at least one embodiment, provide an automated process that is capable of testing web pages and devices remotely and in parallel at a high bandwidth. A system and method utilize a device service to coordinate: activating a web browser on each of the set of devices selected, rendering the web page by each web browser of the set of devices selected, and capturing one or more images of the web page as rendered by the set of devices selected.

## Claims

### Claim 1

A method comprising:
executing a program by a first computer system that transforms the first computer system into a machine to perform:
receiving from a second computer system a selection of a set of devices to be tested for rendering the web page of the website;
utilizing a device service to coordinate:
activating a web browser on each of the set of devices selected;
rendering the web page by each web browser of the set of devices selected; and
for each of the set of devices selected, capturing one or more images of the web page as rendered by the set of devices selected; and
transmitting image test result data based on the one or more images captured to a third computer system to allow evaluation of the rendering of the web page by each of the set of devices selected.

### Claim 2 (depends on 1)

The method of claim 1 further comprising:
executing the program by the first computer system to perform:
providing data that includes structure and layout of a user interface to the second computer system to cause the second computer system to present the user interface to a user of the second computer system to allow the user to select, and the second computer system to send, a selection of the set of devices in the device farm to be tested for rendering a web page of the website.

### Claim 3 (depends on 2)

The method of claim 2 wherein:
providing data that includes structure and layout of a user interface to a second computer system further comprises:
providing data that includes structure and layout of a user interface to a second computer system to cause the second computer system to present the user interface to a user of the second computer system to allow the user to select and the second computer system to send (i) data identifying one or more web pages of a website to be tested and (ii) a set of devices in a device farm to be tested for rendering the web page of the website;
the method further comprising:
receiving the data identifying the one or more web pages of the website to be tested;
and utilizing a device service to coordinate:
activating a web browser on each of the set of devices selected;
rendering by each web browser by the set of devices selected each web page identified; and
for each of the set of devices selected, capturing one or more images of each web page as rendered by the set of devices selected; and
transmitting image test result data based on the one or more images captured to a third computer system to allow evaluation of the rendering of the web page by each of the set of devices selected.

### Claim 4 (depends on 1)

The method of claim 1 wherein the test result data comprises the one or more images captured and transmitting image test result data based on the one or more images captured to a third computer system to allow evaluation of the rendering of the web page by each of the set of devices selected comprises:
transmitting the image test result data to the third computer system to allow the third computer system to display the one or more images captures and to allow the user to evaluate the rendering of the web page by each of the set of devices selected.

### Claim 5 (depends on 1)

The method of claim 1 further comprising:
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; and
receiving the image-to-target comparison results data; and
wherein transmitting image test result data comprises:
transmitting the image-to-target comparison results data.

### Claim 6 (depends on 1)

The method of claim 1 wherein the third computer system is the same as the second computer system.

### Claim 7 (depends on 1)

The method of claim 1 further comprising executing a program by a first computer system that transforms the first computer system into a machine to perform:
detecting when any of the devices are unavailable to be utilized by the device service to coordinate the activating, rendering, and capturing; and
for each of the devices that are unavailable, performing one or more of the following processes:
restarting each unavailable device; and
reassigning the activating, rendering, and capturing from an unavailable device to an available device.

### Claim 8 (depends on 7)

The method of claim 7 further comprising executing a program by a first computer system that transforms the first computer system into a machine to perform:
validating that each device in the set of devices selected is available for the activating, rendering, and capturing.

### Claim 9 (depends on 1)

The method of claim 1 wherein the selection of-a set of devices is a selection of particular types of devices and not a selection of a particular device.

### Claim 10 (depends on 1)

The method of claim 1 wherein transmitting image test result data based on the one or more images captured to a third computer system to allow evaluation of the rendering of the web page by each of the set of devices selected comprises:
transmitting the one or more images to a third computer system to allow the third computer system to display each of the images and to allow the user to evaluate the rendering of each web page by each of the set of devices selected, wherein transmitting the one or more images to a third computer system comprises a member of a group consisting of:
transmitting the one or more images in an email; or
transmitting the one or more images with data to allow the third computer system to render the images in a browser of the third computer system.

### Claim 11 (depends on 1)

The method of claim 1 wherein transmitting image test result data based on the one or more images captured to a third computer system to allow evaluation of the rendering of the web page by each of the set of devices selected comprises:
transmitting one image per web page per device selected to the third computer system to allow the third computer system to display each image to allow the user to evaluate the rendering of the web page by each of the set of devices selected.

### Claim 12 (depends on 1)

The method of claim 1 further comprising:
executing the program by the first computer system that transforms the first computer system into a machine to perform:
providing data that includes structure and layout of a user interface to a second computer system to cause the second computer system to present the user interface to a user of the second computer system to allow the user to select and the second computer system to send (i) multiple identifiers of multiple web pages of the website to be tested and (ii) the set of devices in the device farm to be tested for rendering the multiple web pages of the website;
receiving the identifiers of the web pages of the website;
utilizing a device service to coordinate:
activating a web browser on each of the set of devices selected;
rendering by each web browser of the web pages by the set of devices selected; and
for each of the set of devices selected, capturing images of the web pages as rendered by the set of devices selected; and
transmitting the images to the third computer system to allow the third computer system to display each of the images and to allow the user to evaluate the rendering of the web pages by each of the set of devices selected.

### Claim 13 (depends on 1)

The method of claim 1 wherein the identifier is a uniform resource locator.

### Claim 14 (depends on 1)

The method of claim 1 wherein each web browser of each device is a member of a group consisting of: (i) an integrated web browser of the device or (2) or an embedded in an application of the device.

### Claim 15 (depends on 1)

The method of claim 1 wherein the set of devices comprise:
one or more members of a group consisting of: smart phones, tablet personal computers, laptop personal computers, and desktop personal computers;
one or more operating systems; and
one or more browser type applications.

### Claim 16 (depends on 1)

The method of claim 1 wherein the data identifying one or more web pages of a website to be tested comprises at least one member of a group consisting of (i) one or more identifiers of one or more web pages of a website to be tested or (ii) an identification of one or more web sites to be tested.

### Claim 17 (depends on 16)

The method of claim 16 wherein the one or more identifiers of one or more web pages of the website to be tested comprises one or more uniform resource locators of the one or more web pages.

### Claim 18

An apparatus comprising:
a first computer system, the first computer system comprising:
a processor; and
a memory, coupled to the processor, executing a program by the processor of the first computer system that transforms the first computer system into a machine to perform:
receiving from a second computer system a selection of a set of devices to be tested for rendering the web page of the website;
utilizing a device service to coordinate:
activating a web browser on each of the set of devices selected;
rendering the web page by each web browser of the set of devices selected; and
for each of the set of devices selected, capturing one or more images of the web page as rendered by the set of devices selected; and
transmitting image test result data based on the one or more images captured to a third computer system to allow evaluation of the rendering of the web page by each of the set of devices selected.

### Claim 19 (depends on 18)

The apparatus of claim 18 wherein the code is further executable by the processor for:
providing data that includes structure and layout of a user interface to the second computer system to cause the second computer system to present the user interface to a user of the second computer system to allow the user to select, and the second computer system to send, a selection of the set of devices in the device farm to be tested for rendering a web page of the website.

### Claim 20 (depends on 18)

The apparatus of claim 18 wherein the test result data comprises the one or more images captured and transmitting image test result data based on the one or more images captured to a third computer system to allow evaluation of the rendering of the web page by each of the set of devices selected comprises:
transmitting the image test result data to the third computer system to allow the third computer system to display the one or more images captures and to allow the user to evaluate the rendering of the web page by each of the set of devices selected.

### Claim 21 (depends on 18)

The apparatus of claim 18 wherein the code is further executable by the processor for:
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;
providing data that includes structure and layout of a user interface to a second computer system to cause the second computer system to present the user interface to a user of the second computer system to allow the user to select and the second computer system to send (i) data identifying one or more web pages of a website to be tested and (ii) a set of devices in a device farm to be tested for rendering the web page of the website; and
receiving the image-to-target comparison results data; and
wherein transmitting image test result data comprises:
transmitting the image-to-target comparison results data,
the system wherein the code is further executable by the processor for:
receiving the data identifying the one or more web pages of the website to be tested;
and utilizing a device service to coordinate:
activating a web browser on each of the set of devices selected;
rendering by each web browser by the set of devices selected each web page identified; and
for each of the set of devices selected, capturing one or more images of each web page as rendered by the set of devices selected; and
transmitting image test result data based on the one or more images captured to a third computer system to allow evaluation of the rendering of the web page by each of the set of devices selected.

### Claim 22 (depends on 1)

The system of claim 1 wherein the third computer system is the same as the second computer system.

### Claim 23 (depends on 18)

The system of claim 18 wherein the code is further executable by the processor for:
detecting when any of the devices are unavailable to be utilized by the device service to coordinate the activating, rendering, and capturing; and
for each of the devices that are unavailable, performing one or more of the following processes:
restarting each unavailable device; and
reassigning the activating, rendering, and capturing from an unavailable device to an available device.

### Claim 24 (depends on 23)

The system of claim 23 wherein the code is further executable by the processor for:
validating that each device in the set of devices selected is available for the activating, rendering, and capturing.

### Claim 25 (depends on 18)

The system of claim 18 wherein the selection of-a set of devices is a selection of particular types of devices and not a selection of a particular device.

### Claim 26 (depends on 18)

The system of claim 18 wherein transmitting image test result data based on the one or more images captured to a third computer system to allow evaluation of the rendering of the web page by each of the set of devices selected comprises:
transmitting the one or more images to a third computer system to allow the third computer system to display each of the images and to allow the user to evaluate the rendering of each web page by each of the set of devices selected, wherein transmitting the one or more images to a third computer system comprises a member of a group consisting of:
transmitting the one or more images in an email; or
transmitting the one or more images with data to allow the third computer system to render the images in a browser of the third computer system.

### Claim 27 (depends on 18)

The system of claim 18 wherein transmitting image test result data based on the one or more images captured to a third computer system to allow evaluation of the rendering of the web page by each of the set of devices selected comprises:
transmitting one image per web page per device selected to the third computer system to allow the third computer system to display each image to allow the user to evaluate the rendering of the web page by each of the set of devices selected.

### Claim 28 (depends on 18)

The system of claim 18 wherein the code is further executable by the processor for:
providing data that includes structure and layout of a user interface to a second computer system to cause the second computer system to present the user interface to a user of the second computer system to allow the user to select and the second computer system to send (i) multiple identifiers of multiple web pages of the website to be tested and (ii) the set of devices in the device farm to be tested for rendering the multiple web pages of the website;
receiving the identifiers of the web pages of the website;
utilizing a device service to coordinate:
activating a web browser on each of the set of devices selected;
rendering by each web browser of the web pages by the set of devices selected; and
for each of the set of devices selected, capturing images of the web pages as rendered by the set of devices selected; and
transmitting the images to the third computer system to allow the third computer system to display each of the images and to allow the user to evaluate the rendering of the web pages by each of the set of devices selected.

### Claim 29 (depends on 18)

The system of claim 18 wherein the identifier is a uniform resource locator.

### Claim 30 (depends on 18)

The system of claim 18 wherein each web browser of each device is a member of a group consisting of: (i) an integrated web browser of the device or (2) or an embedded in an application of the device.

### Claim 31 (depends on 18)

The system of claim 18 wherein the set of devices comprise:
one or more members of a group consisting of: smart phones, tablet personal computers, laptop personal computers, and desktop personal computers;
one or more operating systems; and
one or more browser type applications.

### Claim 32 (depends on 18)

The system of claim 18 wherein the data identifying one or more web pages of a website to be tested comprises at least one member of a group consisting of (i) one or more identifiers of one or more web pages of a website to be tested or (ii) an identification of one or more web sites to be tested.

### Claim 33 (depends on 32)

The system of claim 32 wherein the one or more identifiers of one or more web pages of the website to be tested comprises one or more uniform resource locators of the one or more web pages.

### Claim 34

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 from a second computer system a selection of a set of devices to be tested for rendering the web page of the website;
utilizing a device service to coordinate:
activating a web browser on each of the set of devices selected;
rendering the web page by each web browser of the set of devices selected; and
for each of the set of devices selected, capturing one or more images of the web page as rendered by the set of devices selected; and
transmitting image test result data based on the one or more images captured to a third computer system to allow evaluation of the rendering of the web page by each of the set of devices selected.

### Claim 35

A client computer system comprising:
a processor; and
a memory, coupled to the processor, that includes a program executable by a processor of the client computer system to perform:
launching a user interface to cause the client computer system to present the user interface to a user of the client computer system to allow the user to select and the client computer system to send (i) multiple identifiers of multiple web pages of the website to be tested and (ii) the set of devices in the device farm to be tested for rendering the multiple web pages of the website;
sending to a first computer system a selection of a set of devices to be tested for rendering the web page of the website, wherein the first computer system utilizes a device service to coordinate:
activating a web browser on each of the set of devices selected;
rendering the web page by each web browser of the set of devices selected; and
for each of the set of devices selected, capturing one or more images of the web page as rendered by the set of devices selected; and
receiving image test result data based on the one or more images captured to a third computer system to allow evaluation of the rendering of the web page by each of the set of devices selected.
