Психбольница в руках пациентов


Мир всем!
     Привет. Так получилось, что на своей работе я начал сталкиваться с проектированием пользовательских интерфейсов. Несколько человек, на протяжении нескольких лет, говорили мне, что мои интерфейсы очень хреновые и плевали в экран монитора, когда видели их. Невозможно измерить количество слюны, которое было потрачено пользователями при работе с моими системами. Поэтому, я призадумался над этим. Не, вообще, мне мои интерфейсы нравятся, но я подумал, что не могут же все так ошибаться. Поднял свои старые системы, которые ещё писал в универе, посмотрел, они были правы. Отсюда был сделан, вывод нужно подтянуть навыки дизайнера и юзабилити.  И в качестве, учителя, я выбрал классику - "Психбольница в руках пациентов" Алана Купера. Написана она была в далеком 2005 году, уже тогда достаточно остро встала проблема юзабилити.
Вообще, слово usability образовано от слова usable - удобный, таким образом usability - дисциплина, главная цель, которой - увеличить удобство использования какого-либо инструмента для пользователя.
Автор этой книги, сам бывший программист, который столкнулся с проблемой потери производительности целых компаний из-за неудобства пользовательского интерфейса. Дух его книги доказательный, он все силы бросает на то, чтобы доказать, что такая проблема есть, пытается углубиться в её суть, детали. Он приводит много фактов, чтобы мы поверили в неё. Часто он углубляется настолько глубоко, что доходит до философских рассуждений.
В начале, он описывает много разных случаев, когда встречался с трудностями при работе с компьютерами. Потом пытается найти виноватых в этой трудности, но не может.
Например, он описывает одну историю: "В декабре 1995 года рейс 965 компании American Airlines вылетел по регулярному маршруту из Майами в Кали, Колумбия. На подлете к посадочной полосе пилоту Боинга-757 потребовалось выбрать следующий радиомаяк по имени "ROZO". Он набрал букву "R"  в  своем  навигационном  компьютере.  Компьютер  отобразил  перечень  ближайших радиомаяков с именами на "R", а пилот выбрал первую позицию в списке, потому что широта и долгота показались ему верными. К несчастью, вместо "ROZO" пилот выбрал маяк "ROMEO", расположенный  в 210 километрах  к  северо-востоку.  Самолет направлялся на юг и находился в тот момент в долине, пролегающей с юга на север, так что любое отклонение от курса было опасно. Следуя показаниям полетного компьютера, пилоты начали корректировать курс к востоку, и самолет врезался в гранитный пик на высоте трех километров. Сто пятьдесят два пассажира и восемь членов экипажа погибли. Четыре  пассажира  выжили,  получив  серьезные  травмы." Затем, он начинает размышлять Кто же виноват в этом? Всё это переходит в достаточно философские рассуждения о информации и веке информации, в целом. "Полученная  информация может  быть  точной  и  полной,  но  при  этом  трагически некорректной. Это происходит слишком уж часто, когда мы общаемся с компьютерами, а компьютеры проникли во все аспекты современной жизни." После такого заявления, автор пытается привести другие примеры из разных сфер деятельности человечества. Поэтому, следующие его главы носят такие названия: "Что получиться если скрестить комп с фотокамерой?", "Что получиться если скрестить комп с будильником?", "Что получиться если скрестить комп с автомобилем?", "Что получиться если скрестить комп с банком?", "Коммерческое программное обеспечение тоже страдает", "Что получиться если скрестить комп с военным кораблем?". После каждой главы, автор в чем-нибудь обвиняет компьютер, он бросается такими фразами: "Программное  обеспечение  полетных  развлекательных  систем  работало  с безупречной  точностью,  но  не  умело  взаимодействовать  с  людьми,  и  поэтому  его внедрение закончилось полным провалом", "Возмутительное  поведение  и  невразумительность  взаимодействий,  присущие продуктам,  основанным  на  программном  обеспечении,  наделяют  законным  статусом режим,  который  я  называю «апартеидом  программного  обеспечения»", "По сути дела, от природы компьютерам ничего не присуще: они просто  действуют,  повинуясь  программе.  А  программы  пластичны  так  же,  как человеческая  речь.  Человек  может  говорить  грубо  или  вежливо,  угрюмо  или  любезно. Так же легко, как человек способен вежливо говорить, компьютер может уважительно и с почтением себя вести. Требуется лишь, чтобы кто-нибудь объяснил, каким образом. К сожалению, программисты не слишком успешно учат компьютеры подобным вещам. " после всего этого он как-то подводит итог - "Компьютер позволяет легко попасть в беду". Самое главное, что проблема очень глубока, с одной стороны она корнями уходит в область владельцев бизнеса, которые вкладывают деньги в продукты, с другой в область программистов, которые сами по себе отличаются от других людей.
Когда я читал эту книгу и слышал такие обвинения, я задавался вопросом "Почему тогда люди вообще пользуются такими программами, если они плохие?", на что позже был дан ответ - мы пользуемся ими, потому что других нет. Мы научили компьютер работать как-то и это уже нам кажется достижением. "Танцующий медведь", так обзывает автор, наши программы - пофигу, что это медведи, но ведь они танцуют. 
Поэтому люди пользуются ими.
Автор делит всех людей на два типа: апологеты и уцелевшие.
Апологеты - это люди, которые любят компьютерную сложность. Им нравятся разбираться в огромном наборе функций продукта. Им нравиться ковыряться в продукте, познавать его, им нравятся чувствовать превосходство над другими людьми. Когда они всё же изучат продукт, говорят: "это же легко, достаточно запомнить, что нужно нажать три раза туда и пять раз сюда и всё будет работать как нужно". 
Уцелевшие - это люди, которые не любят компьютерную сложность, они не хотят сильно париться и поэтому говорят, что компьютер - это слишком сложно для них, и вообще перестают им пользоваться.
Программисты, которые делают все эти программы, как раз относятся к апологетам. Они защищают компьютер и не считают, что их программы сложные. Они просто не видят этого. Они проектируют пользовательский интерфейс для апологетов и думают, что это будет удобно всем.
На самом деле причин усложнения интерфейса и появления неудобных программ очень много и в книге они достаточно тщательно описываются, тут приведу лишь список:


  • Люди,  управляющие  созданием  продуктов,  основанных  на  программном обеспечении,  либо  являются  заложниками  программистов,  будучи  недостаточно подкованными технически, либо слишком сочувствуют программистам, потому что сами таковыми  являются.  
  • Проектирование взаимодействия и проектирование интерфейса разные вещи.
  • Реализация в продукте некоторых "дополнительных возможностей" (которые в итоге никому не нужны, но добавили сложность в интерфейс, и не только).
  • Система проектируется для "универсального" пользователя, она не разделяет профессионалов и дилетантов.
  • Вечная борьба программистов, проектировщиков и дизайнеров.
  • "Сначала напишем код, а потом спроектируем взаимодействие".
  • Программисты полностью рулят ситуацией. Именно  они  определяют,  сколько  времени займет  реализация  каждой  возможности,  и  поэтому  могут  перемещать  требования  в конец  списка,  просто  посчитав  их  трудоемкими. 
  • Руководители отказываются тратить деньги на специалистов проектирования взаимодействия.
  • Прототипирование плавно переходящее в рабочий проект.
Далее автор углубляется уже в конкретные проблемы программных продуктов, описывая их, приводя примеры из жизни. Вот список тех неудобств, которые постоянно испытывают пользователи при работе с программами:
  • Программу нужно устанавливать. Почему её нельзя сразу запустить?
  • Программа постоянно забывает пользователя. Новый запуск программы - новый пользователь.
  • Программы ленивы. Они не дают пользователю, что ему конкретно нужно, а если и дают, то пользователь сам должен проделать кучу работы.
  • Программы скупы на информацию. Они либо скрывают нужную информацию для пользователя, либо показывают не нужную.
  • Программы не гибкие, они не знают о стрессовых ситуациях, они не могут подстраиваться под условия.
  • Программы возлагают вину на пользователей. Если  программа  сталкивается  с  проблемой,  она  неизменно  возлагает  проблему  на пользователя,  да  ко  всему  еще  и  обвиняет  его  в  возникновении  проблемы.
  • Программы не несут ответственности. Скажешь ей "erase all" и она просто это сделает.
Возможно, эти неудобства вам покажутся странными, но они действительно есть и от них можно реально избавиться.
Далее, Алан Купер, описывает психологию разработчиков, взаимодействие разработчиков и владельцев корпораций, в которых они работают в рамках развития продукта, крупнейшие провалы и победы программ с точки зрения взаимодействия. 
Так проходит половина книги. В следующей половине, автор делится своим собственным опытом проектирования программного продукта для самолета, описывает различные методики, которые применяла его команда для этого. Например такие:
  • Выделение конкретных персонажей, проектирование для конкретного персонажа, и конструирование продукта на основе предпочтений этих персонажей.
  • Проектирование ориентированное на результат. Разделение целей пользователя. 
  • Пользовательские сценарии.
Книга была написана в 2005 году, поэтому все эти методики уже активно используются и дополняются. "Психбольница в руках пациентов" - начинается с философских рассуждений, включающих в себя психологию участников процесса, их борьбу и трудности с которыми они сталкиваются, а заканчивается конкретными техниками, советами, которые могут применяться и применяются. Именно поэтому эта книга считается классикой проектирования взаимодействия.


Комментарии