Книги по разным темам Pages:     | 1 |   ...   | 4 | 5 | 6 | 7 | 8 |   ...   | 63 |

В результате таких вот несоответствий и взаимного непонимания разработчиков ПО и его потребителей на свет появляются програм мы, которые уже упомянутый Алан Купер называет танцующими мед ведями [21]:

Можно привести аналогию со здоровенным медведем, которого человек выводит на цепи на городскую площадь и за скромные по жертвования заставляет танцевать. Горожане собираются поглядеть на диковинку Ч на то, как массивный, громоздкий зверь неуклюже переступает с лапы на лапу. Танцует медведь просто ужасно, но чудо не в том, что он танцует хорошо, а в том, чтовообще танцует (рис. 3.6).

Другой уважаемый автор Ч Дэвид Платт, консультант по взаимо действиюи руководитель компании Rolling Thunder Computing попро сту заявляет: Софт Ч отстой! И что с ним делать в одноименной книге [22]:

Из того, что уже рассказано, должно быть понятно, что главная причина скверного качества современных программ Ч это непонима ние их разработчиками характера пользователей, их потребностей и желаний, страхов и надежд. Из за этого незнания (и незнания своего незнания) разработчики считают, что пользователи похожи на них са мих. Мне это нравится, Ч думают они, Ч и мне это очевидно. Следо вательно, это должно понравиться всем и всем будет очевидно. Это же обычный здравый смысл, коллективный разум! Можно привести и другие аналогии, часть которых выведена мной самостоятельно. Например, мне нравится сравнивать неудобные и не вежливые (по выражению Купера) программы с сапогами, которые безумно красивы, очень прочны, оптимально теплые, совершенно не промокают и, вообще, имеют только один изъян Ч их невозможно носить из за несоответствующего размера или неправильной формы колодки.

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

Наверное, проще всего понять, какую власть программисты имеют над разрабатываемой программой, и насколько велик отрыв технологий разработки ПО от технологий его использования мож но, например, прочитав известный юмористический текст Проект Глава 3. Битый небитого везет Рис. 3.6. л...чудо не в том, что он танцует хорошо, а в том, что вообще танцует 44 РЕАЛЬНОСТЬ 2.0b. Современная история информационного общества Genesis1 [23]. То, что там описано Ч смешно, но именно так чаще всего и разрабатываются программные продукты.

Платт в указанной ранее книге формулирует Единственный За кон Проектирования Пользовательского Интерфейса:

ПОЗНАЙ СВОЕГО ПОЛЬЗОВАТЕЛЯ, ИБО ОН НЕ ТАКОЙ, КАК ТЫ! В свои 19 лет, а затем уже в 25 я предпринимал две попытки нау чить своего отца работать с несколькими приложениями (по работе ему никогда это нужно не было) и никак не мог понять, почему он при ходил в отчаяние, искусно маскируемое под ярость. Предположения, которые я делал на сей счет были не более лесными, чем эпитеты, ко торые он в процессе лобучения отпускал в мой адрес. Я полагал, что объясняюпонятно, а он не способен меня понять. Отец с другой сто роны считал, что я объясняюнеправильно. Истина же была в том, что я как программист не мог объяснить что либо иначе, чем я это делал.

Он, в своюочередь, вовсе не должен, не обязан был понимать то, что я рассказывал (жесткие диски, файлы, вложенные менюи т. д.), а все его ругательства стоило бы перенаправить разработчикам тех злопо лучных программ. Дело здесь вовсе не в цифровом разрыве, о котором очень громко говорят сегодня со всех трибун Ч ведь мой отец с легко стью осваивал компьютерные игры разных жанров от головоломок до FPS (от англ. First Person Shooter Ч стрелялка от первого лица), а они Ч тоже программные продукты, плод информационных техно логий2. Здесь дело в совершенно другом разрыве или, точнее, отры ве Ч предполагаемых в процессе разработки характеристик и при страстий пользователя от реальных. Речь идет о том, что большинство программ, как это ни парадоксально звучит, создаются не для людей...

Борьба с цифровым разрывом (англ. digital divide), т. е. с ограни чениями возможностей социальной группы из за отсутствия у нее Текст достаточно хорошо и давно известен, так что если его не окажется по указан ному адресу на момент прочтения этой работы, его можно легко найти, введя назва ние в любой поисковой системе.

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

Глава 3. Битый небитого везет доступа к телевидению, Интернету, телефонной связи (мобильной и стационарной), радио и т. д., важна, но:

1) в нашей стране понимание цифрового разрыва часто и необос нованно сводится к разрыву между поколениями [24];

2) в части компьютерных технологий обеспечения людей самими компьютерами недостаточно (до того, как мой отец познакомился с игрой Doom, единственным, подчеркиваюЧ единственным назначением его компьютера почти 10 лет подряд было раскладывание пасьянсов).

Иногда описаннуюпроблему взаимодействия ПО и пользователя пытаются решить за счет так называемого юзабилити тестирования.

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

Использование юзабилити тестирования как инструмента проек тирования взаимодействия является ошибкой по нескольким причи нам. Во первых, оно часто проводится тогда, когда уже поздно Ч на завершающих стадиях разработки. В этом случае оно, как напильник Ч может сделать поверхность более гладкой, но не сможет превратить трактор в паровоз. Во вторых, проводится такое тестирование часто неправильно, например, продукт тестируют сами же разработчики или их коллеги из других команд, делая вид, что они сторонние пользовате ли. Это абсолютно пустая трата времени Ч это то, что я называю тес тированием методом серого ящика. То есть делается вид, что никто из тестирующих не знает изначально, как работать с программой (в слу чае юзабилити тестирования) или не знаком с деталями ее внутренней реализации (в случае тестирования на выявление ошибок), но на самом деле сами же тестирующие ее и разрабатывали, так что стратегия тести рования в результате не относится ни к черному, ни к белому ящи ку Ч только к серому (причем грязно серому).

Не так давно мне довелось доказывать главному разработчику крупной многофункциональной системы управления обучением (англ. Learning Management System, LMS), что метод произведения одной из очень часто применяемых и нужных операций в этой системе крайне неудобен. Чтобы выполнить такуюоперацию, необходимо бы ло осуществить переход от одной формы к другой через главное меню 46 РЕАЛЬНОСТЬ 2.0b. Современная история информационного общества Рис. 3.7. Еще одно окно Еще один этаж Глава 3. Битый небитого везет и еще несколько щелчков по кнопкам, одновременно держа в памяти (своей Ч человеческой, а не машинной) достаточно большой объем информации. Он на удивление легко согласился с этим и с энтузиаз мом воскликнул: Отлично! Чтобы это облегчить, мы сделаем еще од но окно! Великолепно! Спасибо! Дожили! Занавес! Оцените злуюирониюситуации: я в качестве юзабилити тестера пришел с жалобой на слишком большое число окон, форм, кнопок, пунктов менюи щелчков и что получил Ч еще одно окно! Улучше ние взаимодействия по методу леще одного окна необязательно об легчит пользователюжизнь, скорее наоборот Ч пользователи путают ся в интерфейсе тем чаще, чем более он сложен, а добавление окна Ч это дополнительное усложнение, как ни крути.

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

Этот случай наглядно показывает:

1. Несоответствие между восприятиями правильности или непра вильности какого либо принимаемого программного решения в созна нии программиста и пользователя (в качестве пользователя здесь вы ступал я).

2. Невозможность принципиального пересмотра методов взаимо действия программы с пользователем, когда программа уже практиче ски готова (на самом деле, уже тогда, когда ее начали реализовывать).

Разработчик ведь предложил такое решение, потому что это было луч шее, что он мог предложить. Какие то фундаментальные переработки уже невозможны, возможны только доработки в режиме леще одного окна1.

В другой раз при разговоре с тем же уважаемым разработчиком мне удалось дока зать ему, что определенная функция, отсутствовавшая в системе, просто необхо дима во многих случаях, после чего он ответил: Да, но ведь это такой объем допол нительного кода! Уверяю, что дело здесь было не в объеме, а в характере кода, 48 РЕАЛЬНОСТЬ 2.0b. Современная история информационного общества Самое главное в том, что все описанное Ч это вопрос не только пользовательского интерфейса. Это очень важно понять. Это вопрос организации взаимодействия, как такового, и вопрос, да и связанные с ним проблемы, значительно шире кнопочки или флажка в окошке программы, они фундаментальны. Будь дело только в интерфейсе, его можно было бы изменить в любой или почти в любой момент, но перепроектировать сами процессы взаимодействия пользователя и про граммы после начала реализации последней практически невозмож но. Проблема шире визуального представления. Например, большин ство пользователей весьма смутно представляют себе, что такое ин формационная безопасность, и программы не облегчают им жизнь в этом отношении [25, 26].

Существует целая дисциплина из области computer science, назы ваемая Человеко машинное взаимодействие (англ. Human Computer Interaction, HCI), однако ее преподавание в вузах часто сводится именно к проектированиюпользовательских интерфейсов, что невер но. Преподаватели, казалось бы, должны вразумлять новые поколе ния разработчиков, но они в принципе не могут этого сделать, ибо, по сути, являются такими же гиками (англ. geek Ч эксцентричный человек, одержимый технологиями, в том числе компьютерными [27]), как и молодежь, и сложности работы с программами их устраивают.

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

Рис. 3.8. Составляющие HCI Проектирование взаимодействия Ч это фундамент для разработ ки хороших, качественных программ. Если элементы управления не который предстояло написать Ч потенциально в нем не ощущалось ничего интерес ного. Я уверен (по себе знаю), что будь оно иначе, он бы тут же бросил сигарету и убежал программировать. А так, с его точки зрения, я просто загубил ему перекур.

Глава 3. Битый небитого везет приятного пользователюцвета или не соответствуют стандарту Micro soft, пользователь может это простить. Однако если он не может вооб ще понять, что делать с программой, то это провал.

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

Другие решения Справедливости ради нужно отметить, что описанная точка зре ния, согласно которой существует злодейское программное обеспе чение, а все пользователи Ч его жертвы, не является ни единствен ной, ни единственно верной. Один из моих сокурсников (на Факуль тете экономической кибернетики) Ч Дмитрий Новиков в 1996 г.

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

Очень удачно на эту тему высказался известный американский ко мик Louis CK:

...сейчас все просто восхитительно, но все недовольны. За свою жизнь я видел удивительные изменения. Когда я был маленьким, у нас был дисковый телефон. Рядом с ним нужно было стоять и набирать номер. Представляете, насколько это примитивно И тебя раздража ют люди с нулями, потому что нужно больше крутить диск. У него два нуля Ч Не буду ему звонить. И если тебя не было дома, телефон одиноко звонил сам по себе... <...> Я летел в самолете, и там был Интернет. Новейшая штука из всех, о которых я знаю. Мне сказали: Вы можете открыть лаптоп и выйти в Интернет. В самолете. Я открыл, посмотрел клипы на YouTube, и тут он перестал работать. Они извинились: Интернет не работает.

Pages:     | 1 |   ...   | 4 | 5 | 6 | 7 | 8 |   ...   | 63 |    Книги по разным темам