Человеческий фактор в программировании
Шрифт:
Самое важное в разработке пользовательских интерфейсов — предоставить пользователю возможность легко подстраивать интерфейс под свои вкусы и привычки. Такие изменения должны способствовать, а не мешать выполнению задач с помощью данного программного обеспечения.
Эстетика является важным элементом пользовательского интерфейса, но она не должна сказываться на юзабилити. Я могу изменять содержимое и расположение панели инструментов, но мне не нужно, чтобы у сообщений были кружевные края. На мой взгляд, в простой практичности есть своя красота. Перечница или солонка, защелкивающиеся штекеры. Инструменты, которые хорошо работают, которые точно соответствуют своему назначению и хорошо лежат в руке пользователя, прекрасны сами по себе. Нам
В течение дня я много времени провожу перед монитором. Для меня «обои» на рабочем столе становятся виртуальным окном, как любимое кухонное окно над раковиной, через которое можно смотреть в сад, пока моешь посуду. Иногда на моем рабочем столе открывается панорама каскадов и потоков Города Водопадов (Waterfall City) в изображении художника Джеймса Герни (James Gurney). А иногда на нем можно увидеть грубые, но красивые пролеты мостов Рона Валотски (Ron Walotsky) и виадуки, пересекающие воображаемый город. Иногда золотые краски чужого солнца вырисовывают прекрасные воздушные арки Aristoi Джима Бернса (Jim Burns). Можно ли назвать этот интерфейс женским? Или типично мужским? Американским? Европейским? Интеллектуальным? Чувственным? Кто знает. Об этом не говорится в учебниках по пользовательским интерфейсам. Хотя стили этих художников, мастеров современного фантастического реализма, совершенно отличаются друг от друга, их объединяет одно эстетическое звено: я. Именно я собрал эти изображения вместе. Именно я могу смотреть на эти виды, размышляя над следующей главой.
Если вы хотите продать свой интерфейс большему количеству людей, не создавайте стереотипов и не ставьте свои догматические представления о дизайне между пользователем и программным обеспечением. Дайте пользователям возможность самим настраивать то, что имеет для них значение, будь то внешний вид программного обеспечения или его работа. А затем просто отойдите в сторону.
Из журнала Software Development, том 2, № 8, август 1994 г.
51
Мастеры
Согласно одной из аксиом научной фантастики, непосвященным любая новая технология кажется магией. Даже для тех, кто в курсе дела и знает, что все это лишь сложение с плавающей точкой и условная логика, компьютеры в какой-то степени представляются черной магией. Некоторые разработчики программного обеспечения даже усиливают ощущение волшебства, добавляя в свои продукты всевозможные мастеры (wizards), агенты и элементы активного интеллекта.
Подобно специалисту по приготовлению коктейлей, программный мастер задает наводящие вопросы, а затем делает выводы. Мастер в презентационном пакете может спросить о виде презентации, основной и второстепенных темах, о составе аудитории и о ваших целях. Далее мастер выбирает цветовую схему, шаблон слайдов и затем показывает вам заглавный слайд. Может быть, это хороший способ, а может быть, не очень, но, по крайней мере, он дает вам возможность не думать. И если вы не против визуальных материалов, которые выглядят как у всех, тогда вам и не нужно иметь хороший вкус или знать что-либо о композиции и дизайне.
Стивен Уейс (Steven Weiss), программный методист и волшебник, однажды сказал мне: «Волшебник — это актер, который играет роль волшебника». Тогда мастер — это, должно быть, тупая программа, которая играет роль разумного актера. Хотя мы все знаем, что настоящей магии не бывает, по каким-то причинам мы готовы верить, что искусственный интеллект реален — когда видим его подобие на экране.
Даже эксперты могут доверять экранным псевдо-экспертным системам в программном обеспечении, имитирующем интеллект. Однажды я оценивал один CASE-инструмент, который включал в себя комплексную экспертную систему для автоматического преобразования аналитической модели (схемы потоков данных) в модель проектируемой системы (схему модульной структуры). В то время шло ее бета-тестирование и расширенное внутреннее применение в реальных проектах. Ни один пользователь так и не заметил, что независимо от изменения условий и критериев система всегда выдавала один и тот же вариант дизайна — выполнялась обыкновенная механическая трансформация входных параметров. Это вовсе не интеллектуальный дизайн и даже не особенно хороший. Экспертные возможности этой «интеллектуальной» программы никогда не подвергались сомнению. Рекомендации системы принимались без анализа и критической оценки.
Но мастеры хотя бы ждут просьбы показать фокусы или же стоят в стороне. Активные агенты — другая история. Эти резидентные программы следующего поколения сидят и наблюдают за тем, что происходит. Время от времени они предлагают помощь, или совет, или выдают какое-нибудь сообщение. В одном превосходном новом ГПИ каждый агент представлен карикатурной фигурой. Старуха с седыми волосами, стянутыми в пучок, представляет библиотекаршу. Строгий мужчина изображает менеджера ресурсов, а странный тип с опущенной на глаза шляпой — агента поиска. Когда эти агенты хотят что-нибудь сказать, выражение их лиц меняется. Они могут слегка хмуриться, чтобы указать на возможную ошибку, или поднимают палец и показывают, что у них есть какое-то предложение или сообщение. Если не говорить о сексизме и культурных предрассудках, можно ли считать эту идею хорошей?
Некоторые производители программного обеспечения думают, что электронная почта должна быть активной и по своей воле выполнять что-либо на машине получателя — например, запускать какое-нибудь приложение или удалять себя, если она долго лежит непрочитанной. Мне это больше всего напоминает вирус. Не знаю, как остальной корпоративный мир, но я хочу, чтобы моя электронная почта ничего не делала на моей машине, а только сидела бы тихо, пока я не решу, что с ней делать.
Люди очеловечивают все, что видят вокруг себя — от машин до кошек. Многие пользователи компьютеров дают своим машинам личные имена. Очень многие, в том числе и немало разработчиков программного обеспечения, приписывают личностные качества программному и аппаратному обеспечению. Для некоторых программистов это может быть своеобразной манерой говорить о технике, но для многих людей это действительно анимизм — форма магического мышления, в которой неживым и неразумным вещам приписывается способность действовать и думать. Имен-но так мы и поступаем, когда что-то не понимаем или не можем с чем-нибудь разобраться. Мы все этим грешим.
Мой первый микрокомпьютер получил имя Большой Чародей. Даже с ограниченной памятью и слабоватой графикой он мог выполнять некоторые довольно впечатляющие действия, связанные не только с проектированием. После целого дня работы в его памяти то тут, то там появлялись провалы. Я прекрасно понимал, что под термической нагрузкой часть микросхем работала на пределе, однако это действительно выглядело так, словно компьютер становился капризным и раздраженным, будто уставший ребенок.
Если бы не моя скептическая натура и не знания, полученные в Массачу-сетском технологическом институте, я, наверное, поверил бы, что Чародей испытывает некую неприязнь к моей подруге, которая иногда набирала на нем какие-нибудь бумаги. У меня он работал идеально, но стоило ей сесть за него вместо меня и начать набирать, как через пять минут Чародей начинал выбрасывать на экран какой-то мусор и глючить, зациклившись на какой-нибудь подпрограмме. Когда я снова садился за него, все опять работало хорошо. Я знаю, что этому можно найти какое-то рациональное объяснение (хотя мы так его и не нашли), но было трудно не поверить в то, что моя подруга и Чародей просто не ужились.
Кончено, компьютеры не думают. Даже самый лучший, так называемый машинный интеллект представляет собой не что иное, как человеческий интеллект, скрытый за ширмой пикселов и мегабайтов. Ни один из современных «умных» механизмов не имеет показатель искусственного IQ выше нуля. Вся эта «интеллектуальность», если ее можно так условно назвать, является вымышленной. На недавней конференции один юзабили-ти-каббалист, рассказывавший об «обольстительных интерфейсах», сказал, что при помощи интеллектуальных пользовательских интерфейсов можно даже «имитировать реальную интимную близость». «Это вовсе не трудно, — уверял он. — Ну, вы знаете, точно так же, как вы делаете это с вашей женой». С его женой, может быть.