Shotnest · Library
Treat an empty token comparison as unavailable
Two empty inputs are exactly equal, yet token overlap stays Not available because there are no tokens to divide; a blank field is a missing reading.
Equality and overlap answer different questions
The comparison tool reports three things. Exactly equal compares the raw strings, and two empty strings are equal. Equal after normalization compares the folded, whitespace-collapsed versions, also equal here. Token overlap divides shared distinct tokens by all distinct tokens; with zero tokens on both sides that is 0 ÷ 0, so the tool returns no figure instead of inventing 0 or 1.
A field holding only spaces behaves almost the same. It is not exactly equal to an empty field, because the raw strings differ, but after normalization both are empty and the overlap is again unavailable.
The overlap only becomes a number once one side has a token. An empty first text against red blue gives 0, with red and blue listed only in the second text.
Try the original example
- First text
- (empty)
- Second text
- (empty)
- Exactly equal
- Yes
- Equal after normalization
- Yes
- Token overlap
- Not available
When a comparison comes back empty
- Check that both boxes actually contain the text you meant to paste.
- If the text came from a screenshot, open it in Shotnest and look at the Text section.
- If the app shows No text found in this screenshot, there was nothing to read rather than nothing different.
- Compare again once both sides contain words.
- Two spaces vs empty · Exactly equal
- No
- Two spaces vs empty · Equal after normalization
- Yes
- Two spaces vs empty · Token overlap
- Not available
Misreadings to avoid
- Treating Exactly equal = Yes on empty inputs as evidence that two screenshots match.
- Reading Not available as zero similarity.
- Forgetting that a photo with no visible text, or text in a script the iPhone cannot read yet, also produces an empty reading.
- Pasting a field that holds only a tab or line break; it normalizes to nothing, so the overlap again stays unavailable.
An empty input carries no evidence
The tool refuses to put a number on nothing. When one or both sides are empty, the next step is to look at the source image, not to trust either equality line.
Shotnest's cleanup has its own guard for short readings: when either screenshot has fewer than 20 characters of text, their words are not compared at all and the finer 256-bit picture fingerprint decides instead.