Архитектура встраиваемых систем. Работа с таймерами МК. Отчет по лабораторной работе. Алан Купер Психбольница в руках пациентов
Скачать 7.24 Mb.
|
Принцип соразмерности усилий Конечно, через какое-то время желание Теда достичь всех практических целей, воспользовавшись преимуществами новых супервозможностей, начнет усиливаться. Но к тому моменту он проведет уже множество счастливых часов со своим новым телевизором, привык нет к нему и будет готов приложить дополнительные усилия. Теперь уже телевизору будет сложнее унизить Теда, его терпимость к взаимодействиям стала выше, и он стал точнее представлять себе, чего хочет добиться. Известная человеческая черта, и Тед здесь не исключение,- реагировать на компьютеры эмоционально (более подробно чуть позже в этой главе). Взаимодействуя с продуктом, человек естественным образом наделяет этот продукт человеческими качествами. Тед готов вложить дополнительные усилия в настройку своего телевизора, поскольку чувствует, что телевизор приложил усилия, чтобы доставить ему, Теду, удовольствие. Это я и называю принципом соразмерности усилий. Люди готовы постараться, решая задачи, потому что воспринимают это как честный обмен между равными 200 сторонами. Иначе говоря, пользователь готов приложить дополнительные усилия, потому что ожидает получить за эти усилия дополнительное вознаграждение. Личные цели Рассмотрим цели более подробно. Я уже говорил о двух видах целей, однако помимо личных и практических существуют еще цели корпоративные и ложные. Личные цели просты, широко распространены и, да, персональны. Парадоксально, но эти качества делают личные цели трудной темой для многих людей, особенно в контексте обезличенного бизнеса. ЛИЧНЫЕ ЦЕЛИ Не чувствовать себя глупо Не совершать ошибок Выполнить адекватный объем работы Развлечься (или хотя бы не страдать от скуки) Апологетов, как правило, очень беспокоит пункт «не чувствовать себя глупо». Это гордые, умные люди, они преуспевают в разрешении сложных ситуаций. Я бы сказал, что это очень похоже на предпринимателей Кремниевой Долины. К примеру, описав историю с телевизором Теда, я в качестве любезности отправил эту историю ему, человеку состоявшемуся, независимому, предпринимателю в области высоких технологий. Вот что ответил Тед: Нельзя сказать, что возня с руководством в 40 страниц заставляет меня чувствовать себя глупо. Скорее, хочется сэкономить время, которое я в раздражении потратил бы на решение ненужных задач, а точнее - изучил бы то, что, возможно, впоследствии придется изучать повторно. (Скажем, если отключат электричество, потребуется ли программировать телевизор еще раз, снова обращаясь к руководству?) Тед - апологет. Даже если он всего лишь произнесет резкое слово, это поставит под сомнение его способность победить телевизор независимо от сложности это задачи не признает раздражение, потраченное впустую время и даже ненужную избыточность, но ни в коем случае не глупость, даже если это только видимость глупости. Поэтому я неохотно отношусь к идее использовать другое слово. Я применяю слово «глупо» именно потому, что компетентным и разумным, этим суровым высокооплачиваемым гуру Кремниевой Долины так тяжело его произнести. Как они сами говорят, первый шаг 201 к разрешению проблемы - признать, что проблема существует. Личные цели всегда истинны и действительны в определенных рамках для всех людей. Личные цели всегда предшествуют всем другим целям, хотя очень редко становятся предметом обсуждения - как раз потому, что являются личными. Когда программа заставляет пользователей чувствовать себя глупо, их самооценка снижается, а эффективность деятельности входит в стремительный штопор, независимо от того, какие еще цели существуют. Любая система, идущая вразрез с личными целями, в конечном итоге обречена на неудачу, независимо от того, насколько качественно позволяет достигать целей иного рода. Корпоративные цели У каждого делового предприятия свои требования к программному обеспечению и уровень этих требований столь же высок, как и у личных целей отдельного индивидуума. Цель «увеличить прибыли» является преобладающей для совета директоров или держателей акций. Для того чтобы не отвлекаться от важных вопросов на повседневные задачи и другие ложные цели, проектировщик ориентируется на следующие: КОРПОРАТИВНЫЕ ЦЕЛИ Увеличить прибыль Увеличить рыночную долю Победить конкурентов Нанять больше сотрудников Предложить новые продукты и услуги Выпустить акции компании в свободное обращение Психологи, изучающие рабочую обстановку, применяют термин «гигиенические факторы», которые Сол Геллерман (Saul W. Gellerman) 1 определяет как «элементы, обязательные для эффективной мотивации, но не способные мотивировать самостоятельно». Освещение в вашем офисе гигиенический фактор. Вы ведь не ходите на работу только потому, что там хорошее освещение, но если бы освещения не было, вы не ходили бы туда вовсе. Я адаптировал этот термин, заменив факторы целями: «гигиенические цели». Я их определяю как цели необходимые для эффективной работы, но сами по себе не 1 Saul W. Gellerman «Motivation and Productivity», Amacom, New York, 1963. 202 мотивирующие. Все корпоративные и практически цели, приведенные в списке, являются гигиеническими. С точки зрения корпорации это все важные цели, однако, работу выполняет не корпорация, а люди, а для людей важнее цели личные. Можно провести параллель между целями корпоративными и личными: и те и другие представляют собой высшее выражение целей тех, кому они принадлежат. Ни те, ни другие нельзя умалять. Программа, которая не позволяет достичь какой-либо корпоративной или личной цели, потерпит неудачу. Практические цели Практические цели восполняют пробел между стремлениями компании и стремлениями отдельного пользователя. Корпорация желает, чтобы все работали на пределе с целью максимального увеличения итоговой прибыли. Практическая цель удовлетворения требований клиента соединяет корпоративную цель (более высокие прибыли) с личной целью пользователя (работать продуктивно). ПРАКТИЧЕСКИЕ ЦЕЛИ Избегать собраний Удовлетворять требованиям клиента Сохранять информацию о заказах клиента Создавать математические модели бизнеса Практические цели привлекательнее такой тонкой материи, как цели личные, особенно для бизнесменов и программистов-фанатов. Они создают программное обеспечение, которое замечательно помогает достигать практических целей, но совершенно не способно удовлетворить пользователей. Интерфейс, ориентированный на задачи, провоцирует пользователя на ошибки и снижает их способность быть продуктивными на личном уровне. В результате пользователи чувствуют себя неловко и относятся к программам с подозрением. Разумеется, чтобы удовлетворить цели бизнеса, вы должны встроить в программу определенные возможности. Пользователь должен решать задачи, необходимые для удовлетворения запросов клиентов и обработки заказов, однако это гигиенические элементы, поскольку любая из возможностей, не связанная с личными целями пользователя, оказывается неподходящей. Если пользователь не может достичь личных целей, то он не способен эффективно достигать целей компании. Непреложный факт: 203 счастливые и довольные сотрудники наиболее эффективны. Еще более справедливой эта истина становится в современной информационной экономике, где действительными активами компании являются люди, а не машины. С другой стороны, если программа игнорирует практические цели и служит только целям пользователя, это означает, что вы спроектировали компьютерную игру. Ложные цели Повседневные продукты, основанные на программном обеспечении, создаются на основе ложных целей. Многие из этих целей облегчают задачу создания программ, в чем и заключается цель программиста, и потому их приоритет повышается во вред конечному пользователю. Другие ложные цели связаны с задачами, возможностями и инструментами. Все это средства достижения результатов, но еще не результаты, тогда как цели всегда являются результатами. ЛОЖНЫЕ ЦЕЛИ Экономия памяти Уменьшение потребности в клавиатурном вводе Поддержка работы в броузере Простота в освоении Обеспечение целостности данных Ускорение ввода данных Увеличение скорости исполнения программы Применение супертехнологии или супервозможностей Улучшение внешнего вида Сохранение единообразия интерфейса на различных платформах «Обеспечение целостности данных» - это не цель для программы управления списками рассылки и, наоборот, цель для программы, вычисляющей орбиты космических челноков. «Экономия памяти» не так уж важна для программы управления пользовательскими базами данных, поскольку объемы данных невелики, а компьютеры мощные. Даже «простота освоения» не всегда оказывается основной целью. Так, пилот истребителя, легко освоивший боевые системы, а затем обнаруживший, что они медленные и неуклюжие, в воздушном бою окажется не в лучшем положении. Цель пилота - победить в бою, а не расслабляться во время учебы. 204 После изобретения микропроцессора компьютерная революция оседлала волну новой технологии. Любая компания, пренебрегающая новыми техническими идеями, обречена. Однако не следует путать методы и цели. Возможно, задача компании, разрабатывающей программы, состоит в применении технологии, но у пользователя нет подобных целей. Мне как пользователю все равно, как решаются мои рабочие задачи - посредством баз данных иерархических, реляционных, объектно-ориентированных, при помощи структурированных записей в файлах или же просто черной магии. Меня интересует только выполнение работы - быстрое, с некоторой легкостью и достоинством. Например, в 1996 году фирма Visioneer Соmpanу оттяпала изрядную долю рынка настольных сканеров у крепких конкурентов. Visioneer свершила свой замечательный подвиг с помощью старомодных черно-белых сканеров, которые на рынке состязались со сканерами конкурентов, способными сканировать в полутонах и даже в цвете. Однако продукт Visioneer включал программное обеспечение, ориентированное на цели и позволявшее пользователям с легкостью сортировать сканированные изображения и просматривать их, тогда как программы других производителей просто перекидывали изображения в сложную файловую систему. И у компьютера есть человеческие черты Клиффорд Насс (Clifford Nass) и Байрон Ривз (Byron Reeves), два профессора Стэнфордского университета, изучают реакцию людей на компьютеры. Путем умелой переориентации классических экспериментов в социальной психологии они смогли пронаблюдать замечательное поведение. Свои открытия Насс и Ривз опубликовали в книге «The Media Equation» 1 (Уравнение media). Авторы убедительно показали, что люди реагируют на компьютеры так же, как на других людей. Насс и Ривз пишут, что « ...люди не доросли до уровня технологий двадцатого века» и что «современные средства работы с информацией используют устаревшие подходы... Как следствие к любой достаточно развитой информационной среде предъявляются такие же требования, как и другому человеку, хотя люди понимают, что это глупо, и склонны впоследствии все отрицать». Человеческий мозг считает компьютеры не столько неодушевленными предметами, сколько предметами, поведение которых схоже с человеческим, поэтому мы бессознательно относимся к ним, как к другим людям, хотя 1 Byron Reevs, Clifford Nass «The Media Equation; How People Treat Computers, Television, and New Media Like Real and Places», Cambrige University Press, 1996. 205 и «считаем, что это неразумно». Иначе говоря, у людей есть особые инстинкты, подсказывающие, как надо вести себя рядом с другими разумными существами, и как только произвольный объект демонстрирует достаточно серьезное когнитивное сопротивление, эти инстинкты включаются, и мы реагируем так, будто имеем дело с другим разумным человеческим существом. Эта реакция бессознательна и неизбежна, она присуща каждому человеку. Проявив тонкую иронию, Насс и Ривз подвергли испытанию множество студентов, выпускников компьютерных факультетов, причем довольно опытных, чтобы самостоятельно создавать тестовые программы. Подопытные - зрелые, высокообразованные, рациональные личности - все как один отрицали возможность эмоциональной реакции на когнитивное сопротивление, хотя объективные данные свидетельствовали об обратном. Когнитивист, исследователь мозга Стивен Пинкер из МТИ, подкрепляет этот тезис в своей замечательной книге 1 . Он пишет: «Люди продолжают верить во многое из того, что противоречит их опыту, но было правильно в той среде, в которой они развивались. И они преследуют цели, адекватные для той среды, но подрывающие их теперешнее благосостояние». Проектирование и вежливость Один важный вывод упомянутого исследования заслуживает особого внимания: если мы хотим, чтобы пользователю понравилась программа, то должны проектировать ее поведение таким образом, чтобы оно напоминало поведение симпатичного нам человека. Если мы хотим, чтобы пользователи эффективно работали с продуктом, то должны спроектировать его так, чтобы он вел себя подобно хорошему сотруднику. Просто, правда? Насс и Ривз утверждают, что программы должны быть «вежливыми», поскольку это повсеместно распространенная поведенческая особенность человека (набор действий, считающихся вежливыми, для каждой культуры свой, но понятие вежливости существует во всех культурах).Наши продукты, обладающие высоким когнитивным сопротивлением, должны следовать этому простому правилу и вести себя вежливо. Многие высокотехнологичные продукты предполагают, что слова «пожалуйста» и 1 Steven Pinker «How the Mind Works», W.W. Norton & Company, 1997. Мне очень нравится эта великолепная, грамотная, увлекательная книга. Интересное чтение, открывающее глаза. 206 «спасибо» компенсируют любую грубость, но это решительно не то поведение, которое подразумевает вежливость. Если программа скупа на информацию, затрудняет понимание происходящего, заставляет пользователя долго искать самые востребованные функции да еще торопливо сваливает на пользователя вину за собственные недостатки, пользователю эта программа не понравится, а опыт работы с ней будет неприятным. Наличие слов «пожалуйста» и «спасибо» ничего не меняет. Точно так же ничего не меняет симпатичный, образцовый, визуально наглядный, переполненный информацией или даже антропоморфный интерфейс. С другой стороны, если взаимодействие проникнуто уважением, благородством, содержит полезную информацию, то пользователю программа понравится и работать с ней ему будет приятно. Опять же, этот результат не зависит от типа интерфейса: интерфейс командной строки на зеленом фоне будет принят пользователями, если сможет реализовать перечисленные свойства. Что такое вежливость? Кто представляет собой дружелюбная к пользователю, или вежливая программа? Каким образом ее поведение может стать более похожим на человеческое? Продавцы подержанных автомобилей одеваются красиво, улыбаются широко, переполнены заманчивой информацией, но становятся ли они от этого приятными? Люди совершают ошибки, медленно думают, импульсивно действуют, но из этого не следует, что программа, обладающая подобными свойствами, хороша. Некоторые люди обладают особыми качествами, и эти качества делают их подходящими для работы в сервисном 207 обслуживании. Программное обеспечение всегда находится в такой роли. 1 Большинство хороших разработчиков программного обеспечения и испытывают затруднения, когда им приходится проектировать вежливость Роберт Кринджели (Robert Х. Cringely) говорит о программистах: Они выразительны и точны до чрезвычайности, но лишь когда им этого хочется. Их внешний вид намеренно подчеркивает личные приоритеты, а не свидетельствует о лени. Режим общения у них настолько регламентированный, что иногда, кажется, будто они не способны общаться. Назовите его Майком, если он называет себя Майклом, и почти наверняка он не ответит, поскольку с его точки зрения маловероятно, что вы обратились к нему 2 Можно видеть, как понятие «вежливость» или даже «человечность» может стать камнем преткновения, попроси мы программистов интерпретировать столь нечеткие концепции. Они сражаются против идеи превращения компьютеров в объекты с более человеческим поведением, потому что считают людей слабыми и несовершенными вычислительными устройствами. Как-то я спросил своего друга Кейта Плиса (Keith Pleas), а он широко известен в сообществе разработчиков как сложившийся профессиональный программист, чувствительный к вопросам, связанным с пользовательским интерфейсом, о том, как сделать программы более человечными. Кейт интерпретировал «человечность» как внесение неточностей во взаимодействие. Он ответил: Что, компьютер будет говорить неправду? Будет сообщать, что на банковском счету осталось «примерно $500»? Будет давать не тот ответ, который минуту назад дал кому-то еще? Если мы добавим человечности, это сделает наши системы менее компьютерными, по крайней мере, относительно текущей ситуации. Реакция Кейта как программиста вполне естественна. Верно, компьютер не сообщает примерные суммы на балансах счетов, а еще компьютер не видит разницы между ответом «примерно $500», полученным за десятую долю секунды, и ответом «ровно $503,47», полученным за семнадцать минут. Действительно вежливая, более человечная программа сразу ответит, что на счету «примерно $500», а затем уведомит 1 Примечательным исключением из этого правила являются игры. Во многие игры стало бы скучно играть, если бы не скрытые факты, непонятные процессы и нечеткие цели. 2 Robert X. Cringely «Accidental Empires, How the Boys of Silicon Valley Make Their Millions, Battle Foreign Competition, and Still Can’t Get a Date», Addison-Wesley, 1991. 208 пользователя, что через несколько минут сможет сообщить более точную цифру. Теперь пользователь решает, тратить ли ему дополнительное время на более точный результат. Это принцип соразмерности усилий: если вы нуждаетесь в большем количестве информации, то подождете, пока она будет получена. Что делает программы вежливыми? Люди обладают многими замечательными свойствами, позволяющими им быть «вежливыми», но эти свойства не имеют четких определений. Насс и Ривз пишут, что «...четыре базовых принципа, составляющих правила вежливых взаимодействий, это качество, количество, значимость и ясность». Принципы хорошие, но слишком размытые, чтобы приносить практическую пользу. Вот мой список элементов, повышающих качество взаимодействия, как для людей, так и для высокотехнологичных, основанных на программном обеспечении продуктов, насыщенных когнитивным сопротивлением. Вежливая программа интересуется мной Вежливая программа относится ко мне уважительно Вежливая программа обходительна Вежливая программа ведет себя разумно Вежливая программа предвидит мои потребности Вежливая программа отзывчива Вежливая программа не склонна делиться своими личными проблемами Вежливая программа в курсе происходящего Вежливая программа проницательна Вежливая программа уверена в себе Вежливая программа всегда сосредоточенна Вежливая программа покладиста Вежливая программа дает мгновенное удовлетворение Вежливой программе можно доверять |