Short answer

A delete confirmation should name what will be deleted, say what else goes with it and what stays, and label its button with the action. Local CRM asks “Delete “Olivia Bennett”?”, explains that her notes and timeline entries go too while her todos are kept, and labels the button Delete Contact. With iCloud sync on, it adds that the deletion syncs to your other devices.

“Are you sure?” is the most common question in software, and it's barely a question. It asks you to reconsider without giving you anything to reconsider: not what's about to go, not what else goes with it, not whether it can come back. By the tenth time, it's a speed bump everyone drives over. And the deletes where a vague prompt does damage are exactly the ones that take more than what's on screen.

A contact is more than a row#

Deleting a contact in a CRM isn't like deleting a file. The contact has notes, a timeline of calls and emails, todos, tags and links to other people. Some of those should go with it and some shouldn't: a todo to send an invoice still matters after the client is gone. With iCloud sync on, the deletion also reaches your other devices. A confirmation that doesn't say any of this can't help you decide.

Three things every confirmation says#

Every delete and removal in Local CRM asks first, and every question has the same three parts:

  1. What, by name. Delete “Olivia Bennett”? Not “this item”.
  2. What else, and what stays. Notes and timeline entries are deleted too. Todos are kept.
  3. The action, on the button. Delete Contact, not OK, so the button still makes sense if you only read the button.

When iCloud sync is on, the message adds one more sentence: This can't be undone, and the deletion syncs to your other devices.

A generic prompt

Are you sure?

This action cannot be undone.

CancelOK

Local CRM

Delete “Olivia Bennett”?

Notes and timeline entries are deleted too. Todos are kept. This can't be undone.

CancelDelete Contact
  • Names exactly what will go
  • Says what goes with it, or what stays
  • Would mention your other devices if sync were on
  • The button says what it does: Delete Contact
Figure 1. A generic prompt beside Local CRM's own wording, for five kinds of delete. Pick a kind and turn on iCloud sync to see how the question changes.

Each kind of delete has its own consequences#

Writing the second part well means knowing what people are actually afraid of losing, and it's different every time:

  • A tag. The fear is losing the contacts. So: Deleting a tag doesn't delete the contacts that have it.
  • A timeline entry added by a plugin. Here the honest answer is that it may not stay gone: Entries a plugin added can come back when it imports this history again.
  • A link between two people. Both contacts stay in Local CRM; only the link between them is removed.
  • Everything. The question says which devices, and what survives: Deletes contacts, notes, todos and tags on all your devices. Plugin settings are kept.

Details that make it hold#

Every path asks the same way. A delete can start from a button, a context menu, a swipe or a keyboard shortcut. All of them ask the same question in the same words, because the wording for every confirmation lives in one file in Local CRM's code, so it can't drift.

Swipes don't jump ahead. On iPhone, a standard destructive swipe slides the row away before you've answered. Local CRM's swipe buttons are red but not destructive, so the row stays put until you confirm.

Nothing to lose, nothing to ask. Removing an empty phone or email row in the contact editor goes without a prompt, since nothing is lost. A filled-in row asks first.

Red means hard to undo. The critical color is reserved for actions that are hard or impossible to undo, so it still means something when it appears. On iPad and Mac the question is a modal; on iPhone it's the system's own action sheet.

A checklist for your own app#

  • Does the question name the thing being deleted?
  • Does it say what goes with it, and what doesn't?
  • Does the button say what it does?
  • Does every way of deleting ask the same question?
  • If the deletion syncs, does the question say so?

This is one of the values we design by, where you can also try Local CRM's contact confirmation for yourself. The same thinking about plain consequences shaped how Local CRM's limits work.

Questions this note answers

Does Local CRM ask before deleting something?
Always. Every delete and removal asks first, wherever it's offered: a button, a menu, a swipe or a keyboard shortcut.
What happens to a contact's todos when I delete the contact?
They're kept. Deleting a contact deletes its notes and timeline entries, and Local CRM tells you so before you confirm.
If I delete a tag, are the contacts that have it deleted?
No. Deleting a tag removes only the tag; the contacts that had it stay.
Can I undo a delete in Local CRM?
No. Deletes can't be undone, which is why each one asks first and says exactly what will go.

In Local CRM: Design details

Share this note

Select any passage to quote it with a link straight to it.