Очевидно, что отмена действий возможна не всегда. Иногда она эффективна, только если ее выполнить сразу после нежелательного действия. И все же это мощный инструмент, который позволяет свести к минимуму влияние ошибки. Меня до сих пор удивляет, что многие электронные и компьютеризированные системы не могут обеспечить команду «отменить действие» даже там, где это заведомо возможно и нужно.

Подтверждение и сообщение об ошибках

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

Человек: Удалить «мой самый важный документ».

Система: Вы хотите удалить «мой самый важный документ»?

Человек: Да.

Система: Вы уверены?

Человек: Да!

Система: «Мой самый важный документ» был удален.

Человек: О, черт.

Запрос на подтверждение воспринимается скорее как нечто раздражающее, чем как процедура, необходимая для обеспечения безопасности, потому что человек сосредоточивается на самом действии, а не на объекте, над которым он совершает действие. Лучше было бы обеспечивать проверку за счет появления двух отдельных окошек, одно из которых отвечало бы за действие, а второе — за объект, над которым нужно совершить действие (возможно, дополненных командами «отменить» или «выполнить»). Важный момент: человеку должно быть очевидно, в чем смысл действия, которое он выполняет. Конечно, именно из-за ошибок такого рода команда «отменить действие» так важна. Для обычных графических пользовательских интерфейсов на компьютерах «отменить действие» — стандартная команда, более того, когда файлы удалены, их просто убирают из поля зрения и помещают в папку «Корзина». В примере, который я привел чуть выше, человек может открыть папку «Корзина» и извлечь удаленный по ошибке файл.

Подтверждения также оставляют место для погрешностей и ошибок. Когда я пишу, я использую два очень широких монитора и мощный компьютер. У меня может одновременно быть загружено от семи до десяти программ. Иногда у меня бывает открыто около сорока окон. Допустим, я запускаю команду, которая закрывает одно из окон. Всплывает сообщение о подтверждении: хочу ли я закрыть окно? Моя реакция на это зависит от того, почему я хочу закрыть это окно. Если это была случайность, то просьба о подтверждении будет полезной. Если это была ошибка, я просто его проигнорирую. Вот два примера:

Я случайно закрываю не то окно.

Допустим, я хотел написать «We» (англ. «мы»), но вместо того, чтобы нажать клавиши Shift + W для первой буквы, я нажал Command + W (или Control + W) — команду «закрыть окно». Я ждал, что на мониторе появится заглавная буква «W». Если бы появилось диалоговое окно, в котором меня бы спрашивали, действительно ли я хочу удалить файл, я бы очень удивился и сразу понял, что допустил ошибку. Я бы отменил действие (вариант, который мне заботливо предложили в диалоговом окне) и заново набрал Shift + W, на этот раз — внимательно.

Я по ошибке закрываю не то окно.

Теперь предположим, что я на самом деле хотел закрыть окно. Я часто пользуюсь временными файлами, чтобы делать заметки касательно главы, которую пишу. Закончив главу, я закрываю этот файл, ничего не сохраняя, — ведь я ее закончил. Но поскольку я обычно открываю одновременно много окон, закрыть не то окно довольно просто. Компьютер считает, что все команды относятся к открытому окну — тому, где вы делали последние действия (и на которое наведен курсор). Но если я просматривал временный файл перед тем, как его закрыть, мой взгляд направлен на это окно, и, когда я хочу его закрыть, я забываю, что это окно не активно с точки зрения компьютера. Поэтому я запускаю команду «закрыть окно», компьютер показывает мне диалоговое окно и просит подтверждения, я подтверждаю команду и выбираю опцию «не сохранять работу». Поскольку я ожидал появления диалогового окна, я не стал читать сообщение. В результате я закрыл не то окно и, что еще хуже, не сохранил ничего из написанного, возможно, потеряв значительную часть работы. Удивительно, но предупреждающие сообщения совсем не помогают против ошибок (даже хорошо продуманные запросы, такие как те, которые я приводил в главе 4 на рис. 4.6).

Была ли это ошибка или промах? И то и другое. То, что я дал команду «закрыть» в то время, когда было открыто не то окно, — это погрешность, вызванная забывчивостью. Но то, что я решил не читать текст в диалоговом окне и подтвердить это, не сохраняя работу, — это ошибка (вообще-то даже две ошибки).

Что может предпринять дизайнер?

Перейти на страницу:

Похожие книги