Интерфейсная идея

С.

Продвинутый новичок
Очевидно, что перед необратимой операцией надо переспрашивать пользователя. Через попап или перегрузку страницы.
Почему бы не делать за один заход? Рядом с кнопкой добавлять чек-бокс подтверждения.

[_] [_Удалить_]
[_] Подтверждаю: [_Удалить_]

Если есть JS, то при пустым чек-боксе кнопка деактивирована.
Если без JS, обработчик запроса просто не совершает операцию без отмеченного чек-бокса.
 
Потому что перед таким необратимым действием нужно дать человеку время подумать еще раз. 7 раз отмерь - можно спрашивать до 7 раз, если кликает на кнопку недостаточно уверенно ... :) Если все на одном экране - дополнительного времени на раздумья не будет
 
Учел замечание:

[1] [2] [3] [4] [5] [6] [7] [_Удалить_]
 
Если это действие, которое выполняется редко, попап поможет от случайного нажатия не туда (в попапе дублируется, что именно удаляется).

Если это действие, которые выполняется часто, через какое-то время и действие, и подтверждение будут делаться одним жестом, и от ошибки не поможет вообще ничего, кроме возможности undo или подтверждения, требующего сложного действия (типа, ввести имя удаляемого файла с клавиатуры без возможности copy-n-paste). Второй вариант неудобен пользователю, первый может быть сложным в разработке (а может и не быть, если используются какие-нибудь soft deletes).
 
Наиболее разумно, конечно, иметь отменяемую историю изменений. Тогда любое удаление можно делать быстро и не парится насчет такой дуракоустойчивости.
 
История это сервер, а клиент это просто команда без подтверждения. Чтоб сделать проверку на клиенте, включите яваскрипт. А дальше обычный confirm подойдет, не релевантно
 
Наиболее разумно, конечно, иметь отменяемую историю изменений. Тогда любое удаление можно делать быстро и не парится насчет такой дуракоустойчивости.
Разум подразумевает еще и учет затрат поддержки фичи. Может овчинка не стоит выделки? А может не нужна дуракоподдерживаемость? В мире и так переизбыток энтропии (т.е. лени).

Одно дело элегантно предостеречь от случайных нажатий, а другое – трафить дуракам.
 
... учет затрат поддержки фичи
Cледует учитывать еще и результаты потенциального расследования - "а по каким причинам наши важные данные пропали?". Если окажется, что программист применил нестандартную защиту от дурака, то это может быть признано виной программиста, просто юзер не привык к такой дуракозащите. Если окажется, что операция выполняется часто и на каждом этапе возникает вопрос на 10 сек - "Ты точно подумал?..", то такая защита может вызывать раздражение у оператора и повлечь ошибки оператора - тоже косяк проектирования интерфейса.
Это я к тому, что к любой новой фиче в отвественных местах нужно подходить с осторожностью.
 
Это я к тому, что к любой новой фиче в отвественных местах нужно подходить с осторожностью.
Речь шла о простых "неответственных" местах, где нет смысла в создании механизма отката назад и никто не будете проводить расследование потери данных.

В Винде есть мусорная корзина (без автоочистки, с изначальными данными, откуда удалено, хронология удаления), но есть контрольный вопрос. Зачем?
В Юниксе изначально корзины не было и жили-не тужили. Не бегали за маркетингами фенечками, для ленивых. Специализировались на производительности.
Вот вам два подхода – дуракоподдерживемый и для людей дела.
Вопросы ответственности и целостности, возможности отката решаются на уровне бэкапов, а не в функции удаления порции информации.
 
В Винде есть мусорная корзина (без автоочистки, с изначальными данными, откуда удалено, хронология удаления), но есть контрольный вопрос. Зачем?
Ха-ха... у меня как-то развилась привычка - "увидел полную корзину - удали". Работа с большими файлами и вечная нехватка места, наверное, совокупно с деревянными игрушками... врядли любовь к чистоте... Для своей машины для отладки - нормальная причуда, пожалуй полезная, но как только я добираюсь до чужих компьютеров и машинально первым делом чищу чужую корзину - иногда возникают вопросы...
это лирика, в общем...

Если место не отвественное - внедри. На первый взгляд - она именно то что надо, то и делает - обеспечивает дополнительное время на размышление о вечном... В процессе эксплуатации пользователь скажет что думает, или не скажет, что будет плюсом в человекопонятность... Потом можно будет потыкать готовым примером в сообщество и говорить, что это не новая фича, а проверенная временем и парой заказчиков готовое интерфейсное решение... :)
 
Сверху