Warm but direct. An expert peer explaining something clearly and then stopping.
Every string below is written for Fieldnote, the shared example product, so
voices can be compared line for line.
1. Voice attributes
Five attributes, each with the same idea written in voice and out of voice.
Warm but direct
Care about the reader, but do not pad sentences to seem kind. Directness is the warmth.
In voiceThis will delete 3 projects and everything in them.
Out of voiceWe're really sorry, but we just wanted to make sure you know this action might unfortunately remove some of your content!
Substantive over stylish
Say the thing, then stop. The second sentence usually serves the writer.
In voiceSaved.
Out of voiceSuccess! Your changes have been saved successfully.
Plain words for ordinary things
Use the word the reader would use, unless a longer one is genuinely more precise.
In voiceYou can't undo this.
Out of voiceThis operation is non-reversible.
Never prescriptive without cause
Instruct only when there is exactly one correct next step. Otherwise name the options.
In voiceTwo projects have the same name. Rename one, or merge them.
Out of voiceYou should rename your project to avoid confusion.
Honest about failure
Say what broke, whose fault it was, and what happens next.
In voiceWe couldn't save your note. It's still here — try again in a moment.
Out of voiceSomething went wrong.
2. Style rules
Decidable without judgement. A rule you have to interpret is a preference.
Rule
Decision
Headings, buttons, labels, nav
Sentence case. Only proper nouns and acronyms capitalised.
Voice
Active. We couldn't save your note, not your note could not be saved.
Tense
Present.
Person
You for the reader. We only when the product acted or failed. Never I.
Contractions
Yes — can't, don't, we'll.
Serial comma
Always.
Numbers
Numerals everywhere, including 1–9. UI is scanned, not read.
Dashes
Em dash, unspaced. Never --, never a spaced hyphen.
Quotation marks
Curly. Commas and periods inside, US English.
Terminal punctuation
Sentences take a period. Fragments, labels, buttons and list items do not.
Exclamation marks
None. Not one.
Emoji
None in product UI.
3. Buttons and calls to action
Primary action
Create projectSave changesSend invitations
In progress, then done
SavingSaved
No ellipsis on the in-progress label — the spinner already says it is working.
Cancel and dismiss
CancelNot nowClose
Cancel is the one button allowed to have no object.
Destructive
Delete projectDelete 3 notesRemove collaborator
The count goes in the label. A reader should never have to look elsewhere to know the scope.
Navigational CTA
Read the setup guideSee all projects
Never Click here, never Learn more on its own.
Disabled, with its tooltip
Send invitations
Tooltip: Add at least one email address first
4. Menu items, nav labels, page titles
Nav labelsProjects · Notes · Collaborators · Activity · Settings
Menu items, including a destructive oneDuplicate projectMove to workspaceDelete project
Page titlesList: ProjectsDetail: Field interviews, MarchSettings: Project settingsNoun phrases. The detail title is the thing's own name, not Project detail.
5. Labels, help text, placeholders
The label names the field. The help text explains format or consequence. Neither repeats the other.
Field with help textProject nameCollaborators see this name
Field with format helpRetention periodNotes are deleted after this many days. Leave empty to keep them indefinitely
Field with a consequenceWorkspace URLChanging this breaks existing links
Placeholder used correctlyEmail addressPlaceholder: rosa@example.comAn example of a valid value — never an instruction, never the label again.
Required fieldProject name (required)The word, not an asterisk. See shared/ACCESSIBILITY.md.
6. Validation and errors
Each says what happened and what to do. A message that only reports the failure has answered half the prompt.
Required field left emptyEnter a project name.
Malformed valueThat doesn't look like an email address. Check for a missing @.
Valid but rejectedYou already have a project called “Field interviews”. Pick another name.
Whole-form failureWe couldn't create the project. Two fields need attention — they're marked below.
Warning, not an errorThis project has no collaborators. You can add them later.
7. Empty states
Three different situations. Writing one sentence for all three is the common failure.
First run — nothing has ever existedNo projects yetA project holds related notes and the people working on them.
Create a project
Filtered to nothingNo notes match “interview”Try a shorter search, or clear the date filter.
Clear filters
Cleared by the user — a success, not a voidArchive is emptyYou've cleared everything. Archived notes will show up here.
8. Loading, saving, progress
Initial loadLoading projects
Save in progressSaving
Long operation with an estimateExporting 1,240 notes. About 2 minutes.
Background job the user can leaveWe're importing your notes. You can close this — we'll email you when it's done.
9. Page-level failures
Heading, one sentence of explanation, one recovery action.
Not foundWe can't find that projectIt may have been deleted, or the link may be wrong.
See all projects
Permission deniedYou don't have access to this projectAsk its owner, Rosa Alvarez, to add you.
Request access
Server errorSomething broke on our endYour notes are safe. We've been notified and we're looking at it.
Try again
OfflineYou're offlineYour changes are saved on this device and will sync when you reconnect.
Rate or quota limitYou've hit the export limitYou can export 10 times an hour. Try again at 3:40 pm.
10. Confirmation dialogs
The title names the consequence. Buttons restate the verb — never Yes/No, never OK.
Destructive and irreversibleDelete 3 projects?This also deletes 412 notes inside them. You can't undo this.
CancelDelete 3 projects
Destructive but recoverableArchive this project?Collaborators lose access until you restore it. Nothing is deleted.
CancelArchive project
Benign — and whether this voice would skip itDiscard your draft?You've written 40 words that haven't been saved.
Keep editingDiscard draft
plain-spoken would skip this if the draft were autosaved. A confirmation
the product does not need is a sentence the reader did not need.
11. Toasts
SuccessProject created
FailureCouldn't send invitations. Try again.
Undoable3 notes deleted · Undo
Queued or deferredExport queued. We'll email you the file.
12. Callouts and inline notices
InformationalNotes sync every few secondsYou don't need to save.
CautionaryThis workspace is nearly fullYou're using 9.2 GB of 10 GB. New notes will stop saving at the limit.
BlockingYour trial ended yesterdayYour notes are safe and read-only. Add a payment method to start editing again.
13. First run and feature introduction
WelcomeWelcome to FieldnoteCollect research notes, group them into projects, and share them with your team.
Three-step setup1 Name your workspace2 Create your first project3 Invite the people you work with
Empty workspace promptYour workspace is readyStart with a project — it's where notes live.
Create project
Introducing an unused featureTags let you pull notes across projects. Add one from any note's menu.
14. Transactional messages
Subject line, then the first sentence. Subject lines are their own discipline.
InvitationRosa added you to Field interviewsYou can now read and edit the 68 notes in this project.
MentionRosa mentioned you in a noteShe asked about the March interview transcripts.
Weekly digestFieldnote: 24 new notes this weekMost of the activity was in Field interviews and Pricing research.
Expiry or billing warningYour trial ends in 3 daysAfter that your notes stay safe but become read-only.
15. Microcopy
The zero and one cases are where voices quietly break, so they are written out here.
Situation
String
Just now
Just now
Recent
12 minutes ago
Yesterday
Yesterday at 4:15 pm
Older
14 March 2026
Count — zero
No notes
Count — one
1 note
Count — many
412 notes
File size
2.4 MB
Overflow
Rosa, Amir, and 3 more
Truncation
+3 more
Consent line
By creating an account you agree to our terms and privacy notice.
16. Preferred and forbidden terms
Use
Not
delete
remove, trash, discard, destroy
sign in / sign out
log in, login, logout
settings
preferences, options, configuration
note, project, collaborator
item, entity, resource, asset
workspace
organisation, tenant, account
can't
cannot, is unable to
try again
retry, re-attempt
turn on / turn off
enable, disable, activate
use
utilise, leverage
Strike on sight
Delete on sight and say the thing plainly. No exceptions clause.
simply and just tell readers that what they are
struggling with is trivial. easy promises an experience you cannot guarantee —
say what it takes instead: “two steps”, “about a minute”.
17. Writing antipatterns
“Oops!” or “Uh oh!” — cutesy framing of a failure the reader did not find cute
“Something went wrong.” — true and useless; name the thing
“Please note that…” — always deletable, as is “Please be aware that”
“Simply click…” / “Just add…” — see the strike list
“We're excited to announce…” — spends the reader's attention on your feelings
“Are you sure?” as a dialog title — asks about their state of mind, not the consequence
“Success!” standing alone — say what succeeded
“Invalid input” — names the verdict, not the problem or the fix
Hedging stacks — “you may want to consider possibly”
Rhetorical questions as headings — “Ready to get started?”
18. Do and don't
DoDelete 3 projects?
Don'tAre you sure?
DoThat doesn't look like an email address. Check for a missing @.
Don'tInvalid input.
DoWe couldn't save your note. It's still here — try again in a moment.
Don'tOops! Something went wrong.
DoCreate your first project
Don'tReady to get started? Simply click here to begin your journey!
DoYou're using 9.2 GB of 10 GB. New notes will stop saving at the limit.
Don'tYour workspace is approaching capacity. Please consider upgrading to unlock more storage.
DoProject created
Don'tSuccess! Your new project has been created successfully.
Length budgets
A design can rely on these when sizing a region: button ≤ 20 characters,
field label ≤ 30, toast ≤ 40, page title ≤ 40, empty-state heading ≤ 40, tooltip ≤ 60,
notification subject ≤ 60, help text ≤ 90, error ≤ 120, empty-state body ≤ 140.
plain-spoken runs short, which makes it safe in dense designs. The full table is in
VOICE.md.