Как-то в одном из номеров Wall Street Journal вышла статья, в которой был описан анонимный видеоклип, вирусно распространившийся через электронную почту. В этом клипе «…Усатый Обыватель в рубашке с коротким рукавом сгорбился над своим компьютером. Вдруг, в порыве гнева, он наносит удар по монитору. Удивленный коллега заглядывает в его отсек, а человек со всей силы швыряет в монитор клавиатуру, отчего тот валится на пол. Вскочив с места, безумец настигает поверженный монитор и наносит завершающий яростный удар».
Статья продолжалась рассуждениями о том, что данный клип «неимоверно всколыхнул» общественность и что он, по-видимому, вскрыл «мощную скрытую тенденцию к технобезумию».
Удивительная ирония этой ситуации в том, что для просмотра или простой пересылки этого видеоклипа нужно владеть компьютером на достаточном уровне. Человек на видео вполне мог быть актером, но ему удалось задеть струну, которая есть у каждого человека в бизнесе. Разочарование, вызванное сложностью и неприятием программных продуктов, нарастает стремительными темпами.
По закрытым спискам рассылки ходит шутка о «компьютерном синдроме Туретта». В основе этой игры слов лежит упоминание психического расстройства, похожего на нервный тик. Люди, страдающие таким расстройством, склонны бесконтрольно разражаться приступами ругани. Юмор состоит в том, что, окажись вы в помещениях практически любого современного офисного здания, вы услышите, как в целом нормальные люди, работая на своих персональных компьютерах, раздраженно стискивают зубы и непрестанно шепчут бранные слова. Одному богу известно, что вызывает в них такие приступы безумной ярости: утерянный документ, недоступное изображение или то самое взаимодействие, которое выводит из себя. А быть может, программа просто ненавязчиво удалила единственный имеющийся у пользователя экземпляр пятисотстраничного файла просто потому, что его ответом было «Да» в очередном диалоговом окне, похожем на то, где предлагается сохранить изменения, а на деле спрашивающем, желает ли он стереть данные.
Мы живем в мире, который заполонили высокотехнологичные инструменты. Компьютеры безраздельно властвуют на наших рабочих местах и в наших домах, а транспортные средства пичкают гаджетами на кремниевых микросхемах. Каждое из этих компьютерных устройств невероятно мощное и оснащено богатым набором опций, но все они столь же грандиозно сложны и демонстрируют запутанное поведение.
Индустрия высоких технологий упрямо не признает тот простой факт, о котором мог бы поведать каждый владелец мобильного телефона или текстового процессора: наши компьютеризированные устройства слишком сложны в применении. Проектировщики программ и высокотехнологичных гаджетов гордятся своими достижениями. Разработчики программного обеспечения, также принимающие участие в их создании, прилагают все возможные усилия, чтобы упростить использование этих инструментов, и даже достигли в этом отношении некоторого успеха. Они думают, что имеющийся уровень простоты использования их продуктов настолько велик, насколько это позволяет их техническое устройство. Как истинные инженеры, они безгранично верят в технологии и имеют твердое убеждение, что только новейшие разработки – например, в области распознавания речи или искусственного интеллекта – способны улучшить опыт пользовательского взаимодействия.
Каким бы смешным это ни казалось, но в случае с программными продуктами меньше всего улучшений в отношении их использования принесут именно новейшие технологии. С точки зрения технического устройства сложный и запутанный программный продукт практически ничем не отличается от простой, мощной и приятной в использовании программы. Здесь все дело, скорее, заключается в уровне культуры, подготовки и отношении людей, которые создают эти программы, а отнюдь не в применяемых микросхемах и языках программирования. Червоточина находится в процессе разработки, а не в инструментарии.
Во главе индустрии высоких технологий каким-то странным образом оказались программисты и инженеры, чья сложная инженерная культура теперь превалирует в этой сфере. Топ-менеджеры фактически утратили способность влиять на индустрию высоких технологий, невзирая на занимаемые ими должности. Инженеры – вот кто правит бал. Стремясь наилучшим образом употребить все возможности, открывшиеся нам с изобретением кремниевой микросхемы, мы забыли об ответственности. Психбольница оказалась руках пациентов.
Когда психически больные завладевают сумасшедшим домом, у них нет четкого осознания причин собственных проблем. Глядя в зеркало, проще всего видеть только лучшее в себе и игнорировать недостатки. То же самое происходит и с разработчиками в тот момент, когда они пристально разглядывают результаты своего труда – они упускают из виду его плохие стороны. Вместо этого их взору предстает невероятная гибкость и мощь. Их взгляд направлен на богатство функционала и опций. Они упрямо отказываются признавать, что пользование таким продуктом вызывает страдания, требует множества мучительных часов для его изучения и что пользователи сойдут с ума от безысходности и уничижения, будучи вынужденными применять его каждый день.
Я занимался изобретением и разработкой программных продуктов двадцать пять лет. Долгие годы проблема запутанного программного обеспечения не давала мне покоя, пока, наконец, в 1992 году я не оставил программирование, чтобы полностью посвятить себя компаниям-разработчикам, помогая им делать их программные продукты приятнее и проще в применении. И тут произошло чудо! Ко мне вдруг пришло понимание, что только после того, как я освободил себя от программистских требований, я по-настоящему осознал, какими мощными они были. Программирование способно настолько захватить ваш ум своей сложностью, что только эта задача будет подавлять все прочие измышления, в том числе и заботу об удобстве пользователя. Я пришел к этой мысли лишь тогда, когда силой разорвал эти программистские узы.
Вместе с этим открытием ко мне пришло также осознание того, почему программы выглядят столь неудачными, по мнению пользователей. В 1995 году увидела свет моя книга, в которой я описал то, что узнал, и которая существенно повлияла на процесс разработки некоторых современных программ.
Чтобы стать хорошим программистом, необходимо обладать неким умением чувствовать природу и потребности компьютера. Вот только природа и потребности компьютера абсолютно чужды природе и потребностям людей, которые будут в конечном счете пользоваться этим компьютером. Процесс создания программ требует от разработчиков так много интеллектуальных усилий и такой степени вовлеченности в задачу, что они вынуждены полностью погружаться в инородный для человека образ мышления. В голове программиста все, что требуется для процесса разработки, получает наивысший приоритет, оставляя далеко позади какие-либо потребности внешних пользователей. Даже языки, на которых говорит каждый из этих миров, противоречат друг другу.
Процесс программирования и процесс разработки простых в использовании программ не согласуются по той причине, что программист и конечный пользователь преследуют в корне разные цели. У программиста есть потребность, чтобы разработка велась легко и непринужденно. А у конечного пользователя потребность звучит иначе – легким и непринужденным должен быть процесс взаимодействия с программой. Создать такую программу, которая удовлетворяла бы потребности и тех и других, не удается практически никогда. В современной индустрии компьютеров программисты наделены возможностями для создания дружелюбных пользователю взаимодействий, но из-за постоянного давления конфликта интересов они просто не в состоянии действительно сделать что-то.
Для процесса разработки программного обеспечения характерна такая особенность, что его результаты можно увидеть только по завершении всей работы. Отсюда вытекает тот факт, что любые прогнозы со стороны человека, не связанного с программированием, уже не смогут что-либо изменить. Использовать программное обеспечение для настольных компьютеров так тяжело потому, что в его создании принимают участие исключительно программисты и нет никого, кто выполнял бы роль посредника между программистами и пользователями. Изделия наподобие телефонов и камер всегда имели изрядную долю механических деталей, что позволяло быстрее изучать их устройство. Но исходя из наших исследований, если скрестить компьютер и любую другую вещь, характер компьютера непременно возобладает в ней.
Ключом к решению данной проблемы является проектирование пользовательского взаимодействия перед началом непосредственно процесса разработки. Нам нужно вырастить новый класс профессионалов пользовательского взаимодействия, которые будут проектировать поведение программ. Сегодняшние программисты осознанно подходят лишь к проектированию кода, а пользовательское взаимодействие отходит на второй план. Они планируют, что будет делать программа, но не то, как она будет себя вести, коммуницировать с пользователем и уведомлять его. Проектировщики взаимодействия, напротив, уделяют максимум внимания именно тому, как пользователи воспринимают программные интерфейсы различных устройств и как взаимодействуют с ними.
Искусство проектирования пользовательского взаимодействия достаточно молодое и знакомо не всем программистам. Но даже если программисты и признают его важность, они обычно фокусируются на нем лишь в завершение создания кода. Только в этом случае поздно что-либо менять.
Специалисты, управляющие проектами по разработке программ и устройств на их основе, либо попадают в заложники к программистам из-за своей недостаточной технической подкованности, либо ведут себя чрезмерно понимающе, так как сами являются разработчиками. Пользователям таких программ и устройств невдомек, что эти продукты могут также обладать необходимым функционалом и при этом обеспечивать приятное взаимодействие, как все прочие качественно спроектированные инструменты.
Программисты отнюдь не являются нашими врагами. Они прилагают массу усилий, чтобы придать своим программам должной легкости взаимодействия. К сожалению, они воспринимают все через призму собственного опыта; в итоге программами с легкостью могут пользоваться только другие разработчики, чего не скажешь о простых людях.
Невозможно даже представить стоимость некачественно спроектированного программного обеспечения. Сколько стоит потерянное время Джейн и Сунила, негодование скучающих пассажиров самолета, жизни людей, летевших роковым рейсом 965? Это нельзя измерить. Но наибольшую цену мы платим за упущенные возможности. Пока мы растрачиваем свое время на раздражение, попытки разобраться, разгребание последствий и несем издержки в смертельной схватке с программами, мы не используем весь тот заложенный в них потенциал обещаний быть более человечными, мощными и дружелюбными созданиями, какие только можно вообразить. На самом деле программное обеспечение невероятно гибкое и способно превзойти самые смелые ожидания. Все, что для этого нужно, – создать условия для разумного сотрудничества между проектировщиками пользовательского взаимодействия и разработчиками программ.