Зачастую, пользователь по ошибке не нажимает кнопку “удалить”. Обычно, это действие происходит намеренно. Проблема в том, что он может выбрать не тот объект, из-за чего важнейшая информация будет утеряна, даже если вы спросите "Вы уверены, что хотите удалить?". В этом случае интерфейс послушно (и безвозвратно) выполнит действие пользователя, но будет ли он считаться хорошим? Похоже, что нет.
Так что же делать?
Хорошим вариантом будет удалить объект сразу, но, при этом, предоставить возможность отменить действие. В этом случае пользователь поймет нужный ли объект он удалил и, в случае ошибки, сможет его быстро восстановить. Таким образом происходит удаление элементов в сервисах Google (Keep, Docs, Gmail).
Но здесь есть одна деталь.
Подобная практика хорошо работает, когда вы взаимодействуете с нулями и единицами (например, удаляете письмо или заметку). Но, когда по ту сторону интерфейса реальный человек, это решение будет ошибочным. Представьте, что подумает таксист (и система), если вы отмените заказ, а через несколько секунд вновь его активируете.
Поэтому, когда на другой стороне интерфейса реальный человек, лучшим вариантом будет запрашивать подтверждение прежде, чем совершить отмену или удаление.