Этот список приводит в уныние, поэтому давайте посмотрим на положительные стороны. Компьютер обладает потенциалом, более чем достаточным для решения любой задачи. Благодаря неограниченным возможностям, сочетаемости со многими средствами управления и способности имитировать любые образы и звуки компьютер может облегчить нашу жизнь. Систему можно подогнать под пользователя, но для этого мы должны настаивать на том, чтобы разработчики работали не во имя технологий, а во имя нашего с вами блага. Уже есть программы и системы, разработанные с учетом интересов пользователя. С ними намного легче (и приятнее) работать. Так и должно быть. Компьютеры могут не только облегчить нашу жизнь, но и сделать ее веселее.
Никогда не поздно сделать все как надо
Компьютерные технологии молоды, и весь их потенциал еще не раскрыт. Некоторые люди до сих пор сохранили веру в то, что если вы не прошли тайный обряд посвящения в навыки программирования, вас нельзя допускать в общество пользователей компьютеров. Так было и в первые дни развития автомобилестроения: только смелые, жаждущие приключений и хорошо знакомые с техникой садились за руль.
Ученые-компьютерщики так далеко зашли в разработке языков программирования, что с их помощью могут решить любые технические проблемы вычисления. Однако развитие языков взаимодействия компьютера и пользователя было сильно обделено вниманием. Каждый студент-программист знакомится с вычислительным аспектом работы компьютера. Дисциплины же, которые освещают проблемы пользователей, можно пересчитать по пальцам, да и то их часто игнорируют, потому что учебный график неоперившихся программистов и без них забит до отказа. В результате многие специалисты без труда пишут чудесные программы, единственный недостаток которых заключается в том, что ими могут пользоваться только профессионалы. Многие программисты даже не задумываются о пользователях. Они очень удивляются, когда узнают, что их творения портят нервы потребителям. Этому нет прощения. Не так уж и трудно создать программу, которая делала бы операции видимыми, показывала бы возможные будущие действия и отражала бы текущее состояние системы[79]
.Позвольте привести примеры отличных систем, разработанных с учетом интересов пользователей. Первый пример – электронные таблицы, вычислительная программа, которая изменила «лицо» бухгалтерского учета. Первой такой программой стала Visicalc. Она была такой удачной, что ради нее некоторые пользователи покупали компьютеры. А это веский аргумент в пользу практичности. Конечно, у электронных таблиц тоже есть свои недостатки, но в целом они делают работу с числами удобной и наглядной.
Что же понравилось пользователям в электронных таблицах? То, как они выглядели. Люди забывали, что пользовались компьютером, потому что могли работать непосредственно над решением проблемы. Они могли подойти к проблеме так же, как и раньше, только теперь результаты работы были видны сразу же. Изменение одной цифры приводило к изменению всех связанных с нею данных. Это чрезвычайно помогало в составлении бюджетных планов. Одни лишь преимущества и никаких технических преград. Самые лучшие программы – те, которые отвлекают внимание пользователя от компьютера и всецело направляют его на решение проблемы.
На самом деле программа Visicalc обладала рядом недостатков. Замысел был великолепен, но его воплощение оказалось не на высоте. Я не осуждаю разработчиков, так как они были ограничены возможностями раннего поколения персональных компьютеров. Современная техника мощнее, а электронные таблицы – проще. Visicalc заложила основу для пользовательских (в полном смысле этого слова) программ.
Разработать эффективную и практичную компьютерную систему непросто. С одной стороны, это дорого. Рассмотрим описанные в книге принципы дизайна: наглядность, ограничители, назначение, естественные соответствия и обратную связь. В отношении компьютерных систем это значит, что помимо всего прочего дизайнер должен сделать операции видимыми (или слышимыми), а это требует использования большого и высококачественного монитора, дополнительных входных устройств и компьютерной памяти. Для этого нужны более быстрые и мощные компьютерные системы. А все это приводит к росту стоимости производства и, естественно, увеличению потребительской цены системы. Тот факт, что обычные пользователи стремятся приобрести самую мощную систему с самой большой памятью и самым лучшим монитором, может не иметь значения. А требования программистов-профессионалов не так высоки, потому что они умеют работать с более простыми системами и менее эффективными мониторами.