Understanding and avoiding visually ambiguous characters in IDs
Use of Words vs. Alphanumerics for IDs
- Some argue that when IDs are encodings of integers/bytes, representing them as words can aid memorization and verbal transmission and allow richer error detection.
- Others note big drawbacks: much lower encoding density (IDs become far longer), need to curate huge wordlists (avoid phonetic similarity, subwords, offensive terms, obscure words), and accent‑dependent ambiguity.
- Examples of curated wordlists (PGP, s/key, BIP‑39) are cited; several commenters find them verbose or culturally biased.
- what3words is discussed as a related system: criticized for phonetic confusion (misheard addresses), proprietary control, and legal threats; some see it as inappropriate for something that behaves like core infrastructure.
Character-Set Design and Normalization
- Many favor reducing the alphabet by removing visually ambiguous characters (0/O, 1/l/I, rn/m, cl/d, etc.), sometimes also vowels to avoid accidental obscenities.
- Others propose keeping a larger alphabet but normalizing lookalikes to a single internal value (e.g., map |Il1 to “1”) to retain capacity without user-visible ambiguity.
- Various encodings are mentioned: Crockford Base32, z‑base‑32, Bitcoin Base58/Base32, custom “base24/base32” schemes, all trying to balance compactness, readability, and ambiguity handling.
- Checksums and structured formats (IBAN, coupon codes, error‑detecting serials) are highlighted as crucial additional defenses.
- Grouping characters (with spaces or hyphens) and avoiding long runs of the same symbol are seen as important usability improvements.
Fonts, Handwriting, and UI Choices
- Many problems arise from specific fonts (e.g., some render l/I identically) and regional handwriting styles (1 vs 7, 1 vs A, 9 vs g, n vs u), leading to cross‑cultural misreadings.
- Suggestions include: using hyperlegible or specialized fonts, slashed zeros and crossed sevens, or FE‑Schrift‑like approaches; others warn some fonts optimize for machine, not human, readability.
- Interfaces that disable ambiguous keys (e.g., game consoles) and password managers that color‑code character classes are praised, though colorblind users sometimes find color‑heavy cues problematic.
Spoken Transmission and Phonetics
- NATO phonetic alphabet is recommended for spelling, but many users and non‑English speakers don’t know it, and accents create confusable pairs (F/S, B/P, D/T, M/N, etc.).
- Word‑based or “speakable” IDs must handle homophones and dialects; getting untrained users to reliably convey codes by voice remains described as largely unsolved.