Шрифт:
Интервал:
Закладка:
Ложные цели
Повседневные продукты, основанные на программном обеспечении, создаются на основе ложных целей. Многие из этих целей облегчают задачу создания программ, в чем и заключается цель программиста, и потому их приоритет повышается во вред конечному пользователю. Другие ложные цели связаны с задачами, возможностями и инструментами. Все это средства достижения результатов, но еще не результаты, тогда как цели всегда являются результатами.
ЛОЖНЫЕ ЦЕЛИЭкономия памяти
Уменьшение потребности в клавиатурном вводе
Поддержка работы в броузере
Простота в освоении
Обеспечение целостности данных
Ускорение ввода данных
Увеличение скорости исполнения программы
Применение супертехнологии или супервозможностей
Улучшение внешнего вида
Сохранение единообразия интерфейса на различных платформах
«Обеспечение целостности данных» – это не цель для программы управления списками рассылки и, наоборот, цель для программы, вычисляющей орбиты космических челноков. «Экономия памяти» не так уж важна для программы управления пользовательскими базами данных, поскольку объемы данных невелики, а компьютеры мощные. Даже «простота освоения» не всегда оказывается основной целью. Так, пилот истребителя, легко освоивший боевые системы, а затем обнаруживший, что они медленные и неуклюжие, в воздушном бою окажется не в лучшем положении. Цель пилота – победить в бою, а не расслабляться во время учебы.
После изобретения микропроцессора компьютерная революция оседлала волну новой технологии. Любая компания, пренебрегающая новыми техническими идеями, обречена. Однако не следует путать методы и цели. Возможно, задача компании, разрабатывающей программы, состоит в применении технологии, но у пользователя нет подобных целей. Мне, как пользователю, все равно, как решаются мои рабочие задачи – посредством баз данных иерархических, реляционных, объектно-ориентированных, при помощи структурированных записей в файлах или же просто черной магии. Меня интересует только выполнение работы – быстрое, с некоторой легкостью и достоинством.
Например, в 1996 году фирма Visioneer Соmpanу оттяпала изрядную долю рынка настольных сканеров у крепких конкурентов. Visioneer свершила свой замечательный подвиг с помощью старомодных черно-белых сканеров, которые на рынке состязались со сканерами конкурентов, способными сканировать в полутонах и даже в цвете. Однако продукт Visioneer включал программное обеспечение, ориентированное на цели и позволявшее пользователям с легкостью сортировать сканированные изображения и просматривать их, тогда как программы других производителей просто перекидывали изображения в сложную файловую систему.
И у компьютера есть человеческие черты
Клиффорд Насс (Clifford Nass) и Байрон Ривз (Byron Reeves), два профессора Стэнфордского университета, изучают реакцию людей на компьютеры. Путем умелой переориентации классических экспериментов в социальной психологии они смогли пронаблюдать замечательное поведение. Свои открытия Насс и Ривз опубликовали в книге «The Media Equation»28 (Уравнение media). Авторы убедительно показали, что люди реагируют на компьютеры так же, как на других людей.
Насс и Ривз пишут, что
«…люди не доросли до уровня технологий двадцатого века»
и что
«современные средства работы с информацией используют устаревшие подходы… Как следствие, к любой достаточно развитой информационной среде предъявляются такие же требования, как и другому человеку, хотя люди понимают, что это глупо, и склонны впоследствии все отрицать».
Человеческий мозг считает компьютеры не столько неодушевленными предметами, сколько предметами, поведение которых схоже с человеческим, поэтому мы бессознательно относимся к ним, как к другим людям, хотя и «считаем, что это неразумно».
Иначе говоря, у людей есть особые инстинкты, подсказывающие, как надо вести себя рядом с другими разумными существами, и как только произвольный объект демонстрирует достаточно серьезное когнитивное сопротивление, эти инстинкты включаются, и мы реагируем так, будто имеем дело с другим разумным человеческим существом. Эта реакция бессознательна и неизбежна, она присуща каждому человеку.
Проявив тонкую иронию, Насс и Ривз подвергли испытанию множество студентов, выпускников компьютерных факультетов, причем довольно опытных, чтобы самостоятельно создавать тестовые программы. Подопытные – зрелые, высокообразованные, рациональные личности – все как один отрицали возможность эмоциональной реакции на когнитивное сопротивление, хотя объективные данные свидетельствовали об обратном.
Когнитивист, исследователь мозга Стивен Пинкер из МТИ, подкрепляет этот тезис в своей замечательной книге29. Он пишет:
«Люди продолжают верить во многое из того, что противоречит их опыту, но было правильно в той среде, в которой они развивались. И они преследуют цели, адекватные для той среды, но подрывающие их теперешнее благосостояние».
Проектирование и вежливость
Один важный вывод упомянутого исследования заслуживает особого внимания: если мы хотим, чтобы пользователю понравилась программа, то должны проектировать ее поведение таким образом, чтобы оно напоминало поведение симпатичного нам человека. Если мы хотим, чтобы пользователи эффективно работали с продуктом, то должны спроектировать его так, чтобы он вел себя подобно хорошему сотруднику. Просто, правда?
Насс и Ривз утверждают, что программы должны быть «вежливыми», поскольку это повсеместно распространенная поведенческая особенность человека (набор действий, считающихся вежливыми, для каждой культуры свой, но понятие вежливости существует во всех культурах). Наши продукты, обладающие высоким когнитивным сопротивлением, должны следовать этому простому правилу и вести себя вежливо. Многие высокотехнологичные продукты предполагают, что слова «пожалуйста» и «спасибо» компенсируют любую грубость, но это решительно не то поведение, которое подразумевает вежливость.
Если программа скупа на информацию, затрудняет понимание происходящего, заставляет пользователя долго искать самые востребованные функции да еще торопливо сваливает на пользователя вину за собственные недостатки, пользователю эта программа не понравится, а опыт работы с ней будет неприятным. Наличие слов «пожалуйста» и «спасибо» ничего не меняет. Точно так же ничего не меняет симпатичный, образцовый, визуально наглядный, переполненный информацией или даже антропоморфный интерфейс.
С другой стороны, если взаимодействие проникнуто уважением, благородством, содержит полезную информацию, то пользователю программа понравится и работать с ней ему будет приятно. Опять же, этот результат не зависит от типа интерфейса: интерфейс командной строки на зеленом фоне будет принят пользователями, если сможет реализовать перечисленные свойства.
Что такое вежливость?
Что представляет собой дружелюбная к пользователю, или вежливая программа? Каким образом ее поведение может стать более похожим на человеческое? Продавцы подержанных автомобилей одеваются красиво, улыбаются широко, переполнены заманчивой информацией, но становятся ли они от этого приятными? Люди совершают ошибки, медленно думают, импульсивно действуют, но из этого не следует, что программа, обладающая подобными свойствами, хороша. Некоторые люди обладают особыми качествами, и эти качества делают их подходящими для работы в сервисном обслуживании. Программное обеспечение всегда находится в такой роли.30
Большинство хороших разработчиков программного обеспечения испытывают затруднения, когда им приходится проектировать вежливость. Роберт Кринджели (Robert Х. Cringely) говорит о программистах:
Они выразительны и точны до чрезвычайности, но лишь когда им этого хочется. Их внешний вид намеренно подчеркивает личные приоритеты, а не свидетельствует о лени. Режим общения у них настолько регламентированный, что иногда, кажется, будто они не способны общаться. Назовите его Майком, если он называет себя Майклом, и почти наверняка он не ответит, поскольку с его точки зрения маловероятно, что вы обратились к нему31.
Можно видеть, как понятие «вежливость» или даже «человечность» может стать камнем преткновения, попроси мы программистов интерпретировать столь нечеткие концепции. Они сражаются против идеи превращения компьютеров в объекты с более человеческим поведением, потому что считают людей слабыми и несовершенными вычислительными устройствами.
- Создание электронных книг из сканов. DjVu или Pdf из бумажной книги легко и быстро - "TWDragon" - Программирование
- Delphi. Учимся на примерах - Сергей Парижский - Программирование
- Сделай видеоигру один и не свихнись - Слава Грис - Программирование / Руководства
- Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ - Хелен Борри - Программирование