Ой! А как вернуть назад?

Пятница, 21 Сентябрь, 2007

A List Apart

Еще один перевод статьи A List Apart. На этот раз речь идет о случайном выходе из программы без сохранения документа. Можно познакомиться с точкой зрения автора. Для свободно владеющих английским могу предложить оригинал статьи.

Никогда не используй предупреждения, а используй undo . Автор статьи — Аза Раскин.

Случалось ли вам ощущать внезапную слабость, когда вы осознавали – всего лишь на долю секунды позже – что не должны были кликать «ОК» в диалоговом окне «Вы уверены, что хотите выйти?»

Да? Что ж, вы в приятной компании – у каждого есть подобный опыт, поэтому нет необходимости стыдиться этого. Это не ваша ошибка – это ошибка вашего программного обеспечения.

Cornell's IllПочему? Потому что программное обеспечение должно «знать», что у нас вырабатываются привычки. Программное обеспечение должно знать, что, отвечая на вопрос, после бесчисленных кликов «ОК» мы, вероятно, кликнем «ОК» и сейчас, даже если не хотим этого. Программное обеспечение должно знать, что у нас не будет возможности подумать, прежде чем неумышленно прекратить нашу работу.

Почему оно должно это знать? Потому что разработчики программного обеспечения должны знать, что у нас вырабатываются привычки вне зависимости от нашего желания.

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

Итак, как разработчики мы подошли к основному принципу проектирования интерфейсов: если интерфейс создается для людей, он должен признавать привыкание.

Возможные решения

Как насчет того, чтобы делать предупреждения, которые труднее игнорировать? Слишком ненавязчивое предупреждение не будут замечать, так давайте выведем все возможные предупреждения: мы заставим мигать экран и громко проиграем продолжительный звук, чтобы обратить внимание пользователя. Проверьте – это не будет работать. Чем более назойливы предупреждения, тем скорее нам их хочется прервать (кликнув «ОК»), и тем больше ошибок мы наделаем. На самом деле, не важно, на сколько назойливо компьютер станет предупреждать нас – мы по-прежнему будем совершать ту же ошибку – кликать «ОК» даже тогда, когда не хотим этого делать. Но это опять не наша ошибка: до тех пор, пока у нас есть возможность привыкать к предупреждениям, мы будем привыкать, а затем будем совершать ошибки.

Как насчет того, чтобы сделать предупреждения, которые невозможно игнорировать? Если это привыкание свойственно человеку, и это создает проблему, почему бы ни проектировать интерфейс таким образом, чтобы у нас не могла выработаться привычка. Таким образом, мы всегда будем вынуждены останавливаться и задумываться, прежде чем ответить на вопрос. И наш выбор всегда будет соответствовать нашим желаниям. Это решение проблемы, верно?

Этот подход совсем не новый: это нечто вроде «такое-то слово в этом предложение является правильным ответом». В игре «Guild Wars», например, для удаления персонажа требуется сначала кликнуть «Delete», а затем ввести имя персонажа в качестве подтверждения. К сожалению, и это не всегда работает. А именно:

  1. Это заставляет нас концентрироваться на непривычной для рук работе, но не на желании или нежелании прекратить работу. Это значит, что предупреждения, которые невозможно игнорировать, несколько лучше, чем обычные предупреждения: мы обязательно перестанем случайно прекращать нашу работу. А неуправляемое прекращение работы – худший грех программного обеспечения.
  2. Это необыкновенно раздражает, потому что постоянно требует нашего внимания, что, в свою очередь, обязательно отвлекает нас от работы (а это второй грех программного обеспечения).
  3. Это всегда отнимает больше времени и сил, нежели обычное предупреждение. Таким образом, совершается третий страшный грех – приходится делать больше, чем необходимо.

Для приведенных в примере «Guild Wars» второй и третий пункты не особенно уместны, потому что удаление персонажа – действие редкое. Однако если бы нам пришлось вводить имя документа перед тем, как выйти без сохранения этого документа, мы нашли бы это весьма неудобным.

Что мы узнали? Те интерфейсы, которые не учитывают вероятности привыкания – плохи. Создание предупреждений большего размера, громких и трудно игнорируемых – не работает. В любом случае, эти предупреждения означают, что интерфейс программного обеспечения реализован не лучшим образом. Так давайте избавимся от предупреждений вообще!

«Undo» спасет мир

Простое исчезновение предупреждений не спасет наши документы от опасности быть потерянными, но использование функции «Undo» сможет это сделать. Позвольте мне повторить: лекарство от наших горе-предупреждений – undo. С правильным undo мы сможем завершать нашу работу и оставаться уверенными, что к ней всегда можно будет вернуться. С undo мы потеряем это ужасное ощущение совершенной только что ошибки, так как документ можно снова открыть.

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

Это одно из основных и наиболее важных заклинаний проектировщика интерфейса: никогда не используй предупреждения, а используй undo.

Разработчики Google Mail используют это заклинание. Когда вы удаляете письмо, у вас сразу же появляется возможность отменить действие. Как предусмотрительно! Нас аккуратно избавили от окошка с предупреждением (равно как и от окошка с сообщением о возможности отмены действия). Когда мы совершаем ошибку (а мы обязательно совершаем), она не слишком нас пугает, потому что мы можем просто отменить ее. С undo мы меньше тратим времени на переживания и больше времени на работу.

Google Mail

Конечно, это только один слой, но Gmail идет дальше. После того, как вы удаляете сообщение, оно не исчезает навсегда, а попадает в «корзину с мусором», таким образом, вы можете восстановить его, если позднее вы решите, что удаление было ошибочным.

Увы, Google Calendar этот урок пока не уяснил. И, естественно, я случайно удаляю события, которое удалять не хочу. Иногда я удаляю ненужные события, и самое плохое, что позже я не уверен, что удалил действительно ненужное. И без undo нет возможности убедиться в правильности действий.

Google Calendar
На самом деле, даже Google Mail еще не до конца освоил этот урок. Когда вы удаляете ярлыки из Gmail, выскакивает одно из этих несчастных предупреждений. Почему же Google может сделать всё правильно в одном месте, а в паре кликах от него сделать всё совершенно неправильно? Возможно, потому, что привычка к предупреждениям настолько закоренелая, что она с героическими усилиями вылезает наружу. Даже те компании, что являются основными оплотами хорошего дизайна, например 37Signals, также обманываются:

Использование предупреждений вместо undo – путь наименьшего сопротивления с точки зрения программиста, потому что не нужно ломать голову над реализацией. Но это не оправдывает того, что компьютеры не считаются с привычками человека.

Заключение

Предупреждения служат причиной потери документов, сомнений относительно надежности компьютеров, заставляют винить себя. Простое, но беспроигрышное решение проблемы: никогда не использовать предупреждения, а использовать undo. И когда пользователь удаляет свой документ, вы предоставляете возможность его восстановить.

О, и в следующий раз, когда увидите предупреждение вместо undo, отправьте разработчикам приложения или сайта письмо с предложением заменить предупреждение функцией undo. Вышлите им ссылку на эту статью. Давайте посмотрим, можем ли мы изменить отношение людей к дизайну в Вебе – и эти изменения сделают интерфейсы в целом более дружелюбными, а также снизят количество причин для расстройств. Давайте начнем войну с предупреждениями.

Иллюстрация Кевина Корнелла

Translated with the permission of A List Apart Magazine and the author. Переведено с разрешения A List Apart Magazine и автора.

Реклама

комментария 3 to “Ой! А как вернуть назад?”

  1. gruz0 Says:

    Спасибо за перевод.
    Читал в оригинале, теперь принял к размышлению.

    Желаю дальнейших переводов!

  2. SkyMan Says:

    Отличная статья!

  3. Макс Комаджу Says:

    Спасибо!
    Рад, что пригодилось.


Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: