# US 12,223,255 B2 · Reading assistant in a browser environment

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

- Number: US 12,223,255 B2
- Document ID: US12223255B2
- Status: Granted
- Kind: B2
- Application number: 17/931,283
- Filed: 2022-09-12
- Published: 2024-03-14
- Granted: 2025-02-11
- Earliest claimed: 2022-09-12
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Abigail Beth Klein; Joel Christopher Riley
- Web page: https://patentgrep.com/patent/US12223255B2

## CPC

- G06F 40/103: Formatting, i.e. changing of presentation of documents (automatic justification G06F40/189; automatic line break hyphenation G06F40/191)
- G06F 40/109: Font handling; Temporal or kinetic typography
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 3/0485: Scrolling or panning
- G06F 16/904: Browsing; Visualisation therefor (for navigating the web G06F16/954; browsing optimisation for the web G06F16/957)
- G06F 40/40: Processing or translation of natural language (natural language analysis G06F40/20; semantic analysis G06F40/30)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A reading assistant tool implemented in a browser application facilitates the presentation of text content in a manner and format that addresses the reading and/or comprehension capabilities of individual users, while maintaining the context of the original content. The reading assistant tool outputs a reader view pane alongside a main content pane. Original content is presented in the main content pane, and simplified/reformatted content corresponding to text content extracted from the original content, is presented in the reader view pane. Scrolling of the extracted text content in the reader view pane is synchronized with scrolling of the original content in the main content pane, so that context is maintained as the user moves through the content. The concurrent presentation of the original content and the extracted text content allows the user to more easily consume the extracted text content, while also maintaining context as originally intended.

## Claims

### Claim 1

A computer-implemented method, comprising:
extracting, by a text extraction module of a browser application executing on a computing device, text content included in browser content displayed by the browser application, the browser content including the text content and at least one of image content, tabular content, links, input fields, or browser control devices;
generating modified text content based on the extracted text content;
rendering, by the browser application, a reader view, including:
rendering a first content pane displaying the browser content including the text content and additional content, the additional content including at least one of the image content, tabular content, links, input fields, or browser control devices; and
rendering a second content pane beside the first content pane, the second content pane displaying the modified text content and omitting the additional content included in the browser content;
providing, for display on a display device of the computing device, the reader view including the second content pane beside the first content pane; and
synchronizing a scrolling of the browser content including the text content and the additional content in the first content pane with a scrolling of the modified text content in the second content pane in response to a scroll input detected at one of the first content pane or the second content pane, including:
associating a first bounding box assigned to a text element and the additional content in the browser content displayed in the first content pane with a second bounding box assigned to a corresponding text element in the modified text content displayed in the second content pane;
anchoring the second bounding box with the first bounding box; and
synchronizing the scrolling based on the anchoring of the second bounding box with the first bounding box such that the modified text content displayed in the second content pane remains anchored with the corresponding text content and additional content displayed in the first content pane during the scrolling.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein generating the modified text content includes at least one of:
modifying a format of the extracted text content in accordance with previously stored user settings related to displaying of the modified text content in the second content pane; or
modifying the format of the extracted text content in response to a user input detected at a reading assistant toolbar of the browser application.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, wherein modifying the format of the extracted text content includes modifying at least one of a font type, a font size, a font color, a background color, a pitch, or a line spacing of the extracted text content.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, further comprising:
rendering, by the browser application, the browser content;
analyzing, by a reading assistant module of the browser application, the browser content; and
determining that the browser content is associated with a distillable page in response to detection of extractable text content in the browser content.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, further comprising launching a reading assistant tool, including at least one of:
launching the reading assistant tool in response to determining that the browser content is associated with the distillable page; or
launching the reading assistant tool in response to a user input selecting the reading assistant tool from a browser application menu.

### Claim 6 (depends on 4)

The computer-implemented method of claim 4, further comprising:
determining that the browser content is associated with a non-distillable page;
detecting a user input selecting a section of text content from the browser content; and
launching a reading assistant tool in response to a user input selecting the reading assistant tool from a browser application menu.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, wherein generating the modified text content includes generating the modified text content based on the section of text content selected by the user input.

### Claim 8

A non-transitory computer-readable medium storing instructions that, when executed by at least one processor of a computing device, cause the at least one processor to:
extract, by a text extraction module of a browser application executing on the computing device, text content included in browser content displayed by the browser application, the browser content including the text content and additional content, the additional content including at least one of image content, tabular content, links, input fields, or browser control devices;
generate modified text content based on the extracted text content;
render a reader view for display of the browser content together with the modified text content by the browser application, including:
render a first content pane displaying the browser content including the text content and the additional content; and
render a second content pane beside the first content pane, the second content pane displaying the modified text content and omitting the additional content included in the browser content;
provide, for display on a display device of the computing device, the reader view including the first content pane and the second content pane; and
synchronize a scrolling of the browser content, including the text content and the additional content in the first content pane, with a scrolling of the modified text content in the second content pane, in response to a scroll input detected at one of the first content pane or the second content pane, including:
associate a first bounding box assigned to a text element and the additional content included in the browser content displayed in the first content pane with a second bounding box assigned to a corresponding text element in the modified text content displayed in the second content pane;
anchor the second bounding box with the first bounding box; and
synchronize the scrolling based on the anchoring of the first bounding box and the second bounding box such that the modified text content displayed in the second content pane remains anchored with the corresponding text content and additional content displayed in the first content pane during the scrolling.

### Claim 9 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein the instructions cause the at least one processor to:
detect previously stored user settings related to displaying of the modified text content in the second content pane;
modify a format of the extracted text content in accordance with the previously stored user settings;
detect a user input at a reading assistant toolbar of the browser application; and
modify the format of the extracted text content in response to the user input detected at the reading assistant toolbar.

### Claim 10 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein the instructions cause the at least one processor to:
render, by the browser application, the browser content;
analyze, by a reading assistant module of the browser application, the browser content; and
determine that the browser content is associated with a distillable page in response to detection of extractable text content in the browser content.

### Claim 11 (depends on 10)

The non-transitory computer-readable medium of claim 10, wherein the instructions cause the at least one processor to launch a reading assistant tool, including at least one of:
launch the reading assistant tool in response a determination that the browser content is associated with the distillable page; or
launch the reading assistant tool in response to a user input selecting the reading assistant tool from a browser application menu.

### Claim 12 (depends on 10)

The non-transitory computer-readable medium of claim 10, wherein the instructions cause the at least one processor to:
determine that the browser content is associated with a non-distillable page;
detect a user input selecting a section of text content from the browser content; and
launch a reading assistant tool in response to a user input selecting the reading assistant tool from a browser application menu.

### Claim 13 (depends on 12)

The non-transitory computer-readable medium of claim 12, wherein the instructions cause the at least one processor to generate the modified text content based on the section of text content selected by the user input.

### Claim 14 (depends on 8)

The non-transitory computer-readable medium of claim 8, wherein the instructions cause the at least one processor to modify at least one of a font type, a font size, a font color, a background color, a pitch, or a line spacing of the extracted text content.

### Claim 15

A computing system, comprising:
a processor;
a display; and
a memory storing instructions that, when executed by the processor, cause a browser application executing on the computing system to perform operations, including:
extracting, by a text extraction module of the browser application, text content included in browser content displayed on the display, the browser content including the text content and additional content, the additional content including at least one of image content, tabular content, links, input fields, or browser control devices;
generating modified text content based on the extracted text content;
rendering a reader view for display of the browser content together with the modified text content, including:
rendering a first content pane displaying the browser content; and
rendering a second content pane beside the first content pane, the second content pane displaying the modified text content and omitting the additional content included in the browser content;
providing, for display on the display, the reader view including the first content pane and the second content pane; and
synchronizing a scrolling of the browser content including the text content and the additional content in the first content pane with a scrolling of the modified text content in the second content pane in response to a scroll input detected at one of the first content pane or the second content pane including:
associating a first bounding box assigned to a text element and the additional content included in the browser content displayed in the first content pane with a second bounding box assigned to a corresponding text element in the modified text content displayed in the second content pane;
anchoring the second bounding box with the first bounding box; and
synchronizing the scrolling based on the anchoring of the second bounding box with the first bounding box such that the modified text content displayed in the second content pane remains anchored with the corresponding text content and additional content displayed in the first content pane during the scrolling.
