Электронная библиотека » Алан Купер » » онлайн чтение - страница 5


  • Текст добавлен: 28 апреля 2018, 15:04


Автор книги: Алан Купер


Жанр: Руководства, Справочники


Возрастные ограничения: +16

сообщить о неприемлемом содержимом

Текущая страница: 5 (всего у книги 32 страниц) [доступный отрывок для чтения: 8 страниц]

Шрифт:
- 100% +
Взаимосвязь программистов и проектировщиков

В технологическом мире инженеров главная роль была отдана проектированию архитектуры программного продукта, а о проектировании взаимодействия на благо конечного пользователя вспоминали лишь постфактум, когда оставалось время. Одна из целей, которую я преследую в этой книге, – обозначить преимущества от смены приоритетов и добиться того, чтобы проектирование взаимодействия начали считать первоочередной задачей в процессе создания программных продуктов.

Дизайн большинства программ возникает по воле случая

Проектирование тростниковых хижин и подземных ходов происходит не всегда осознанно, исходя из возможностей камня и тростника. То же можно сказать и о программном обеспечении – его устройство подчинено неведомым законам языков программирования и баз данных. Значительное влияние на все перечисленные способы проектирования оказывают сложившиеся устои. С той лишь разницей, что строитель-проектировщик хижины сам будет в ней жить, в то время как программисты обычно не являются теми, кто использует спроектированное ими ПО.

Реальное положение дел состоит в том, что компании, которые ведут разработку программ, не содержат в штате людей, хоть что-то понимающих в проектировании пользовательского взаимодействия. Однако те же самые несведущие люди весьма неплохо разбираются в проектировании программных продуктов и имеют собственное сложившееся представление о том, что нравится лично им. В итоге получается то, что получается: дизайн, спроектированный под них самих, при этом они выбирают лишь те аспекты, которые легко и приятно реализовать в коде, и воображают, будто на самом деле все это создается для пользователя. И хотя разработчики пребывают в уверенности, что в отношении дизайна и проектирования проделан большой пласт работы, речь здесь в большей степени идет только о проектировании программного продукта, и совсем немного выполняется для проектирования пользовательского взаимодействия.

Поскольку несовершенное проектирование – это тоже проектирование, получается, что тот, кто берет на себя принятие решений о поведении программы, выполняет роль проектировщика пользовательского взаимодействия. Маркетолог ли это, настаивающий на добавлении привлекательной для него функции, или программист, пытающийся реализовать в программе удобные для него опции, – все они «проектируют».

Отличие хорошего проектирования от того, что похоже на постройку тростниковых хижин, вовсе не в инструментах или приспособлениях, которые для этого применяются, а в тех побуждениях, что им движут. Для настоящего проектировщика взаимодействия важны те цели, которых пытается достичь пользователь. Мнимые проектировщики руководствуются широким кругом любых других случайных доводов в процессе принятия решения. Просто поразительно, что к ним могут относиться персональные предпочтения, мнение близких, боязнь неизвестности, рекомендации Microsoft, промахи коллег – все может сыграть решающую роль. Но чаще всего их решения основаны на том, что будет самым простым в реализации.

Проектирование «взаимодействия» и проектирование «интерфейса»

Я предпочитаю говорить проектирование взаимодействия, а не проектирование интерфейса, потому что термин «интерфейс» предполагает, что код находится по одну сторону, а люди – по другую. А посредине есть некая прослойка, которая передает сигналы между ними. Это выглядит так, будто только интерфейс отвечает за нужды пользователя. В результате подобного отделения дизайна на уровне интерфейса программисты начинают справедливо мыслить приблизительно так: «Я могу кодить как моей душе угодно, ведь все равно интерфейс будет прикручен в самом конце». Процесс дизайна и проектирования откладывается напоследок, когда становится совсем поздно.

С помощью дизайна и проектирования интерфейса можно только «приукрасить» то поведение, которое уже заложено в программе, – это все равно что одеть в костюм от Armani Атиллу, предводителя гуннов. Так, интерфейс программы для создания отчетов позволит убрать ненужные границы таблиц с рядами цифр или устранить иные мешающие восприятию помехи, обозначить цветом важные показатели, дать визуально богатую обратную связь, когда пользователь будет щелкать по различным элементам. Несомненно, лучше такое поведение, чем вообще никакого, но для качественной системы этого отнюдь не достаточно. Microsoft затрачивает миллионы долларов на дизайн и проектирование интерфейсов, но их программные продукты так и не заслужили любви пользователей.

Поведенческое проектирование определяет, как должны себя вести и как взаимодействовать с пользователем элементы программного продукта. Если применить эту концепцию к тому же примеру с отчетными таблицами, то мы увидим, что поведенческое проектирование показывает, какими инструментами можно воспользоваться для работы с отчетом и как отразить в отчете средние и итоговые значения. Проектировщики взаимодействия начинают свою работу вовне, изучая цели, которые требуется достичь пользователю, но при этом постоянно контролируют, чтобы эти цели коррелировались с глобальными потребностями бизнеса, техническими возможностями системы и сопутствующими задачами.

Можно пойти еще дальше и затронуть область концептуального проектирования, которая исследует, что для пользователя является по-настоящему ценным и выходит на первый план. В примере с нашими таблицами концептуальное проектирование может показать, что работа над таблицей с цифрами лишь второстепенная задача для пользователя, – на самом же деле его целью является выявить тенденции и закономерности. Это означает, что вам следует задуматься не о создании инструмента формирования отчетности, а о проектировании средства отслеживания тенденций. Чтобы одновременно дать пользователям ощущение силы и удовольствия, проектировщикам взаимодействия следует изначально думать в концептуальном ключе, затем в поведенческом ключе и только потом задумываться об интерфейсе.

Что такого особенного в программных продуктах

Когнитивное сопротивление пробирается во все программные продукты, вне зависимости от простоты их внутреннего устройства, и оно же делает их куда как более сложными в использовании, в сравнении с их собратьями из эпохи механизмов. К примеру, заглянем, что лежит у меня в карманах: несколько монет, мой швейцарский армейский нож и мой автомобильный брелок. По ножу сразу видно, что это изобретение индустриальной эры: можно легко понять, из чего он состоит, как функционирует и что с ним нужно делать – вам достаточно произвести с ним пару быстрых манипуляций. Извлекая лезвие ножа, вы сможете оценить его острие и предположить, насколько оно подойдет для резки.



У ножа большой набор из шести лезвий, дополнительно прилагается зубочистка и пинцет. Для чего предназначен каждый из инструментов, мне ясно сразу. Легко, практически интуитивно я понимаю, что делать с ножом, благодаря тому, как он ровно ложится в мою руку и удобен для пальцев. Пользоваться этим ножом одно удовольствие.

Система бесключевого доступа на моем автомобильном брелоке – существо совсем другого толка. Она имеет всего две кнопки, поэтому на первый взгляд кажется проще в управлении, чем нож. Стоит обтекаемому черному кусочку пластика скользнуть в мои пальцы, как они совершенно естественно нащупывают две кнопки, чья функция предельно ясна: нужно нажать для активации. Хорошо, если бы было так, но за кнопками скрывается кремний, а не сталь, поэтому все не так просто, как кажется на первый взгляд.

Одно нажатие большой кнопки блокирует двери автомобиля и одновременно ставит его на сигнализацию. Если нажать второй раз – двери разблокируются, а сигнализация отключится. Еще одна кнопка на брелоке, чуть поменьше размером, подписана как Panic. Стоит нажать ее однократно, как автомобиль начинает тихонько переливаться трелями, и так продолжается несколько секунд. Стоит удержать нажатие чуть дольше, как тихие трели сменятся адским воем автомобильной сигнализации, то орущей, то щебечущей, то завывающей во все свои 100 децибел, возвещая на всю округу, что некий дурень вроде меня только что сотворил ужасающе глупую вещь. Хуже того, после срабатывания сигнализации кнопки маленького пластикового брелока прекращают на что-либо реагировать, так что он становится бесполезным. Единственное, как я могу положить конец этому громкому возвещению о моей явной глупости, – это дойти до моего страшно завывающего автомобиля, сгорая от стыда под взглядом каждого встречного, воспользоваться ключом для открытия двери со стороны водителя, затем вставить ключ в зажигание и повернуть его. При этом я действительно ощущаю себя болваном. Случись так, что мой автомобиль взломали и ограбили, я бы чувствовал себя подавленным и оскорбленным, но совершенно точно не болваном.

На страницах своей предыдущей книги я говорил о том, что главной целью всех, кто пользуется компьютерами, является не чувствовать себя глупыми. Я пошел еще дальше и высказал предположение, что качественные интерфейсы способны уберечь пользователя от того, чтобы не дернуть рычаг катапультирования, непонятно как оказавшийся среди постоянно используемых элементов панели управления. Рычаг катапульты – это классический пример устройства, из-за которого пользователи могут почувствовать себя глупыми, ведь он находится прямо перед ними. Если человек случайно потянет за этот рычаг, то поставит себя в весьма неудобное положение: это все равно что прийти утром в офис, забыв надеть брюки. С моим швейцарским армейским ножом проделать подобное в принципе не получится.

Я затрудняюсь даже представить, для чего мне могла бы понадобиться вторая кнопка, но еще более непонятно, почему создатели брелока упустили прекрасную возможность предоставить мне именно те функции, которые в самом деле желанны и необходимы[6]6
  Меня постоянно пытаются убедить, что эта функция очень нужна женщинам, так как якобы может помочь избежать преступных нападений на неосвещенных парковках, но каждый раз я слышал это от технического специалиста мужского пола, которому эта кнопка никогда бы не пригодилась. К моему великому удивлению, не так давно я увидел в Wall Street Journal заметку о реальном случае применения этой кнопки с надписью Panic. Одна семья отдыхала в кемпинге в Йосемитском национальном парке, когда к их автомобилю, где были заперты съестные припасы, подошел дикий медведь и начал царапать его, пытаясь забраться внутрь. Тогда мать семейства нажала эту кнопку, и взвывшая сирена в итоге заставила медведя сбежать. В таком случае, вероятно, эту кнопку стоило бы назвать «Средство для отпугивания медведей».


[Закрыть]
.

Безусловно, я ценю, что моя машина оборудована сигнализацией, но случаются ситуации, и их достаточно много, когда мне требуется просто закрыть машину и не ставить ее на сигнализацию. Когда я на несколько минут заскакиваю в Starbucks за кофе, то не нуждаюсь в таком же уровне безопасности моего авто, как, например, в аэропорту. Мне действительно хотелось бы иметь возможность открывать и закрывать машину удаленно и не включать при этом сигнализацию. Это бы мне очень пригодилось, когда я езжу по местным магазинам или подкидываю детей до школы.

Еще одной, не менее полезной и желанной опцией была бы поддержка системы запирания автомобиля с более высоким уровнем надежности. Периодически, когда я возвращаюсь к своей машине, которую до этого закрывал, выясняется, что он уже не заперт и произошла эта перемена в мое отсутствие. Этот инцидент имеет место, когда рядом с моей машиной паркуется похожий автомобиль той же марки. Его обладатель жмет на кнопку, чтобы запереть свой автомобиль и одновременно, сам того не зная, подает сигнал разблокировки моей машине, то есть фактически отключает сигнализацию, оставляя мой автомобиль на растерзание социально опасным личностям. Беспокоит то, что подобная ситуация может возникнуть там, где для этого самые «благоприятные» условия: на больших парковках, какие есть, например, в аэропорту, я могу оставить машину на несколько часов или даже дней, предоставив ее потенциальному влиянию чужих систем дистанционной разблокировки. Технология была бы более полезной, если бы я мог блокировать и ставить автомобиль на сигнализацию с помощью нее таким надежным способом, чтобы открыть и разблокировать ее было возможно лишь при моем личном участии и применении металлического ключа, вставленного в замок. Разумеется, мне известно, что такой способ есть – потому что именно так можно выключить сработавшую сигнализацию. Но увы, те, кто проектировал систему дистанционного управления, изрядно постарались, чтобы кто угодно мог снять мой автомобиль с сигнализации, несмотря на мои усилия обезопасить его.

Мой швейцарский армейский нож состоит из множества элементов и способен выполнять разные задачи, причем некоторые из его возможностей хитроумно спрятаны, тем не менее он довольно прост в изучении, предсказуем и интуитивно понятен. А вот система бесключевого доступа сложна в освоении, вызывает массу проблем и способна поставить меня в неловкое положение. Она не выполняет нужных мне задач и не позволяет контролировать собственный автомобиль и его сигнализацию на приемлемом уровне. Проще говоря, мне невыносимо взаимодействовать с этой системой. Она невообразимо плоха и вызывает во мне одну лишь ненависть.

Медведь-плясун

С другой стороны, появись передо мной возможность выбирать между ножом и системой бесключевого доступа, я в мгновение ока избавлюсь от ножа. Когда мне впервые довелось попробовать бесключевой доступ, я уже не представлял, как раньше мог обходиться без него. Это единственная наиболее удобная из всех опция в моем автомобиле, и я пользуюсь ею чаще остальных. В сравнении с ножом я применяю эту функцию в десять раз чаще. При всем ее непроработанном и неудобном устройстве она остается впечатляющим изобретением. Вообразите себе человека, который выводит на городскую площадь огромного медведя на цепи, собирает монетки со зрителей и заставляет медведя пуститься в пляс. Городские жители подтягиваются поближе, чтобы посмотреть на это невиданное зрелище – как большое неповоротливое животное неуклюже топчется на своих кривых лапах. Плясун из медведя никудышный, но зрителей впечатляет не его танцевальное мастерство, а тот факт, что он в принципе совершает пляшущие телодвижения.



Так же и с системой бесключевого доступа – впечатляет не то, что она работает без нареканий, а то, что она вообще хоть как-то работает. И тут я готов терпеливо сносить все проблемы взаимодействия, лишь бы иметь те выгоды, которые она дает мне относительно доступа к моей машине.

С открытием потенциала кремния мы получили столь изумительные возможности, что готовы с легкостью закрыть глаза на связанные с этим затраты. Оказавшись на необитаемом острове, вы вряд ли откажетесь от спасения, даже если к вам подплывет старая ржавая посудина, кишащая крысами. Между решением проблемы и отсутствием решения как такового настолько громадная разница, что мы готовы преодолевать сопряженные с этим трудности.

Сложность решения проблемы не в том, что нельзя разработать более удобное взаимодействие, а в том, что мы привыкли повсеместно соглашаться с использованием некачественных программ, принимая это как неизбежную данность. Завидев на горизонте ветхое проржавевшее спасательное судно, мы не задаем вопросов, какие там удобства, а радостно прыгаем на борт и довольствуемся тем, что имеем.

Экспертам в программном обеспечении приходится привыкать чувствовать себя комфортно при высоком уровне когнитивного сопротивления. Они с гордостью восхваляют свое умение выполнять рабочие задачи, несмотря на неудобства. У обычных же людей, кто только начинает пользоваться каким-либо программным продуктом, недостаточно профессиональных знаний, чтобы судить, как снизить уровень когнитивного сопротивления. Взамен они верят советам компьютерных умников, которые просто пожимают плечами и замечают, что для использования таких программных продуктов нужно обладать «компьютерной грамотностью». Программисты же, в свою очередь, винят во всем технологии, пытаясь объяснить пользователям, что проблемы с взаимодействием – это закономерное свойство всей техники и избежать этого не получится.

Но на самом деле это не так. Избежать сложных взаимодействий вполне возможно.

Источником когнитивного сопротивления являются не сами технологии, а те, кто управляет их разработкой. Они здесь главные, поскольку способны мыслить на языке кремниевых микросхем, и думаю, что этим свойством обладают и остальные. Они являют миру технологические артефакты, которые пытаются разговаривать с пользователем на том же языке, на котором их проектировали. Вместо того чтобы отделать салон автомобиля кожей и деревом, они предпочтут оставить на виду раскаленную сталь и скрежещущие механизмы. Будучи истинными инженерами, они больше задумываются о механизмах, нежели о кожаной отделке, потому и этот интерфейс выражается в терминах из области «реализации». Из-за этого я привык говорить, что такие продукты обладают моделью реализации.

Расплата за опции

Значительному количеству разработчиков программных продуктов неведомо, как создавать удобные в использовании программы, но вместо этого им хорошо известно, как пичкать их новыми опциями, потому они делают именно это.

Физические объекты, к которым относится мой швейцарский армейский нож, по естественным причинам не приветствуют разрастание новых опций, выходящих за пределы жизненной необходимости. Каждое новое лезвие или приспособление в моем ноже влечет для производителя дополнительные затраты. Создатель ножа отдает себе в этом отчет, поэтому каждая из вновь предлагаемых возможностей проходит этап строгого анализа на предмет необходимости до того, как будет реализована в конечном продукте. На языке инженеров это называется «отрицательной обратной связью» – то есть внутренние силы стремятся стабилизироваться и прийти в равновесие. Например, трение колес автомобиля о дорожное покрытие формирует отрицательную обратную связь в системе рулевого управления, так что, если вы отпустите рулевое колесо, оно будет стремиться вернуться к первоначальному положению.

В индустрии программного обеспечения превалирует иной подход. В связи с тем, что новые опции реализуются в будто бы неосязаемом программном коде, а не в физических материалах вроде стали, меди и пластика, у производителей, привыкших к прошлым условиям, создается впечатление, что опции достаются им почти даром. Им кажется, что программные продукты очень легко модифицировать, дополнять и внедрять в них «улучшения».

В этот самый момент я слушаю музыку Джимми Баффета с компакт-диска в моем компьютере. В небольшой программе-плеере с диска доступно множество разных опций: переход к предыдущему или следующему треку, выбор случайного трека, создание собственного плейлиста, воспроизведение в течение заданного времени, повтор воспроизведения, просмотр информации о Баффете в интернете, добавление альбома в избранное, внесение заметок к разным трекам, загрузка названий композиций из базы данных в сети, просмотр сведений о диске, создание списка избранных треков и много чего еще.

Все эти возможности, несомненно, приятны, и я бы не убирал их без лишней необходимости, но в общей своей массе они делают взаимодействие с программой крайне сложным и запутанным. Более того, когда мне нужно ответить на телефонный звонок и быстро поставить диск на паузу, я не могу найти нужную кнопку, потому что она погребена посреди всего этого огромного количества опций – бесплатных опций. Так что для меня они «бесплатными» отнюдь не являются. Какому-то незадачливому инженеру показалось, будто бы я мечтаю получить все эти бесплатные опции, однако мне просто нужен обычный плеер, в котором можно легко и быстро нажать на паузу.

Говоря о системе бесключевого доступа в моем автомобиле, я сильно сомневаюсь, что хоть кто-то из ее проектировщиков спросил себя: «Какие функции будут нужными и сколько их должно быть?» Напротив, я больше чем уверен, что какой-то младший инженер взял типовую микросхему, которая, по «счастливой» случайности, оказалась двухканальной. Один канал он приспособил для блокировки и разблокировки, а затем вспомнил, что у него есть еще один, лишний «бесплатный» канал. Этот инженер, вполне вероятно, будучи под началом инициативного менеджера по маркетингу – полного энтузиазма, но плохо информированного, – вообразил кажущуюся ему логичной схему, что выключение сигнализации вручную может для чего-то пригодиться. Наверное, он даже гордился тем, что смог предоставить дополнительную функциональность без явных затрат.

Вставить полноценный микропроцессор в ваш автомобильный брелок, микроволновую печь или мобильный телефон гораздо дешевле, нежели использовать отдельные микрочипы и электронные детали. Таким образом, новая технологическая экономика задает направление проектирования. Процесс добавления новых физических компонентов управления все еще сдерживается отрицательной обратной связью затрат на производство, но появление новых функций в программах не может сдержать уже ничего. Добавление новых программных опций представляется создателям программ делом незатратным, так что каждую предложенную опцию они считают хорошим вложением до тех пор, пока кто-то не сможет доказать обратное. В отсутствие регуляторов этого процесса продукты моментально обрастают множеством ненужных опций, что только усложняет процесс использования продукта для пользователя. Разумеется, эти функции представляются как совершенно необходимые преимущества, при этом, конечно, остается и основная, наиболее востребованная функция. Этот медведь уже начал приплясывать.

Что касается настольных компьютеров, то здесь недостаток обратной связи ослабляет их мощь. Разработчик программы воображает, что можно добавить какие его душе угодно функции и при этом они останутся «бесплатными», коль скоро их можно задействовать с помощью мыши и клавиатуры. В результате экраны заполоняют сотни непонятных значков, кнопок, элементов меню, каждый из которых должен реагировать на нажатие клавиш или на клик мыши. И как при этом пользователь должен выявить среди них незначительные опции и те, активация которых может повлечь серьезные негативные последствия?

Практически каждому коммерческому продукту свойственно усложняться с каждой последующей версией. Эволюционируя, программы получают новую функциональность и возможности, так что их интерфейс тоже обзаводится еще большим количеством элементов управления. В компьютерной прессе можно встретить такой термин, как «раздутое программное обеспечение» (bloatwear). Программы, подобные Lotus Notes, Adobe Photoshop, Intuit Quicken и Microsoft Word, так плотно набиты всевозможными опциями, что это сбивает пользователей с толку, тем более что лишь незначительная часть из них используется действительно эффективно, если вообще используется. А тем временем в этой массе всевозможных опций теряются действительно нужные и полезные.

Корпоративные программы страдают от этой проблемы еще больше, чем приложения для конечных пользователей. Компании, подобные Oracle, PeopleSoft, ADP, SAP, Siebel, разрабатывают комплексное программное обеспечение, необходимое для решения внутренних корпоративных задач. Такие программы невероятно сложно и непонятно устроены, а кроме того, перегружены различными опциями. С каждым ежегодным обновлением добавляются все новые и новые опции, а со старыми по-прежнему не представляется возможным разобраться тем, кто не пройдет многомесячное изнурительное обучение.


Страницы книги >> Предыдущая | 1 2 3 4 5 6 7 8 | Следующая
  • 0 Оценок: 0

Правообладателям!

Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.

Читателям!

Оплатили, но не знаете что делать дальше?


Популярные книги за неделю


Рекомендации