Книга: Психбольница в руках пациентов. Алан Купер об интерфейсах
Назад: Что плохого в календарях
Дальше: Программы во всем обвиняют пользователей

Что плохого в программном обеспечении?

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

Программы имеют свойство забывать

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



Программы имеют свойство лениться

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

Программы утаивают важные данные

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

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

Программы лишены гибкости

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

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

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

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

Назад: Что плохого в календарях
Дальше: Программы во всем обвиняют пользователей