Я разрабатываю приложение, которое позволяет пользователю управлять отдельными точками данных. Одна из вещей, которую мои пользователи захотят сделать, это "удалить", но что это значит?
Для веб-приложения лучше представить пользователю возможность иметь серьезное удаление или использовать систему "trash"?
В разделе "серьезное удаление" (хотелось бы знать, есть ли лучшее имя для этого...), вы нажимаете "delete", а затем пользователь предупреждается "это окончательное и трагическое действие. После этого вы будете не сможет получить имя -интересное имя точки данных здесь, даже если вы плачете..." Затем, если они нажмут кнопку delete... ну, это действительно исчезнет навсегда.
В рамках модели "мусор" вы никогда не верите, что пользователь действительно хочет удалить... вместо этого вы удаляете точку данных с "основного дисплея" и помещаете в ведро под названием "мусор". Это получает его от пользователей, что они обычно хотят, но они могут вернуть его, если они совершают ошибку. Очевидно, именно так ушло большинство операционных систем.
Преимущества "серьезного удаления":
- Легко реализовать
- Легко объяснить пользователям
К недостаткам "серьезного удаления" относятся:
- Это может быть трагически окончательно
- иногда, кошки ходят по клавишам
Преимущества системы "мусор":
- пользователь в безопасности от себя.
- массовые методы, такие как "удалить связку сразу", имеют больше смысла
- сохраняет головные боли поддержки
Недостатками системы "мусор" являются:
- Для конфиденциальных данных вы создаете иллюзию уничтожения. Пользователи считают, что что-то ушло, но это не так.
- Множество тонких различий усложняет реализацию.
- Вы "в конечном итоге" удалите содержимое корзины?
Мой вопрос в том, какой из них является правильным шаблоном проектирования для современных веб-приложений? Как работает функция "архив"? Вот как работает gmail. Дайте достаточно обсуждения, чтобы оправдать ваш ответ... Было бы интересно указать на некоторые соответствующие исследования.
-Ft