Человеческий фактор в программировании
Шрифт:
Зачастую юзабилити-тестирование не обнаруживает даже фундаментальные ошибки в архитектуре и не выявляет необходимость в коренной перестройке взаимодействия между программным обеспечением и пользователем. Оно помогает найти лишь небольшие изъяны в данном общем подходе. Подобно тому как с помощью тестов не найти путь к безошибочному коду, с их помощью не найти путь к пользовательским интерфейсам, свободным от изъянов.
Даже экспертные оценки, которые обычно дешевле и более эффективны, чем юзабилити-тестирование, часто проводятся слишком поздно, чтобы быть полезными. В одном приложении тщательное инспектирование пользовательского интерфейса выявило немногим более сотни ошибок, которые были отсортированы по степени влияния на юзабилити продукта.
Разработка программного обеспечения сводится к созданию различных функций. На рынке выигрывает тот, кто предлагает наибольшее количество функций или самые необычные возможности. Однако программное обеспечение с притягательной 3D-графикой, перегруженное функциями, может оставаться несовершенным с точки зрения пользовательского интерфейса. Юзабилити программного обеспечения касается общей организации пользовательского интерфейса. При анализе юзабилити не рассматриваются функции программы и их взаимодействие, призванное облегчить работу пользователя, А значит, каждый участник команды должен обращать внимание на архитектуру и детали интерфейсов в течение всего процесса разработки.
Возможно, производители программного обеспечения уделяют столько внимания композиции и внешнему виду не потому, что это так важно для юзабилити, а потому, что кроме этого они ничего не умеют отлаживать.
Из журнала Software Development, том 2, № 4, апрель 1994 г.
40
Редактирование интерфейсов
Моя компания только что закончила редактировать пользовательский интерфейс. Официально контракт предусматривал проведение «экспертной оценки юзабилити», но на самом деле мы занимались редактированием. Хороший пользовательский интерфейс начинается с хорошей архитектуры, но для обеспечения удобства и практичности программного обеспечения необходимо выявить и устранить изъяны в пользовательском интерфейсе. Часто для исправления ошибок приходится не один раз проводить критический анализ, пересмотр и доработку. В этом состоит процесс редактирования, а навык редактирования является одним из важнейших навыков для разработчиков программного обеспечения и прикладных программ. Редактирование программы, книги или пользовательского интерфейса во многом очень похожи.
Я всегда завидовал писателям, чьи пальцы с легкостью парят над клавиатурой, создавая первые черновики, которые можно считать окончательным вариантом. Я пишу медленно, иногда мучительно, зачастую нерегулярно, а первые плоды моего труда редко бывают съедобными. К счастью, я довольно хороший редактор. За многие годы я научился «отключаться» от своих сочинений, чтобы спустя время окинуть их свежим придирчивым взглядом и найти места, требующие переделки. Статья может пройти через четыре или пять раундов безжалостной редактуры, прежде чем я смогу с удовлетворением сказать, что теперь она готова.
На самом деле многое из того, что мне известно как писателю, я узнал в процессе многолетней работы в качестве редактора книг, журналов и брошюр. Если заниматься этим долго, то редактирование входит в плоть и кровь. Редакторский склад ума становится способом восприятия мира. Некоторые привычки редактирования настолько во мне укоренились, что стали почти автоматическими и бессознательными. Я могу просматривать книгу в магазине и заметить опечатку прямо при перелистывании страниц, как будто слова с ошибками напечатаны жирным шрифтом и прыгают на страницах, чтобы обратить на себя внимание.
Такая способность иногда приводит к неловким ситуациям, особенно если не умеешь себя сдерживать. Однажды я ждал, когда освободится столик в одном из тех небольших стильных французских кафе, в которых меню написано мелом на доске. Без колебаний и раздумий я подошел к доске и по привычке исправил ошибку в слове. Мои дочери были в шоке.
Некоторые люди от рождения пишут грамотно. Но не я. Программист-писатель П. Дж. Плоджер (P. J. Plauger) однажды заметил, что он органически не способен писать слова неправильно. Он сказал это перед тем, как предложить мне приглашать кого-либо для вычитки моих рукописей. Вместо того чтобы последовать его совету, я сам научился писать правильно.
В этом мне помогли два обстоятельства. Начало положила многолетняя работа в качестве редактора журнала, пытающегося спасти малопонятные, неэстетичные и громоздкие сочинения ученых и исследователей. Завершили дело программы проверки орфографии. В конечном итоге после многолетнего применения текстового редактора со встроенной проверкой орфографии я стал писать правильно. Программы проверки орфографии — это замечательные учителя. На самом деле они не проверяют текст и не исправляют ошибки, а просто сообщают вам о том, что они не распознали какое-то слово. Первые программы проверки орфографии даже не предлагали варианты для исправления, поэтому вам приходилось обращаться к словарю для того, чтобы убедиться в своей правоте либо исправить ошибку. В любом случае вы сразу получали обратную связь и активно занимались самообучением. Поэтому теперь мне трудно не заметить ошибку в правописании.
То же самое относится и к редактированию пользовательских интерфейсов. Когда вы начнете думать в терминах юзабилити, вам будет трудно не замечать изъяны юзабилити, где бы они не скрывались. Вы обращаете внимание на то, что указатели в больнице могут вводить посетителей в заблуждение или сбивать с пути. Вы видите, что назначение кнопок на дистанционном пульте видеомагнитофона трудно запомнить, а объяснения вашего соседа по поводу направления движения неоднозначны.
Конечно, находить недостатки в других системах нетрудно — намного труднее увидеть изъяны в своей собственной работе. Например, экспертная оценка юзабилити, упомянутая мной ранее, была втиснута в довольно плотное рабочее расписание. Наш отчет перечислял более сотни изъянов юзабилити в проекте пользовательского интерфейса, выполненном нашим клиентом. Отчет прошел тщательную вычитку, прежде чем мы передали его для печати и переплета в один из круглосуточных копировальных центров. Утром в день проведения консультации, когда вместе с нашим клиентом, его помощниками и его начальником мы собрались вокруг стола, я открыл отчет и в тот же миг заметил вопиющую опечатку на самой первой странице. Всегда ли так происходит?
Редакторы и писатели знают об этом эффекте и пользуются им. Если вы хотите вычитать свой собственный текст, то уберите его на пару дней в ящик письменного стола перед тем, как перечитать. Если вы хотите выявить изъяны юзабилити в своем пользовательском интерфейсе, то отложите схемы, наброски и снимки экрана в сторону на день или два, и займитесь чем-нибудь другим. Когда вы обратитесь к ним вновь, вам будет легче посмотреть на вашу работу свежим взглядом и увидеть в ней возможные недочеты.
Редакторы журналов часто подходят к своей работе с позиции заведомо несведущего читателя. Пит Бикфорд (Pete Bickford), который некогда носил титул чемпиона по пользовательским интерфейсам (User Interface Champion) в Apple, так же оценивает пользовательские интерфейсы. Он говорит, что его работа подразумевает вхождение в роль самого глупого пользователя на планете. Это такой настрой ума, при котором вы отключаете все, что вам известно о компьютерах, или приложениях, или программировании. Если вы сможете посмотреть в верхний правый угол окна Windows-приложения и увидеть кнопку для увеличения, то у вас есть перспектива стать более эффективным редактором интерфейсов.