How To Achieve Superior Change Highlighting?

If you're coming here from the tools comparison page, you've seen that TreeDiff excels in move detection compared to other comparison algorithms.

TreeDiff's superior performance stems from its ability to consider document structure, the hierarchy of content under headings and sub-headings. This structural understanding allows TreeDiff to accurately detect changes, leading to clearer redlines.

The structural awareness is the reason behind the name "TreeDiff." If you haven't already, explore TreeDiff's capabilities for yourself on the tools comparison page.

By adding information about structural hierarchy to your documents, you can leverage TreeDiff's capabilities to achieve superior change highlighting, saving your customers time and headaches.

To understand this better, let's examine the example document from the comparison page:

Responsibilities
Software Development Responsibilities
i. deliver the software design specifications within 150 days from the effective date of this agreement.
ii. provide the initial version of the software functionalities for integration with the hardware product within [W] weeks from the approval of the design specifications.
iii. provide regular progress updates, including any delays or obstacles encountered, on a monthly basis.
Hardware Development Responsibilities
....

In traditional comparison tools, moving the section "Hardware" before "Software" results in a cluttered redline, as they only perceive documents as flat lists of text.

However, when passing TreeDiff structural information about the document, it can identify such moves accurately, even if section headings themselves change.

This is done by encoding content depth information in the documents sent for comparison. Below is an example of what this can look like for the sample document:

[
{"depth": 1, "value": "Software Development Responsibilities" },
{"depth": 2, "value": "deliver the software design specifications ..." },
{"depth": 2, "value": "provide the initial version ..." },
{"depth": 2, "value": "provide regular progress updates ..." },
{"depth": 1, "value": "Hardware Development Responsibilities" },
...
]
Support for styles and rich-text omitted for simplicity

We're here to assist you in preparing your software tools to encode content depth and achieve the best possible redline.