Ой! А як повернути назад, тимчасовий притулок

Чи траплялося вам відчувати раптову слабкість, коли ви були свідомі - всього лише на частку секунди пізніше - що не повинні були кликати «ОК» в діалоговому вікні «Ви впевнені, що хочете вийти?»

Так? Що ж, ви в приємній компанії - у кожного є подібний досвід, тому немає необхідності соромитися цього. Це не ваша помилка - це помилка вашого програмного забезпечення.

Ой! А як повернути назад, тимчасовий притулок
Чому? Тому що програмне забезпечення має «знати», що у нас виробляються звички. Програмне забезпечення повинно знати, що, відповідаючи на питання, після незліченних кліків «ОК» ми, ймовірно, кликнемо «ОК» і зараз, навіть якщо не хочемо цього. Програмне забезпечення повинно знати, що у нас не буде можливості подумати, перш ніж ненавмисно припинити нашу роботу.

Чому воно повинно це знати? Тому що розробники програмного забезпечення повинні знати, що у нас виробляються звички незалежно від нашого бажання.

Поява звички, насправді, добре: це позбавляє від необхідності замислюватися, коли ми зустрічаємо банальний інтерфейс, і це зменшує ймовірність, що наша думка буде втрачена. У випадку з діалоговим вікном «Ви впевнені, що хочете вийти?» Наші руки запам'ятали і закриття, і підтвердження як єдине неперервні дію. І це добре, тому що в більшості випадків ми не хочемо шукати відповіді на запитання, чи правильно ми робимо. На жаль, наші звички іноді змушують нас помилятися: ми спочатку робимо, а потім замислюємося.

Отже, як розробники ми підійшли до головної засади проектування інтерфейсів: якщо інтерфейс створюється для людей, він повинен визнавати звикання.

Як щодо того, щоб робити попередження, які важче ігнорувати? Занадто ненав'язливе попередження не будуть помічати, так давайте виведемо всі можливі попередження: ми змусимо блимати екран і голосно програємо тривалий звук, щоб звернути увагу користувача. Перевірте - це не буде працювати. Чим більше настирливі попередження, тим швидше нам їх хочеться перервати (клікнувши «ОК»), і тим більше помилок ми наробимо. Насправді, не має значення, на скільки настирливо комп'ютер стане попереджати нас - ми як і раніше будемо здійснювати ту ж помилку - кликати «ОК» навіть тоді, коли не хочемо цього робити. Але це знову не наша помилка: до тих пір, поки у нас є можливість звикати до попереджень, ми будемо звикати, а потім будемо робити помилки.

Як щодо того, щоб зробити попередження, які неможливо ігнорувати? Якщо це звикання властиво людині, і це створює проблему, чому б ні проектувати інтерфейс таким чином, щоб у нас не могла виробитися звичка. Таким чином, ми завжди будемо змушені зупинятися і замислюватися, перш ніж відповісти на питання. І наш вибір завжди буде відповідати нашим бажанням. Це рішення проблеми, вірно?

Цей підхід зовсім не нова: це щось на кшталт «таке-то слово в цьому пропозиція є правильною відповіддю». У грі «Guild Wars», наприклад, для видалення персонажа потрібно спочатку клікнути «Delete», а потім ввести ім'я персонажа в якості підтвердження. На жаль, і це не завжди працює. А саме:

  1. Це змушує нас концентруватися на незвичній для рук роботі, але не на бажанні чи небажанні припинити роботу. Це означає, що попередження, які неможливо ігнорувати, дещо краще, ніж звичайні попередження: ми обов'язково перестанемо випадково припиняти нашу роботу. А некероване припинення роботи - найгірший гріх програмного забезпечення.
  2. Це незвичайно дратує, тому що постійно вимагає нашої уваги, що, в свою чергу, обов'язково відволікає нас від роботи (а це другий гріх програмного забезпечення).
  3. Це завжди забирає більше часу і сил, ніж звичайне попередження. Таким чином, відбувається третій страшний гріх - доводиться робити більше, ніж необхідно.

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

Що ми дізналися? Ті інтерфейси, які не враховують ймовірність звикання - погані. Створення попереджень більшого розміру, гучних і важко ігнорованих - не працює. У будь-якому випадку, ці попередження означають, що інтерфейс програмного забезпечення реалізований не найкращим чином. Так давайте позбудемося попереджень взагалі!

Просте зникнення попереджень не врятує наші документи від небезпеки бути втраченими, але використання функції «Undo» зможе це зробити. Дозвольте мені повторити: ліки від наших горе-попереджень - undo. З правильним undo ми зможемо завершувати нашу роботу і залишатися впевненими, що до неї завжди можна буде повернутися. З undo ми втратимо це жахливе відчуття досконалої тільки що помилки, так як документ можна знову відкрити.

Так як у нас виробляються звички, ми не зможемо гарантувати, що з нами не станеться цього «ой!» Саме тому проектувальники повинні брати до уваги звикання і розробляти інтерфейси з урахуванням цього. Кожен раз, коли з'являється ймовірність випадкового завершення роботи, програмне забезпечення повинно дати можливість повернутися до моменту цього завершення.

Це одне з основних і найбільш важливих заклинань проектувальника інтерфейсу: ніколи не використовуй попередження, а використовуй undo.

Розробники Google Mail використовують це заклинання. Коли ви видаляєте лист, у вас відразу ж з'являється можливість скасувати дію. Як завбачливо! Нас акуратно позбавили від віконця з попередженням (так само як і від віконця з повідомленням про можливість скасування дії). Коли ми робимо помилку (а ми обов'язково робимо), вона не надто нас лякає, тому що ми можемо просто скасувати її. З undo ми менше витрачаємо часу на переживання і більше часу на роботу.

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

На жаль, Google Calendar цей урок поки не усвідомив. І, природно, я випадково видаляю події, яке видаляти не хочу. Іноді я видаляю непотрібні події, і найгірше, що пізніше я не впевнений, що видалив дійсно непотрібне. І без undo немає можливості переконатися в правильності дій.


Насправді, навіть Google Mail ще не до кінця освоїв цей урок. Коли ви видаляєте ярлики з Gmail, вискакує один з цих нещасних попереджень. Чому ж Google може зробити все правильно в одному місці, а в парі кліків від нього зробити все абсолютно неправильно? Можливо, тому, що звичка до попереджень настільки закореніла, що вона з героїчними зусиллями вилазить назовні. Навіть ті компанії, що є основними підвалини гарного дизайну, наприклад 37Signals, також обманюються:

Ой! А як повернути назад, тимчасовий притулок

Використання попереджень замість undo - шлях найменшого опору з точки зору програміста, тому що не потрібно ламати голову над реалізацією. Але це не виправдовує того, що комп'ютери не зважають на звичками людини.

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

О, і в наступний раз, коли побачите попередження замість undo, відправте розробникам програми або сайту лист з пропозицією замінити попередження функцією undo. Вишліть їм посилання на цю статтю. Давайте подивимося, чи можемо ми змінити ставлення людей до дизайну в Інтернеті - і ці зміни зроблять інтерфейси в цілому більш доброзичливими, а також знизять кількість причин для розладів. Давайте почнемо війну з попередженнями.

Схожі статті