# US 2025/0094702 A1 · System and method for comparing versions of html documents in a proofing interface

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

- Number: US 2025/0094702 A1
- Document ID: US20250094702A1
- Status: Published application
- Kind: A1
- Application number: 18/965,681
- Filed: 2024-12-02
- Published: 2025-03-20
- Earliest claimed: 2021-05-12
- Inventors: Justin Khoo
- Web page: https://patentgrep.com/patent/US20250094702A1

## CPC

- G06F 40/197: Version control (for software G06F8/71)
- G06F 3/0481: based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F 40/143: Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
- G06F 40/169: Annotation, e.g. comment data or footnotes
- G06F 40/194: Calculation of difference between files
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Embodiments of a system and method for comparing multiple versions of HTML documents in a proofing interface. The system allows users to compare different versions of a document, highlighting changes in textual and graphical content, and managing comments and annotations across revisions. Users can toggle between different display modes, such as mobile and desktop views, and initiate comparisons between document versions through an interactive control interface. The system is particularly suited for collaborative environments where document revisions are frequent, and accurate tracking of changes is essential. Embodiments of an interface allowing annotations such as pins or comments to be placed persistently in a document, whether a document is displayed with or without highlights that might otherwise cause the annotation to change position. Embodiments of the present invention generally relate to the comparison of multiple HTML documents in a user interface. The HTML documents may comprise web pages, emails, or other forms of documents. A user interface presents differences between the documents in a way that is visible to the user.

## Claims

### Claim 1

A method for comparing versions of HTML documents in a proofing interface, comprising:
displaying a preview window displaying a version of a document containing a plurality of versions of a document, the plurality of versions containing at least an early version and a later version, wherein the later version is a revision of the early version;
displaying a list of comments on the proofing interface, the list of comments containing at least a first comment associated with the early version and a second comment associated with the later version; and
displaying a comparison control element on the first comment wherein a user action of the comparison control element will display a comparison page, the comparison page containing a first comparison window displaying the early version of the document and a second comparison window displaying the later version of the document.

### Claim 2 (depends on 1)

The method of claim 1,
wherein the preview window contains a plurality of preview mode controls displaying characteristics within the preview window and associating a first preview mode metadata with the first comment wherein the first preview mode metadata reflects preview mode selections by a user when the first comment was recorded; and
setting the preview mode of the first comparison window and of the second comparison window to the first preview mode to reflect the display characteristics associated with the first preview mode.

### Claim 3 (depends on 2)

The method of claim 2,
wherein the display preview mode has dark mode on, wherein the display characteristic involves at least a partial inversion of some colors of a document, and at least partially inverting the colors of the document in both the first comparison window and the second comparison window.

### Claim 4 (depends on 2)

The method of claim 2,
wherein, when a display preview mode mobile view is on, the display characteristic involves shrinking the preview window displaying a document to a preset mobile dimension from a default dimension; and at least shrinking both first and second comparison window to the mobile dimension.

### Claim 5 (depends on 2)

The method of claim 2,
wherein, when a display preview mode mobile view is on, the display characteristic involves shrinking the preview window displaying a document to a preset mobile dimension from a default dimension; and at least shrinking both first and second comparison window to the mobile dimension.

### Claim 6 (depends on 1)

The method of claim 1,
wherein the first comment is an annotation wherein a point has been recorded on a specific location on a rendered document in the preview window, the first comment also containing comment text; and
loading the first comparison window with the first version having the document on first version being taller than the first comparison window and the specific location of the annotation located at a location outside the comparison window;
automatically scrolling the window where the annotation location is visible; and
displaying a visual marker on the location, the second comparison window also scrolling by same proximate distance as first comparison window.

### Claim 7 (depends on 6)

The method of claim 6, where the visual marker is highlighted by an animation.

### Claim 8 (depends on 6)

The method of claim 6, where a text area is shown next to a pin containing the comment text.

### Claim 9

A method for annotating a document in a proofing interface that allows temporary highlights, comprising:
receiving an indication from a user that an element of the document is a highlight element;
determining a target element, the target element comprising a nearest non-highlight parent element of the highlight element;
determining coordinates of an annotation, relative to boundaries of the target element;
building an XPath to the target element, where the XPath is a representation of a location of an element within a hierarchical structure of the document; and
using the determined coordinates and the XPath to render the annotation at a desired location in the proofing interface, thus allowing the annotation to be persistently located on the document whether or not the document is displayed with highlights.

### Claim 10 (depends on 9)

The method of claim 9, wherein the interface includes a toggle that allows a user to indicate whether the document should be viewed with or without highlights, while still persistently displaying the annotation.

### Claim 11

A method to compare a first and a second hypertext markup language (HTML) documents, comprising:
identifying a plurality of hierarchical chunks in the two HTML documents a hierarchy of chunks having at least a leaf chunk and a non-leaf chunk where the leaf chunk is within the non-leaf chunk;
rendering the two HTML documents and displaying the rendered documents on a user interface, the rendered documents including rendering of the identified plurality of chunks;
repeating the following until a current chunk in one of the two HTML documents is a non-leaf chunk;
comparing a current chunk in the first HTML document to a current chunk in the second HTML document to determine a string similarity score for the current chunks to determine if the compared chunks are matched leaf chunks;
visually highlighting, on the user interface, matched leaf chunks containing differing content; and
visually highlighting, on the user interface, differing text within matched leaf chunks.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
preprocessing child elements of a hierarchical HTML elements of the two HTML documents, wherein at least one child element is modified to enhance the comparing.

### Claim 13 (depends on 12)

The method of claim 12, wherein the preprocessing comprises:
preprocessing different width containers in the two HTML documents.

### Claim 14 (depends on 12)

The method of claim 12, wherein the preprocessing comprises:
preprocessing image elements in the two HTML documents.

### Claim 15 (depends on 12)

The method of claim 12, wherein the preprocessing comprises:
preprocessing the two HTML documents to obtain computed element dimensions for the rendered documents.

### Claim 16 (depends on 12)

The method of claim 12, wherein the preprocessing comprises:
preprocessing the two HTML documents to determine native image dimensions.

### Claim 17 (depends on 12)

The method of claim 12, wherein the preprocessing comprises:
preprocessing the two HTML documents to modify background images.

### Claim 18

A system having a user interface, comprising:
a data processing system displaying the user interface, the user interface comprising:
a first area to display a first rendered HTML document;
a second area to display a second rendered HTML document;
a first user input area to receive user input indicating that high-level portions of the rendered HTML documents that differ should be highlighted; and
a second user input area to receive user input indicating that text of the rendered HTML documents that differ should be highlighted.

### Claim 19 (depends on 18)

The system of claim 18, in which the user interface further comprises:
a third user input area to receive user input indicating that a mobile view of the rendered HTML documents should be displayed.

### Claim 20 (depends on 18)

The system of claim 18, wherein the rendered HTML documents in the user interface are displayed to highlight differences within matching containing blocks in at least one of:
a. text content in the rendered HTML documents, or
b. image content in the rendered HTML documents,
wherein containing blocks comprise a rectangular element that contains HTML content.
