Главная страница
Навигация по странице:

  • Поведение, не связанное с физическими силами

  • Проектирование 1 - слово емкое

  • Отношения между программистами и проектировщиками

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

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

  • Отличительные черты продуктов, основанных на программном обеспечении

  • Стоимость дополнительных возможностей программного обеспечения

  • Наша реакция на когнитивное сопротивление

  • Демократизация власти потребителя

  • Часть II. Масштабные издержки

  • Архитектура встраиваемых систем. Работа с таймерами МК. Отчет по лабораторной работе. Алан Купер Психбольница в руках пациентов


    Скачать 7.24 Mb.
    НазваниеАлан Купер Психбольница в руках пациентов
    АнкорАрхитектура встраиваемых систем. Работа с таймерами МК. Отчет по лабораторной работе
    Дата11.04.2023
    Размер7.24 Mb.
    Формат файлаpdf
    Имя файлаpsikhbolnitsa_v_rukakh_patsientov_kuper.pdf
    ТипДокументы
    #1053896
    страница5 из 21
    1   2   3   4   5   6   7   8   9   ...   21
    Глава 2. Когнитивное сопротивление
    Одно дело - осознавать, что проблема существует, и совсем другое - найти ее решение. Важной составляющей процесса поиска решений является язык. За прошедшие годы я разработал ряд полезных терминов и умозрительных моделей. На практике они оказались жизненно важными для формулирования проблемы, которую создают сложные в применении продукты, основанные на программном обеспечении. В этой главе я познакомлю вас с этими терминами и идеями и покажу, как они могут способствовать получению выгоды от применения проектирования взаимодействия в нашем непростом процессе разработки.
    Поведение, не связанное с физическими силами
    Едва выйдя из индустриальной эры, мы стоим на пороге информационной и держим в руках устаревшие инструменты. В индустриальную эру инженеры справлялись с решением каждой новой проблемы. Работая со сталью и бетоном, они создавали мосты, автомобили, небоскребы и межпланетные ракеты, которые работали хорошо и удовлетворяли своих пользователей. Вступая в информационную эру, мы все больше работаем с программным обеспечением и снова привлекаем лучших инженеров для решения задач. Но теперь все идет не так хорошо. Компьютеры быстры и мощны, программы в целом надежны, однако мы неожиданно столкнулись с фактом существования раздраженных, неудовлетворенных, несчастных и непродуктивных пользователей.
    Сегодняшние инженеры не менее талантливы, чем всегда, поэтому я делаю вывод, что они впервые столкнулись с проблемой, которая качественно отличается от всех проблем индустриальной эры. Ведь в противном случае их прежние инструменты работали бы все так же хорошо. За неимением лучшего термина, я назвал эту новую проблему «когнитивным сопротивлением». Это сопротивление, с которым сталкивается человеческий интеллект, пытаясь разобраться в сложной системе правил, изменяющихся

    47 динамически. Взаимодействие с программами имеет высокий показатель когнитивного сопротивления. Взаимодействие с физическими устройствами, пусть даже сложными, как правило, вызывает более низкое сопротивление, потому что механические устройства обычно имеют ограниченное количество состояний в сравнении с количеством внешних воздействий.
    Игра на скрипке крайне трудна, однако имеет низкий коэффициент когнитивного сопротивления, поскольку - несмотря на сложность в обращении и изощренность приемов игры - скрипка ни при каких обстоятельствах не входит в «мета»-состояние, в котором звучит, как, скажем, труба или колокольчик. Поведение скрипки всегда предсказуемо, хотя и сложно, и подчиняется физическим законам, несмотря на сложность в обращении. Напротив, микроволновая печь обладает высоким коэффициентом когнитивного сопротивления, потому что десять нумерованных кнопок на панели управления могут существовать в двух контекстах, или режимах. В одном режиме они контролируют интенсивность излучения, а в другом - длительность обработки. Такое серьезное изменение, наряду с отсутствием сенсорной обратной связи, указывающей на изменение состояния печи, и дает в результате высокое когнитивное сопротивление.
    Клавиши ЙЦУКЕНГ на печатной машинке не имеют мета-функций. Если нажать на клавишу У, на странице появится буква «У». Если нажать последовательно клавиши
    СТЕРЕТЬ ВСЕ, на дисплее появятся слова «СТЕРЕТЬ ВСЕ». На компьютере, в зависимости от контекста, могут присутствовать и мета-функции. Будет выполнена операция более высокого уровня, и компьютер действительно что-то сотрет.
    Поведение машины уже не соответствует вашим действиям в отношении один к одному.
    Когнитивное сопротивление, подобно трению в физическом мире, не обязательно вредно в небольших количествах, но с нарастанием трения его отрицательные последствия растут экспоненциально. Разумеется, трение представляет собой физическую силу, его можно обнаружить и измерить, тогда как когнитивное сопротивление - инструмент «судебный», и его не следует воспринимать буквально.
    Однако не забывайте, что такие вещи, как любовь, честолюбие, отвага, страх и правда, будучи вполне реальными, не могут быть обнаружены и измерены. К ним неприменимы и инженерные методы.
    Опытные инженеры, создающие микроволновые печи, обычно консультируются со

    48 специалистами по человеческому фактору, чтобы спроектировать кнопки, которые легко различать и нажимать. Но специалисты по человеческому фактору всего лишь адаптируют кнопки к глазам и пальцам пользователя, а не к его разуму. Как следствие, микроволновки не обладают значительным физическим «сопротивлением», обладая при этом серьезным сопротивлением когнитивным. Физически легко открыть и закрыть дверцу, нажать на кнопки, однако, учитывая простоту задачи, слишком сложно использовать панель управления для достижения своей цели. Заставить микроволновую печь выполнить задуманное не так просто, хотя наше общее понимание предмета заставляет нас забыть, насколько это сложно в действительности. Сколь многие из нас разогревали что-либо одну секунду или один час вместо одной минуты? Сколь многие готовили что-либо на пятом уровне мощности в течение десяти минут, когда надо было на десятом в течение пяти?
    На экране компьютера все переполнено когнитивным сопротивлением. Даже интерфейсы столь простые, как World Wide Web, заставляют пользователей сильнее напрягать мозги, чем любой механизм. Дело в том, что каждая синяя гиперссылка является дорожкой к другому месту в Сети. Вы можете только щелкать по ссылке, а конечная точка маршрута способна меняться независимо от указателя безо всяких предупреждений. Единственное назначение гиперссылки - мета-операции. Когнитивное сопротивление существует именно благодаря гиперсвойству.
    Проектирование
    1
    - слово емкое
    В этой книге говорится о том, что интерактивные продукты должны проектироваться проектировщиками взаимодействия (interaction designers), а не разработчиками программного обеспечения (software engineers). Это утверждение часто вызывает мгновенную неприязнь у программистов, которые всю жизнь занимались проектированием. Более того, эти программисты боятся, что, отнимая у них проектирование, я отнимаю лучший и наиболее творческий аспект их работы, приговаривая их к унылому написанию кода, не способному приносить удовольствие.
    Это совершенно не так. Их беспокойство происходит из неточной природы термина
    «проектирование».
    Весь процесс создания программного обеспечения пронизан проектированием,
    1
    В оригинале употребляется слово design, обозначающее, в том числе, процесс проектирования программных продуктов. –
    Примеч. науч. ред.

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

    50 процесса проектирования, которую я хочу забрать у программистов и передать в руки людей, специализирующихся на проектировании взаимодействия.
    Отношения между программистами и проектировщиками
    В мире технологий, где властвуют инженеры, всегда доминировала внутренняя архитектура программы, а проектирование взаимодействия, удобного пользователю, всегда оказывалось последней задачей, решаемой в свободное время. Одна из целей этой книги состоит в том, чтобы показать выгоды от перестановки приоритетов, и в том, чтобы поставить проектирование взаимодействия во главу угла при создании продуктов, основанных на программном обеспечении.
    Большинство программ проектируются случайным образом
    Глиняные лачуги и подземные норы проектируются, пусть зачастую неосознанно, в рамках возможностей камня и тростника. Аналогичным образом все программы проектируются в рамках таинственных потребностей языков программирования и баз данных. Самое сильное влияние на проектирование во всех перечисленных материалах оказывает традиция. Разница, и большая, в том, что строитель, проектирующий лачугу, также является и ее основным жильцом, тогда как программисты обычно не используют спроектированные ими приложения.
    В большинстве фирм, занимающихся разработкой программного обеспечения, просто нет людей, имеющих представление о проектировании для конечного пользователя. Но есть люди, имеющие более чем серьезное представление о проектировании программ, имеющие свое собственное мнение и личные предпочтения.
    И потому они делают то, что делают, - проектируют взаимодействие с программой, как для самих себя, выбирая функциональность, которую проще всего и интереснее всего реализовывать, и при этом воображают, что на самом деле проектируют для пользователей. И хотя программисту кажется, что объем выполняемого проектирования очень велик, на деле много всего лишь проектирования программного, а проектирование для конечного пользователя почти отсутствует.
    Недостаточное проектирование - тоже вид проектирования, поэтому когда кто-либо принимает решения о поведении программы, он принимает на себя роль проектировщика взаимодействия. Когда маркетолог настаивает на включении привлекательной функции в продукт, он проектирует. Когда программист реализует в продукте излюбленный способ

    51 поведения, он проектирует.
    Разница между проектированием хорошим и непроизвольным - в стиле глиняных домиков - не в применяемых инструментах и приспособлениях, но в мотивации.
    Настоящий проектировщик взаимодействия принимает решения, исходя из задач пользователя. Эрзац- проектировщики принимают решения, исходя из произвольного числа случайных соображений. Личные предпочтения, знакомство с предметом, страх перед неизвестностью, указания от Microsoft, ошибочные замечания коллег - все эти факторы играют на удивление серьезную роль. Впрочем, чаще всего решения эрзац - проектировщиков склоняются в сторону пути наименьшего сопротивления.
    Проектирование «взаимодействия» против проектирования «интерфейса»
    Я предпочитаю термин
    «проектирование взаимодействия» термину
    «проектирование интерфейса», поскольку слово «интерфейс» предполагает, что код находится в одном месте, люди в другом, а интерфейс между ними позволяет обмениваться сообщениями. Подразумевается, что именно интерфейс несет ответственность за потребности пользователей. Последствия изоляции проектирования на уровне интерфейса таковы - программисты начинают делать выводы примерно такого характера: «Я могу писать, как мне угодно, потому что «интерфейс» появится уже после того, как я закончу». Проектирование откладывается до завершения программирования, когда уже слишком поздно.
    Дизайн интерфейса позволяет придать определенный вид уже существующему поведению системы, так и гунна Аттилу можно одеть в костюм от Армани. Например, в генераторе отчетов дизайн интерфейса устранит ненужные границы и прочие визуальные помехи из таблицы с цифрами, выделит цветом важные поля, обеспечит качественный отклик на действия пользователя и т. д. Это лучше, чем ничего, но далеко не достаточно.
    Microsoft вкладывает многие миллионы долларов в проектирование интерфейсов, но продукты этой компании так и не снискали любви пользователей.
    «Поведенческое проектирование» указывает, как элементы программы должны действовать и передавать информацию. Продолжая пример, можно сказать, что проектирование поведения указывает, какие инструменты можно применять к таблице отчета, как включать в отчет средние или итоговые показатели. Проектировщики взаимодействия также работают от общего к частному, начиная с целей, которых

    52 пытается достичь пользователь, но, не забывая о более широких потребностях бизнеса, ограничениях технологии и подчиненных задачах.
    Можно углубиться еще далее, в область, которую мы называем «концептуальным проектированием». Концептуальное проектирование рассматривает вещи с точки зрения их возможной ценности для пользователей. В нашем примере концептуальное, проектирование может выявить, что изучение таблицы с данными - второстепенная задача, а реальная цель пользователя - в том, чтобы отследить тенденции. Отсюда следует, что надо создавать вовсе не генератор отчетов, а анализатор тенденций. Чтобы обеспечить пользователей ощущением могущества и удовлетворения, необходимо сначала думать концептуально, затем в терминах поведения и лишь в последнюю очередь - в терминах интерфейса.
    Отличительные черты продуктов, основанных на программном обеспечении
    Когнитивное сопротивление присуще всем продуктам, основанным на программном обеспечении, независимо от их примитивности, и делает эти продукты гораздо более сложными в использовании, чем аналогичные продукты механической эры. Вот, для примера, содержимое моих карманов: несколько монет, швейцарский армейский нож, ключи от автомобиля. Нож - в чистом виде продукт индустриальной эры: вы видите, как он сделан, как работает и как его можно использовать, - достаточно бросить на него поверхностный взгляд и покрутить в руках. Раскрыв лезвие ножа, вы можете увидеть, что оно острое, и представить, какими режущими свойствами обладает.
    У ножа целых шесть лезвий, зубочистка и пинцет. Назначение всего становится очевидным сразу. Я могу с легкостью понять, как управляться с ножом, благодаря тому, как он подходит к моей руке и пальцам. Одно удовольствие использовать этот нож.
    Не требующая ключей система доступа на брелоке от автомобиля - совершенно иная зверушка. Здесь всего две кнопки, так что с точки зрения манипуляций она проще ножа.
    Как только черный и гладкий пластиковый брелок оказывается в моей руке, пальцы естественным интуитивным образом обнаруживают две кнопки, назначение которых очевидно - нажми, чтобы активировать. Да, но за кнопками кремний, а не сталь, так что управляться с ними сложнее, чем может показаться.

    53
    Крупная кнопка запирает автомобиль и одновременно включает сигнализацию.
    Второе нажатие отключает сигнализацию и отпирает двери автомобиля. Вторая кнопка, поменьше, обозначена словом «Panic». Если нажать на нее, автомобиль в течение нескольких секунд издает тихие трели. Если удерживать кнопку нажатой дольше, на смену тихим трелям приходит вой автомобильной сигнализации, во все свои сто децибел грохочущей, чирикающей, орущей на целый километр окрест, что какой-то болван, то есть я, только что сделал нечто ужасно глупое. Что еще хуже, после включения сигнализации маленькое пластиковое устройство становится неактивным, и дальнейшие нажатия на кнопки уже не дают никаких результатов. Единственный способ остановить громогласное распространение информации о моей очевидной глупости - подойти к моей ужасающе громкой машине, под уничижающими взглядами прохожих открыть водительскую дверь ключом, затем вставить ключ в зажигание и повернуть его. Кроме шуток, я чувствую себя идиотом. Если бы мою машину просто вскрыли и ограбили, я бы огорчился и почувствовал себя оскорбленным, но во всяком случае не дураком.
    В предыдущей своей книге я утверждал, что первоочередная цель всех пользователей компьютеров заключается в том, чтобы не чувствовать себя дураками.
    Далее, я предположил, что хорошие интерфейсы позволяют избегать ситуаций, когда ручка катапультирования может оказаться среди других часто используемых органов управления. Это классический пример устройства, которое заставляет пользователей почувствовать себя глупо, так как рычаг катапульты находится прямо у них перед глазами. Случайно потянув за этот рычаг, человек попадает в сложное положение эквивалентное появлению на работе без штанов. Мой швейцарский армейский нож просто не позволяет проделать что-то подобное.
    Мне сложно придумать причину, по которой кто-либо захотел бы воспользоваться любой из функций второй кнопки, и к тому же совершенно непонятно, почему создатели

    54 пульта не воспользовались замечательной возможностью предоставить мне
    действительно нужные и полезные функции.
    1
    Мне очень приятно, что в комплект поставки моего автомобиля входит сигнализация, однако есть много ситуаций, когда я хотел бы просто запирать машину, не ставя на сигнализацию. Когда я заглядываю в местную кофейню, чтобы выпить кофе, мне не нужен тот же уровень защиты, как, скажем, в аэропорту. Мне было бы очень удобно иметь возможность запирать и открывать автомобиль с дистанционного пульта, не включая сигнализацию. Это было бы весьма полезно в поездках по местным магазинам или когда я высаживаю детей у школы.
    Не менее полезной и приятной была бы еще и поддержка более безопасной запирающей системы. Время от времени, возвращаясь к закрытому автомобилю, я обнаруживаю, что в мое отсутствие он перестал таковым быть. Это происходит, когда человек на похожем автомобиле того же производителя паркуется рядом со мной на большой стоянке. Когда этот человек нажимает на кнопку, запирая свой автомобиль, он также дает сигнал на отпирание моего, другими словами, отключает сигнализацию и открывает мою машину проходящим мимо антиобщественным личностям. Такой сценарий опаснее всего именно в тех ситуациях, когда он наиболее вероятен: на крупных городских парковках, в аэропортах, где моя машина может простоять несколько часов или даже дней, подверженная случайному срабатыванию системы дистанционного запирания. Несомненно, если бы я мог запереть и поставить машину на сигнализацию таким образом, чтобы только мое собственноручное вмешательство и вставленный в дверь металлический ключ могли разблокировать ее, это стало бы достойным применением технологии. Конечно, я знаю, что такой способ существует, ведь именно так выключается сработавшая сигнализация. К сожалению, проектировщики системы постарались, чтобы большая кнопка на чьем угодно брелоке разблокировала мой автомобиль, как бы я ни запирал его.
    Швейцарский армейский нож сложен и насыщен возможностями, причем некоторые из них весьма хитроумно спрятаны, однако изучение и применение ножа - процесс
    1
    Мне много раз говорили, что среди женщин эта функция пользуется спросом – как сдерживающее средство, помогающее противостоять преступникам на темных парковках, однако всякий раз это говорил технически подготовленный мужчина, который сам никогда не воспользовался бы этой кнопкой. К своему большому удивлению, недавно я прочел в Wall Street
    Journal о настоящем применении кнопки паники. В Йосемитском национальном парке дикий медведь пристал к одной семье на кемпинге. Он принялся тормошить автомобиль, пытаясь добраться до запертой внутри еды. Мать семейства нажала на кнопку паники, и сирена в конечном итоге отпугнула медведя. Возможно, имеет смысл назвать эту маленькую кнопку
    «Репеллент от медведей».

    55 простой, предсказуемый, интуитивный. Дистанционное управление замками сложно, связано с проблемами, способно мгновенно поставить меня в неприятную ситуацию.
    Устройство не делает того, что мне нужно, и не позволяет мне добиться нормального и приемлемого для меня уровня контроля над собственным автомобилем. Короче говоря, взаимодействие с этой системой вызывает отвращение. Она попросту плоха, и я ее ненавижу.
    Танцующий медведь
    С другой стороны, если мне придется сделать выбор между ножом и дистанционным управлением замками, я выброшу нож без раздумий. Впервые испробовав дистанционное управление замками, я уже не мог представить себе автомобиль без него. Это самая удобная функция в моем автомобиле, я использую ее чаще любой другой - в десять раз чаще, чем нож. Несмотря на свой неубедительный и неуклюжий дизайн, это все же замечательная вещь. Можно провести аналогию со здоровенным медведем, которого человек выводит на цепи на городскую площадь и за скромные пожертвования заставляет танцевать. Горожане собираются поглазеть на диковинку - на то, как массивный, громоздкий зверь неуклюже переступает с лапы на лапу. Танцует медведь просто ужасно, но чудо не в том, что он танцует хорошо, а в
    том, что вообще танцует.
    Чудо не в том, что дистанционное управление замками работает хорошо, а в том, что оно вообще работает. Я готов смириться с проблемами взаимодействия, чтобы воспользоваться преимуществами удаленного доступа к своему транспорту.
    Удивительные дары кремния столь неодолимо притягательны, что мы готовы легко примириться с сопутствующими затратами. Попав на необитаемый остров, вы не станете возражать, если пришедший на помощь корабль окажется ржавым остовом, изъеденным течами и кишащим крысами. Разница между наличием программного решения проблемы

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

    57
    В физических объектах, каковым является мой швейцарский армейский нож, существует естественное противодействие умножению дополнительных возможностей.
    Производитель вынужден увеличивать затраты, добавляя новое лезвие или приспособление к ножу. Создателю ножа это известно, поэтому каждая из предложенных возможностей подвергается жесткому анализу, прежде чем попасть в конечный продукт. В терминах инженерных наук это явление называется отрицательной обратной связью - здесь внутренние силы стремятся к стабильности и равновесию. К примеру, трение покрышек вашего автомобиля создает отрицательную обратную связь в рулевой системе, поэтому если отпустить руль, он выравнивается в изначальное положение.
    В экономике продукции, основанной на программном обеспечении, доминирует иная система. Поскольку разнообразные функции добавляются не в осязаемую сталь, медь или пластик, а в неосязаемый программный код, руководителям старой закалки кажется, что дополнительные возможности почти бесплатны. Им кажется, что функциональную мощь программ легко наращивать и «улучшать».
    Прямо сейчас я слушаю диск Джимми Бафета при помощи оптического привода своего компьютера. Небольшая программа, проигрывающая диск, предлагает мне множество функций: я могу перейти к предыдущей композиции, к следующей, к любой выбранной, могу задать особый порядок воспроизведения, запланировать проигрывание в течение определенного времени, зациклить дорожку, просмотреть информацию о
    Бафете в сети, добавить альбом в свою коллекцию, создавать примечания к различным композициям, получать названия песен из базы данных в Интернете, просматривать информацию о диске, создавать список любимых композиций с диска и много чего еще.
    Все это очень приятные возможности, и я, наверное, не стал бы от них избавляться, однако в целом они крайне затрудняют понимание и использование программы. Кроме того, если звонит телефон и мне надо быстро приостановить воспроизведение диска, я не могу найти нужную функцию, потому что она похоронена среди тех самых многочисленных - бесплатных — функций. Для меня эти функции не «бесплатны».
    Какой-то горе-инженер решил, что окажет мне любезность, если добавит все эти бесплатные функции, но я бы предпочел простое средство воспроизведения с легкодоступной кнопкой паузы.
    Что касается системы дистанционного управления замками, я серьезно сомневаюсь,

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

    59 это явление называется «bloatware» -распухшее программное обеспечение. Продукты вроде Lotus Notes, Adobe Photoshop, Intuit Quicken и Microsoft Word настолько плотно напичканы возможностями, что пользователей сбивает с толку беспорядочное нагромождение функций, редкие из которых используются эффективно, если вообще используются. Между тем, мириады малополезных возможностей вытесняют немногие действительно необходимые функции.
    В корпоративных программах проблема проявляется еще более остро, чем в приложениях для конечных пользователей. Такие фирмы, как Oracle, PeopleSoft, ADP,
    SAP, Siebel, создают сложное программное обеспечение, необходимое для корпоративной деятельности. Эти продукты крайне сложны, невразумительны и перегружены возможностями. Каждое ежегодное обновление добавляет множество новых функций, но по-прежнему оставляет уже имеющиеся функции непонятными и неподвластными для людей, не прошедших месяцы суровых тренировок.
    Апологеты и уцелевшие
    Танцующие медведи уже везде. Невероятная мощь компьютеров означает, что очень немногие могут себе позволить игнорировать их. Даже не имея настольного компьютера, вы, вероятно, владеете видеомагнитофоном и кредитной картой, а это продукты, основанные на программном обеспечении. Невозможно просто сказать «не буду пользоваться компьютерами». Они не просто дешевеют, а дешевеют со страшной скоростью, стремясь к повсеместному распространению, и приобретают свойства одноразовых вещей. Многие распространенные продукты, которые мы считаем механическими (или электронными) уже не производятся без процессоров. Автомобили, стиральные машины, телевизоры, пылесосы, термостаты, лифты - вот лишь несколько хороших примеров.
    В индустриальную эру польза от устройства была пропорциональна сложности работы с ним, однако в век информации подобная связь отсутствует, а сложность управления возрастает быстрее, чем польза. Старомодный механический будильник всегда считался простым устройством. Совладать с современным будильником, основанным на программном обеспечении, может быть, сложнее, чем с автомобилем.
    Высокое когнитивное сопротивление раскалывает людей на два лагеря. Оно заставляет их впадать в отчаяние и чувствовать себя глупо из-за неудач либо чувствовать

    60 эйфорию от способности преодолевать крайне серьезные препятствия. Столь мощные эмоции делают из людей «уцелевших» и «апологетов». Они либо воспринимают когнитивное сопротивление как стиль жизни, либо уходят в подполье, принимая его как неизбежное зло. Этот раскол становится все острее.
    * * *
    Вторую группу я называю апологетами потому, что ее участники прилагают максимум усилий, чтобы оправдать свое преклонение перед танцующим медведем.
    Подобно фанатам политических партий, в глупых шляпах и с бестолковыми плакатами, они превозносят преимущества, в то же время с беззастенчивым фанатизмом преуменьшая недостатки. Практически все программисты попадают в эту категорию, и их собственные интересы делают такую мотивацию понятной, однако просто удивительно, сколь многие несведущие в технике пользователи оправдывают своих угнетателей, находясь под ежедневным воздействием некачественных продуктов: «Это же легко. Достаточно запомнить, что надо нажать эти две клавиши, затем назначить системе корректное имя. Если я забуду имя, система позволяет мне найти его». Они не понимают, насколько нелепо, что система «позволяет найти». Почему бы компьютеру и не заниматься поиском или запоминанием? Апологеты - это люди, защищающие компьютер за то, что он позволяет выполнять задачи, которые раньше выполнять было невероятно сложно. Они показывают на медведя и восклицают: «Смотрите, он же танцует!»

    61
    Апологеты напоминают мне жертв стокгольмского синдрома. Речь о заложниках, которые влюбляются в своих захватчиков, безо всякой иронии или же признаков рационального мышления заявляя: «Он замечательный человек. И даже разрешает нам пользоваться туалетом».
    «Продвинутый пользователь» - лишь кодовое название апологета. Независимо от сложности взаимодействия с системой, независимо от того, насколько невразумительна ее функциональность, апологет будет безошибочно указывать на мощность и возможности технического средства, блаженно игнорируя сложность его реального применения.
    Одна из моих коллег, занимающаяся мобильными телефонами, пожаловалась, что инженеры затрудняют использование мобильных телефонов, встраивая в них массу редко востребуемых возможностей. Она сказала, что мобильные телефоны это «мокрые собаки». Когда я спросил ее, как следует понимать эту метафору, она пояснила: «Нужно очень и очень сильно любить мокрую собаку, чтобы повсюду таскать ее за собой».
    Просто удивительно, как компьютеры привлекают очень умных, инициативных людей в невероятных количествах. Похоже, этих же самых людей привлекает опасный и сложный спорт - скайдайвинг, пилотирование, подводное плавание, игра на бирже, скалолазание. Все эти занятия требуют скрупулезной подготовки, и малейшая невнимательность может закончиться катастрофой. Однако не имей эти увлечения огромного очарования, не будь они неотразимо притягательны, их приверженцы могли бы с равным успехом смотреть телевизор, ведь правда? Притягательность как раз в том, что все эти занятия сложны. Она в сложности решения интеллектуальной задачи, не допускающей ошибок. Легко представить, как вспотевший, утомленный альпинист потягивает Gatorade и, улыбаясь, произносит: «Последний участок был совершенно отвесный, пару раз я чуть не сорвался. Мышцы просто звенели от напряжения». Ему
    нравится, когда это тяжело! Чем тяжелее, тем лучше! Потому-то он и занимается этим!
    Компьютеры вдохновляют людей тем же образом, потому что предлагают такие же крутые, беспощадные испытания. И если вы не в идеальной форме, компьютер оставит вас хныкать в придорожной пыли. Легко представить утомленного программиста, который потягивает колу, ухмыляется и говорит: «Да, подпрограмма поиска приводила к сбою, но только когда размер кучи превышал 64 килобайта, потому что в противном случае кэш не использовался. С большим трудом обнаружил!» Он получает

    62
    удовольствие!
    Так и появляются апологеты. Они наслаждаются суровыми испытаниями, их неумолимой природой. Им нравится работать в среде, где особые способности делают их не такими, как все другие люди. Альпинист защищает крутизну и сложность подъема.
    Компьютерный энтузиаст защищает непрозрачность и затрудненность взаимодействия с программным обеспечением.
    * * *
    На другом полюсе находятся уцелевшие. Они нередко понимают: что-то в корне неправильно, но не могут сказать, что именно. Они плохо понимают в компьютерах и взаимодействиях, но понимают, что существует проблема. Они знают, что такое сложно и что такое легко, и очень хорошо понимают, что компьютеры - это сложно.
    Однако, как и все остальные, они не могут просто отказаться от компьютеров; компьютеры нужны для работы. Эти люди скрежещут зубами и поневоле мирятся с манерами программ, похожих на танцующих медведей. Они не знают, что компьютеры могут вести себя лучше, но знают, что каждый сеанс работы с компьютером заставляет их чувствовать себя менее уверенно, чем обычно. Подобно феодальным крестьянам средних веков, они не в силах изменить свой статус или хотя бы увидеть глубину собственных лишений, однако четко осознают, что их угнетают.
    Апологеты говорят: «Смотрите, что я могу сделать при помощи компьютера!»
    Уцелевшие говорят: «Видимо, я слишком глуп, чтобы понять эти новомодные машины».
    Апологеты говорят: «Взгляните-ка! Танцующий медведь!» Уцелевшие говорят: «Мне нужно нечто танцующее, и медведь, судя по всему, - лучший из имеющихся вариантов».
    Уцелевшие - это подавляющее большинство людей, которых не впечатляет обретенная мощь, но которых весьма впечатляет, насколько глупо они себя чувствуют, общаясь с компьютерами.
    Разумеется, практически каждый в компьютерной индустрии и родственных

    63 отраслях, создающих компьютерные продукты и услуги, однозначно происходит из лагеря апологетов. Их поведение отражает их точку зрения. Они всегда защищают свои продукты, подчеркивая их мощь и возможности. А вот сталкиваясь с вопросами из человеческой области, они - подобно политикам - склонны красочно расписывать новые функции и возможности продукта и указывать на количество пользователей, вместо того чтобы отвечать на предложенные вопросы. Они игнорируют неуклюжесть танца, превознося сам его факт.
    Невероятная скорость роста Интернета и легкость доступа к нему привели к вторжению новоявленных апологетов и уцелевших в мир компьютеров. Апологеты с энтузиазмом указывают на многочисленные службы и источники информации, доступные в Интернете. Тем временем уцелевшие гипнотизируют экраны своих компьютеров, теряясь в догадках, как найти что-нибудь полезное. Они могут до бесконечности ждать загрузки ненужных изображений на сайтах, а потом все равно теряться в сложных иерархиях ненужной информации. Всемирная паутина - вероятно, самый большой из известных человеку танцующих медведей.
    Наша реакция на когнитивное сопротивление
    На когнитивное сопротивление люди, включая и поборников, в большинстве своем реагируют одинаково. Они берут необходимый минимум, а все остальное игнорируют.
    Каждый пользователь осваивает наименьший из возможных набор функций, позволяющий решать рабочие задачи, а от остальных функций отказывается. Апологет может с гордостью рассказывать, что его наручные часы способны синхронизироваться с календарем настольного компьютера, однако почему-то забывает упомянуть, что в последний раз пользовался этой функцией полгода назад. Если прижать его по этому поводу, он займет оборонительную позицию - на то он и апологет.
    В моем новом домашнем развлекательном комплексе буквально тысячи функций. Я не апологет, но определенно испытываю пристрастие ко всяким техническим штучкам. Я научился использовать некоторые из даровых возможностей комплекса, но их слишком сложно использовать эффективно. К примеру, телевизор имеет функцию картинки в картинке (КВК). В правом нижнем углу экрана появляется дополнительный маленький экран, в котором идет изображение с другого канала. Это полностью программное решение, и оно управляется кнопками дистанционного пульта. В теории функция может

    64 оказаться удобной, если я хочу следить за футбольным матчем, но смотреть при этом фильм на основном экране. Когда продавец демонстрировал эту функцию, она показалась мне весьма полезной. Загвоздка в том, что эту функцию слишком сложно использовать. Когнитивное сопротивление таково, что я не могу в достаточной степени овладеть ею, чтобы оправдать ее присутствие. Гораздо приятнее смотреть один канал - как в старые времена, когда других вариантов и не было из-за ограничений технологии.
    Другим членам моей семьи не пришло в голову использовать функцию картинки в картинке хотя бы однажды; они делают это разве что случайно. Иногда я прихожу домой и вижу, что кто-то смотрит телевизор с картинкой в картинке. Как только я вхожу в комнату, меня сразу просят отключить КВК.
    Мой телевизор обладает экраном с диагональю в 55 дюймов, звуковой системой
    Dolby, а сигнал принимает со спутника, но я и члены моей семьи используем его точно таким же образом, как старый ящик Motorola с диагональю 19 дюймов в 1975 году. Все эти новые возможности остаются невостребованными.
    Можно предсказать, какие возможности любой новой технологии будут задействованы, а какие нет. Востребованность функции обратно пропорциональна количеству действий, необходимых для управления этой функцией. Иначе говоря, больший по размеру, более яркий экран моего нового телевизора не требует с моей стороны никаких телодвижений, а потому используется непрерывно, если телевизор включен. Экраном я вполне доволен. Спутниковая система - весьма необходимый танцующий медведь, поэтому я мирюсь со сложностью переключения источника сигнала, чтобы примерно раз в неделю смотреть спутниковые передачи. Никто другой в моей семье не мог разобраться, как смотреть спутниковые каналы, пока я не приклеил ламинированную шпаргалку на кофейный столик: она содержит перечень переключателей, кнопок и режимов. Функция КВК управляется сложной системой из более чем десятка клавиш, мало того - взаимодействие с ней не очевидно, а ее поведение неприятно. После первых же попыток я забросил эту функцию, как и все остальные.
    Такого рода когнитивное сопротивление, приводящее к фильтрации возможностей, можно обнаружить в любом офисе или доме, где используются продукты, основанные на программном обеспечении.

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

    66 рынок высоких технологий. На диаграмме представлена пирамида (некоторые рисуют ее вверх ногами), разделенная на три слоя. Каждый слой помечен невинно звучащим словосочетанием. К этой пирамиде каждый руководитель пририсовывает облако с обозначением сегмента рынка, который компания намеревается завоевать. При этом название каждого из слоев - эвфемизм, завуалированный оскорбительный намек, словно кодовая фраза ханжи, посредством которой он исключает людей из числа достойных посещать клуб для избранных. Вот эти три эвфемизма для пользователя:
    «неподготовленный», «компьютерно образованный» и «продвинутый».
    «Неподготовленный пользователь» - принятое в этой индустрии обозначение
    «пользователя глупого и некомпетентного». Конечно, этих людей заставляют почувствовать себя глупыми, но они таковыми не являются. Виновато же некачественное проектирование взаимодействия. Апологеты компьютерной индустрии не принимают неподготовленных пользователей в расчет, но это противоречит здравому смыслу. С какой это стати продавцу программ отказываться от львиной доли рынка? А с такой, что это снимает вину за провал с руководителей и разработчиков и переносит ее прямо на плечи невиновных пользователей.
    Словосочетание «компьютерно образованный пользователь» в действительности обозначает человека, которому так много раз делали больно, что толщина рубцовой ткани уже просто не позволяет ему чувствовать боль. Образование в области компьютеров означает, что если программа потеряла документ, вы не паникуете, как
    Джейн из главы 1 «Загадки века информации», но начинаете медленный, самостоятельный, совершенно ненужный поиск файла в иерархической файловой системе, и при этом не жалуетесь. Одно из свойств компьютерного образования - Оно

    67 подобно анестезии, медленно и плавно погружающей пациента в бессознательное состояние. Нет особого смысла постоянно ныть и жаловаться на программу, которая составляет обязательную и постоянную часть вашей работы. Большинство людей даже не осознает своих титанических усилий, направленных на компенсацию недостатков инструментов, основанных на программном обеспечении.
    Апологеты в основном считают компьютерную образованность чем-то вроде символа определенных достижений, как награда за отличную стрельбу. В действительности же более уместна аналогия с Пурпурным Сердцем, официальным признанием ранения, полученного в бою.
    Продвинутые пользователи - это просто апологеты. Техноэнтузиасты, сумевшие подавить лучшие свои инстинкты, чтобы стать полезными потребителями продукции с высоким когнитивным сопротивлением. Они гордятся испытаниями, словно штурмуют скалу в Йосемитском заповеднике.
    Программный апартеид
    В Голливуде шутят, что можно обратиться к незнакомцу в бакалейной лавке и спросить, как продвигается его сценарий. И незнакомец без промедления ответит:
    «Отлично! Я только что реструктурировал второе действие, чтобы усилить напряжение событий!» Та же шутка теперь верна и в отношении Кремниевой Долины. Вы можете пристать к незнакомке в очереди в кофейне и поинтересоваться, как продвигается работа над веб-сайтом. И она ответит, глазом не моргнув: «Отлично! Я только что реструктурировала фреймы, чтобы улучшить навигацию!»
    Здесь, в Долине, мы забываем, насколько мы отличаемся от остального населения, потому должны часто напоминать себе об этом. Здесь средний пользователь программного обеспечения на деле далеко не средний.
    Программисты обычно работают в окружении технически равноценных коллег, в

    68 анклавах вроде Кремниевой Долины, трассы 128 в пригороде Бостона, Научного
    Треугольника в Северной Каролине, Редмонда в Вашингтоне и Остина в Техасе.
    Разработчики программного обеспечения постоянно встречаются с коллегами в магазинах, в ресторанах, когда отвозят детей в школу, на отдыхе, в то время как их контакт с раздраженными пользователями компьютеров ограничен. Более того, редкие всплески досады пользователей, не направленные ни на кого конкретно, компенсируются частыми проявлениями энтузиазма со стороны продвинутой элиты. Мы забываем, насколько далеки от неудовольствия, вызываемого у других жителей страны (не говоря уже обо всем мире) работой с интерактивными инструментами.
    Мы бросаемся словами «компьютерное образование», подразумевая, что человеку требуется достичь определенного уровня подготовки, чтобы пользоваться компьютерами. Мы считаем это простым требованием, разумным и правильным. Мы полагаем, что не так уж глупо требовать от пользователей приобретения начальных познаний в устройстве машин, если благодаря этому первые смогут наслаждаться преимуществами последних. И все же это слишком серьезное требование. Наличие базы компьютерно образованных клиентов сильно облегчает процесс разработки, в этом нет сомнений, но затрудняет рост и движение к успеху для индустрии и общества.
    Апологеты возражают, что для вождения автомобиля требуется подготовка и сдача экзамена на знание правил дорожного движения, однако они упускают из виду, что ошибка при вождении автомобиля часто приводит к гибели людей, тогда как ошибка при работе с программой обычно имеет менее суровые последствия. Не будь машины столь смертоносными, люди учились бы водить так же, как осваивают Excel.
    Здесь присутствует и другой, более коварный эффект. Подобный подход проводит демаркационную линию между имущими и неимущими. Если владение компьютером необходимо, чтобы преуспеть на американском рынке труда и стать кем-то помимо менеджера предприятия быстрого питания, то сложность изучения интерактивных систем вынуждает многих людей браться за рабский труд, не позволяя добиться более производительных, уважаемых, более прибыльных позиций.
    Пользователь не должен получать компьютерное образование, чтобы решать посредством компьютера простые каждодневные задачи начального уровня.
    Пользователь не обязан обладать цифровой сноровкой, чтобы получать электронную почту или совладать с видеомагнитофоном и микроволновой печью. Более того,

    69 пользователи не должны получать компьютерное образование, чтобы применять компьютеры в корпоративных приложениях, где они уже владеют предметной областью.
    Так, бухгалтер, сведущий в общих принципах бухучета, не должен получать компьютерное образование, чтобы применять компьютер в своей работе. Ему должно хватать познаний в предметной области.
    По мере того как экономика все крепче базируется на информации, мы, сами того не желая, создаем в обществе раскол. Высший класс состоит из тех, кто знает различие между такими понятиями, как «оперативная память» и «жесткий диск». Низший класс - из тех, кто считает такое различие надуманным. Ирония в том, что различие и впрямь не
    принципиально для всех, кроме совсем закоренелых инженеров. И все же большинство современных программ вынуждают пользователя сталкиваться с файловой системой, ставят успех в зависимость от понимания разницы между оперативной памятью и жестким диском.
    Так термин «компьютерная образованность» становится эвфемизмом для социального и экономического апартеида и грубо разделяет наше общество на две части.
    А как же те, кто не склонен пособничать технократам, не способен или не желает получать компьютерное образование? Такие люди, многие сознательно, а большинство в силу обстоятельств, остаются за бортом информационной революции. К примеру, многие высокотехнологические компании даже не рассматривают кандидатов, не имеющих адресов электронной почты. Уверен, есть множество подходящих по всем остальным параметрам кандидатов, которым не светит найм только потому, что они еще не подключены к Интернету. Что бы ни говорили апологеты, эффективно работать с электронной почтой сложно, это требует значительного уровня компьютерной образованности. Следовательно, речь идет об искусственной изоляции части рабочей силы. С моральной токи зрения это напоминает банковский прием «красная черта».
    Смысл этого незаконного приема в том, что все дома определенного района объявляются неприемлемыми в качестве обеспечения жилищных займов. Красные линии на карте предположительно проводятся по экономическим контурам, но на деле слишком четко следуют контурам расовым. Банкиры заявляют, что никакого расизма здесь нет, однако результаты именно такие.
    Говоря о «компьютерном образовании», программисты отделяют красной чертой и этнические группы, однако мало кто обращает на это внимание. Слишком сложно

    70 увидеть, что происходит в действительности, потому что картина замазывается технической мифологией. Легко увидеть, что банкир может выдать заем под любой дом.
    Но не очевидно, что программист может создавать интерактивные продукты, работа с которыми не вызовет затруднений у людей со слабой социоэкономической подготовкой.
    Наша индустрия в целом отрицает существование проблемы пригодных к использованию интерактивных продуктов. Слишком много апологетов, ликующих по поводу танцующих медведей. Их театральные выкрики заглушают наши сомнения в работоспособности продуктов, основанных на программном обеспечении. Прежде чем начать поиск решений, мы все должны образумиться и оценить масштабы и остроту проблемы. Что мы и попытаемся сделать в следующей главе.
    Часть II. Масштабные издержки
    1   2   3   4   5   6   7   8   9   ...   21


    написать администратору сайта