Очевидно, что отмена действий возможна не всегда. Иногда она эффективна, только если ее выполнить сразу после нежелательного действия. И все же это мощный инструмент, который позволяет свести к минимуму влияние ошибки. Меня до сих пор удивляет, что многие электронные и компьютеризированные системы не могут обеспечить команду «отменить действие» даже там, где это заведомо возможно и нужно.
Многие системы пытаются предотвратить ошибки, запрашивая подтверждение перед тем, как выполнить команду, особенно если действие может уничтожить что-то важное. Но такие запросы обычно плохо продуманы по времени, потому что, отправляя запрос на проведение операции, люди обычно уверены в том, что хотят ее осуществить. Вот известная шутка про такие предупреждения:
Человек: Удалить «мой самый важный документ».
Система: Вы хотите удалить «мой самый важный документ»?
Человек: Да.
Система: Вы уверены?
Человек: Да!
Система: «Мой самый важный документ» был удален.
Человек: О, черт.
Запрос на подтверждение воспринимается скорее как нечто раздражающее, чем как процедура, необходимая для обеспечения безопасности, потому что человек сосредоточивается на самом действии, а не на объекте, над которым он совершает действие. Лучше было бы обеспечивать проверку за счет появления двух отдельных окошек, одно из которых отвечало бы за действие, а второе — за объект, над которым нужно совершить действие (возможно, дополненных командами «отменить» или «выполнить»). Важный момент: человеку должно быть очевидно, в чем смысл действия, которое он выполняет. Конечно, именно из-за ошибок такого рода команда «отменить действие» так важна. Для обычных графических пользовательских интерфейсов на компьютерах «отменить действие» — стандартная команда, более того, когда файлы удалены, их просто убирают из поля зрения и помещают в папку «Корзина». В примере, который я привел чуть выше, человек может открыть папку «Корзина» и извлечь удаленный по ошибке файл.
Подтверждения также оставляют место для погрешностей и ошибок. Когда я пишу, я использую два очень широких монитора и мощный компьютер. У меня может одновременно быть загружено от семи до десяти программ. Иногда у меня бывает открыто около сорока окон. Допустим, я запускаю команду, которая закрывает одно из окон. Всплывает сообщение о подтверждении: хочу ли я закрыть окно? Моя реакция на это зависит от того, почему я хочу закрыть это окно. Если это была случайность, то просьба о подтверждении будет полезной. Если это была ошибка, я просто его проигнорирую. Вот два примера:
Я случайно закрываю не то окно.
Допустим, я хотел написать
Я по ошибке закрываю не то окно.
Теперь предположим, что я на самом деле хотел закрыть окно. Я часто пользуюсь временными файлами, чтобы делать заметки касательно главы, которую пишу. Закончив главу, я закрываю этот файл, ничего не сохраняя, — ведь я ее закончил. Но поскольку я обычно открываю одновременно много окон, закрыть не то окно довольно просто. Компьютер считает, что все команды относятся к открытому окну — тому, где вы делали последние действия (и на которое наведен курсор). Но если я просматривал временный файл перед тем, как его закрыть, мой взгляд направлен на
Была ли это ошибка или промах? И то и другое. То, что я дал команду «закрыть» в то время, когда было открыто не то окно, — это погрешность, вызванная забывчивостью. Но то, что я решил не читать текст в диалоговом окне и подтвердить это, не сохраняя работу, — это ошибка (вообще-то даже две ошибки).
Что может предпринять дизайнер?