Контроль над ситуацією робить тебе щасливим

Привіт! Представляю вашій увазі переклад статті «Controlling Your Environment Makes You Happy» автора Джоеля Спольски.

Про автора: Джоель Спольски, співвласник Trello, Fog Creek Software і глава Stack Overflow


Більшість розробників З++ терпіти не можуть програмування користувальницького інтерфейсу. Це дивно, так як я вважаю UI-програмування до смішного простим, зрозумілим і цікавим.

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

Думаю, розробники бояться UI-програмування з-за страху перед UI-дизайном. В їх розумінні UI-дизайн схожий на графічний дизайн — загадковий процес, підвладний лише творчим «total black-look» особистостям з дивним пірсингом, які поглинають латте і створюють приємні оку штуки. Програмісти ж бачать себе логіками-аналітиками: гарні в аргументації, у творчості — нулі. Тому впевнені, що дизайн інтерфейсів не для них.

Я ж знаходжу UI-дизайн структурованим і нескладним. Щоб оволодіти ним, необов’язково отримувати диплом художнього коледжу і фарбувати волосся в кислотно-рожевий. Є менш тернистий шлях: застосовуй кілька простих правил і покращуй інтерфейс програми, над якою працюєш.

Я не буду видавати керівництво «Дзен і мистецтво UI-дизайну». Це не пов’язано з мистецтвом або Буддизмом, це набір обґрунтованих правил для програмістів. Гадаю, тобі не потрібні інструкції по створенню рядка меню: швидше, ти замислюєшся, що в неї помістити, і потрібно. Тому я навчу тебе простого для розуміння, але важливого принципу гарного інтерфейсу.

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

Так було задумано. Насправді дечого не вистачало і розташування виглядало так:

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

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

Спочатку я погано справлявся. Ця робота здавалася просто нездійсненним. Кожна кістка мого тіла нила від болю, пухир сидів на волдыре. Боліли місця, про існування яких я не підозрював. Перший час я не встигав забезпечувати тестом конвеєр. Прогалини на лінії прово-цировали постійні перебої: тісто з зазорами потрапляло в піч, і хліб горів з-за меншого обсягу на постійне кількість енергії.

Читайте також  Що не забути, приймаючи макет сайту від дизайнера, або дрібниць не буває

Іноді конвеєр засорялся і зупинявся, але міксер продовжував справно працювати. Проблема в тому, що у візку могло закінчиться місце. Коли це траплялося, я був змушений мити підлогу, змащувати його маслом, вивалювати тісто, щоб пізніше зібрати. Це не найкращий вихід із ситуації, так як через 30 хвилин тісто починав бродити, і добрий хліб вже не виходив. Тоді доводилося рубати його на шматки по 5 кг і додавати по одній частині у кожен новий заміс.

Але через тиждень у мене стало непогано виходити: 2 хвилини відпочинку на кожні 10 хвилин «тестового циклу». Я склав точний розклад і дізнався, як призупинити міксер, коли відбувався збій у конвеєрі. Тоді я замислився, чому, як говориться в рекламі пива, деякі дні краще за інших.

Одного разу я помітив, що в одній з візків несправні колеса. Мене трохи дратувало, що іноді вона повертала не в тому напрямку і зносила все на своєму шляху. Злегка бісило і те, що, витягаючи ланцюг лебідки, я дряпався невеликим шматком металу. Було прикро, коли я втік з порожнім візком ловити тісто і послизнувся на разбрызганном олії.

Але траплялися і крихітні перемоги. Я розпланував час виготовлення тіста так, що свіжа партія була готова до відвантаження за секунди до того, як попередня закінчувалася. З свежай нашого тесту виходив відмінний хліб. Деякі перемоги були менш значними: я помічав маленьку краплю тіста, отлетевшую з міксера, соскребал її шпателем для фарби, який носив в задній кишені, і викидав. О, так! Іноді виходило нарізати тісто на рівні шматочки. У такі моменти мені вдавалося тримати ситуацію під контролем, нехай навіть у дрібницях.

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

Через роки, в коледжі я вивчив важливу психологічну теорію вивченої безпорадності Мартіна Селигмана. Ця теорія, підкріплена багаторічними дослідженнями, розповідає те, що депресія виростає з почуття безпорадності, коли ти не можеш тримати ситуацію під контролем. Чим краще ти контролюєш ситуацію, тим більше у тебе виходить. Ти злишся і бесишься, якщо все виходить з під контролю: пробіл на клавіатурі зламаний, і, коли ти друкуєш, слова злипаються. Це дратує, бо ти натискаєш на пробіл, але нічого не відбувається. Ключ від вхідних дверей не завжди відкриває замок. Він застряє, коли ти пово-рачиваешь його. В сумі всі ці дрібниці день-у-дня засмучують нас. Незважаючи на те, що вони виглядають сущими дрібницями порівняно з голодом в Африці. Але мене, чорт візьми, хвилює безглуздий пробіл!

Читайте також  Китайці використовували мікрочіп, щоб контролювати американські комп'ютери

Окей, давай все-таки повернемось до комп’ютерів. Пропоную створити типового користувача Windows з ім’ям Піт. Це допомагає тримати в голові образ при створенні інтерфейсу. Чим реалістичніше уявний користувач, тим простіше уявити, як він буде використовувати продукт. Піт працює бухгалтером в технічному видавництві і протягом шести років використовує Windows на роботі і вдома. Він компетентний і підкований в технічному плані. Піт встановлює власний софт: читає комп’ютерні журнали і навіть програмує прості макроси Word, щоб полегшити секретарям процес відправлення рахунків-фактур. У нього вдома стоїть кабель-ний модем. Піт жодного разу не використовував Macintosh: для нього це дорого. «За ПК 700 Мгц і 128 мб ОЗУ — занадто дох..», — окей, Піт, ми тебе зрозуміли.

Як-то раз подруга Піта, Джина, попросила допомогти їй з комп’ютером. У Джини Macintosh iBook, і вона просто обожнює напівпрозорі «коробки». Піт ненавидить ці штуки, тому сказився, як тільки сів за комп’ютер. У підсумку він допоміг подрузі, але залишився вкрай незадоволеним: «У Macintosh безглуздий користувальницький інтерфейс». Безглуздий? Про що це він? Всі ж знають, що у Макінтош витончений інтерфейс, і вся фішка в простоті використання.

Ось мій аналіз цієї загадки. Хочеш перетягнути вікно на Макінтош — просто потягни за будь-який край. На Windows для переміщення використовується панель заголовка, а якщо потягнути за кут, вікно змінить форму. Застосовуючи цей принцип, Піт намагався розширити вікно на Маці Джини, але він зрадницьки переміщалося. Коли на Windows спливає вікно повідомлення, ви натискаєте Enter або пробіл, і вона закривається. На Mac OS пробіл не спрацює, доведеться клацнути мишею. Отримавши повідомлення, Піт за звичкою натиснув на пробіл, що прибрати його. Це спрацьовувало останні шість років, але не в цей раз. Сам того не розуміючи, Піт почав довбати по кнопці. Він був упевнений, що Мак просто не зареєстрував натискання. Врешті-решт він скористався мишею, але встиг понервувати.

Читайте також  Shader — це не магія. Написання шейдерів у Unity. Введення

Піт звик закривати вікно вінди поєднанням клавіш Alt+F4. На Маці з їх допомогою міняється гучність. У якийсь момент Піт захотів клацнути на іконку Internet Explorer, причинені іншим вікном. Він затиснув Alt+F4 для закриття вікна і тут же двічі клікнувши по потрібній іконці. Що ж, після цього йому треба було закрити два вікна: операції спрацювали інакше.

Здавалося б, дрібниці, але їм вдалося зіпсувати Піту вечір. Хлопець намагався тримати все під контролем, однак нічого не вийшло. Пробіл і клавіші Alt+F4 «не працювали», але в нашому сприйнятті це більше схоже на поломку. Неслухняний вікно ніби подшучивало над Пітом і переміщалося, замість того, щоб розширюватися. Погане вікно. Навіть це підсвідоме, тонке відчуття неконтрольованість переходить у безпорадність, яка переходить у нещастя. «Я люблю свій комп’ютер», — розповідає Піт. Вінда працює так, як мені подобається. На цих маках так складно і незручно. Одні розлади. Якщо б у Apple всі ці роки працювали над операційною системою, а не возилися з Ньютонами, не було б такої плутанини».

Ми прекрасно розуміємо тебе, Піт. Але, незважаючи на твої почуття, Macintosh дуже зручний у використанні. Наприклад, для користувачів Mac. Програмісти Microsoft, які, перед-позитивно, копіювали інтерфейс Mac, думали, що додають нову класну функцію, дозволяючи змінювати розмір вікон, простягаючи будь-який край. Програмісти Mac OS 8.0, ймовірно, вважали, що буде зручно переміщати вікна з допомогою країв. Більшість воєн, разжигаемых з-за користувальницьких інтерфейсів, сфокусовані на неправильні речі. Windows краще, тому що зручно змінювати розмір вікна? Це не має значення. Фішка в тому, що інтерфейс має відповідати очікуванням користувача. Якщо це не так, користувач буде відчувати себе безпорадним. Як я, коли колеса візка повернулися не в ту сторону, і я врізався в стіну. Ти-дыщ!

Користувальницький інтерфейс важливий, так як він впливає на почуття, емоції та настрій ваших користувачів. Якщо UI поганий, то люди не зможуть контролювати здійснюються операції, будуть засмучуватися, а винен в цьому розробник. Якщо інтерфейс працює, як треба, то користувачі будуть щасливі, тому що досягнуть своїх невеликих цілей. Ура! Спрацювало! Відмінне програмне забезпечення! Woohoo!

Ощасливити людей — означає дати їм контроль над ситуацією. Для цього потрібно правильно інтерпретувати їх дії. Отже, головне правило UI-дизайну говорить:

«Хороший користувальницький інтерфейс веде себе саме так, як від нього очікують»
Як говорив Гиггель: «Усе інше — це лише коментарі». Інші правила UI-дизайну — просто слідства.

Джерело: Controlling Your Environment Makes You Happy

Степан Лютий

Обожнюю технології в сучасному світі. Хоча частенько і замислююся над тим, як далеко вони нас заведуть. Не те, щоб я прям і знаюся на ядрах, пікселях, коллайдерах і інших парсеках. Просто приходжу в захват від того, що може в творчому пориві вигадати людський розум.

Вам також сподобається...

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *