Length, tone, and the apology lint: a practical pass

Three checks that catch most weak interface copy: is it longer than it needs to be, does the tone match the moment, and is it apologising for something that is not the product's fault?

Microcopy gets reviewed by feel, which means it gets argued about in comments and shipped unchanged. Three mechanical checks resolve most of it.

Length

An empty state can afford two sentences. An error can afford two. A confirmation can afford one. A tooltip can afford about ten words. If it runs longer, it is usually explaining a concept that belongs in the docs — or it is hedging.

Tone

Tone has to match the stakes. A deleted-record confirmation should be flat and specific. A first-run empty state can be warmer. An error should be calm and factual. The failure is tone drift — one writer's enthusiasm left in a destructive-action dialog, or a jest in a payment failure.

Apology

Apologise when the product failed. Do not apologise for a state that is normal, a constraint the user can work around, or a condition the user created deliberately. Sorry, no results for an empty search is an apology for the user's own query.

EmptyKit runs these three as lint rules over the pack it generates and reports the lines that trip them. It does not rewrite your brand voice — it surfaces where the copy contradicts itself.

← Back to blog

Questo risultato è stato utile?Commenti