C6.24.3Disabling auto-format for names and codedesignresearch

Auto-formatting often backfires on proper names and code and needs an off switch

Aliases: turn off auto-format · camelCase · brand capitalization

What it is

Brand names (iPhone, eBay), particles in personal names, and programming identifiers (getID, file_v2) depend on exact case and punctuation. Autocapitalization and smart punctuation rewrite them to look “more like a sentence,” so names and code in those fields are regularly damaged. Such fields need formatting that can be turned off, and off should be the default, rather than a master switch buried in system settings. What is turned off here is case and punctuation rules, not dictionary correction—correction stops swapping words; the format switch stops reshaping them.

Why it happens

Case is part of a name's identity: iPhone and Iphone can be different strings in search, license checks, and APIs. Code is equally sensitive to quote type, hyphen versus dash, and space kind. Auto-format optimizes for “written-language polish,” the opposite objective. A system-wide switch cannot follow per-field semantics: the same keyboard wants curly quotes in a chat bubble and not in the code block underneath. If the off switch exists only in OS settings, an app field cannot be exempted; users either endure it or disable formatting for the whole device and hurt prose.

Studying it

Build a list of deliberately irregular names and identifiers, type them in fields with default formatting on versus off, and record rewrite rate and time-to-notice. Test in-app per-field switches separately from the system master: when a per-field switch exists, does the prose region still format? Do not use misspelling materials, which would mix the study with autocorrect.

Where it stops holding

An address book that “displays names by language rules” should still store the case the user typed and format only in the presentation layer. Markdown preview turning asterisks into bold is rendering, not a buffer rewrite; keep them apart. User-invoked snippet expansion is an explicit command, not silent formatting, though it should remain editable. Legal templates that require a fixed quote style may force format in the app if they say so in the UI rather than hiding it in the keyboard.

Applying it

  • Default autocaps and smart punctuation off on username, brand, code, query-parameter, and regex fields.
  • Place the off control near the field or on the keyboard accessory bar, not only as a pointer to system settings.
  • When focus moves from chat to a code block, switch these rules automatically and restore them on the way back.
  • Verify by typing iPhone, eBay, getID, and it's (straight quote required in code) and confirming identifier-field bytes do not change, while an adjacent prose field still sentence-caps.

Related

  • Same group: C6.24.1 Autocapitalization assumes English sentence boundaries and misfires in other settings · C6.24.2 Auto-formatting changes already-typed content without the user noticing · C6.24.4 Automatic changes must be visible and undoable in one step, or people will wonder whether they mistyped
  • Adjacent: C6.11 Autocorrect · C6.07 Keyboard types and task fit
  • Search: disable autocapitalization · camelCase · smart punctuation off

Cards in the same group

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/handbook/C6.24.3