Далее автор письма продолжает сетовать, что одно из диалоговых окон просто «сообщает пользователю, что элемент уже введен в список» в том случае, когда название или номер существующего предмета вводится в окно для новых элементов. Чтобы продолжить, вам требуется убрать это диалоговое окно. Вместо этого автор предложил, чтобы появлялись три кнопки: оставить элемент, удалить элемент из списка или перейти к его редактированию. Хотя вариант автора является лучшим, чем изначальный, мы все же можем предложить еще более лучшую схему. Описанная проблема отчасти связана с идеей, что ввод нового элемента отличается от редактирования или удаления элементов. Предложим более простой метод: пользователь вызывает форму и вводит дескриптор элемента. Если он является новым, элемент вводится, и пользователь продолжает работу, как предполагалось. Если элемент уже имеется в списке, данные о нем сразу же вызываются, чтобы пользователь мог увидеть, что элемент уже существует. После этого пользователь может редактировать их. Естественно, удаление – это один из способов редактирования.
• Автор отмечает, что экран очень быстро заполняется одинаковыми пиктограммами, которые можно различить только по именам, указанным внизу каждой из них. Он предложил, чтобы пиктограммы различались между собой в большей степени, поскольку «среда, по сути, является визуальной». Автор письма прав в том, что если экран заполнен множеством одинаковых пиктограмм, то от пиктограмм мало толку – они только занимают место. Он предложил, чтобы использовались четыре пиктограммы. Однако следует заметить, что если будут использоваться только четыре пиктограммы, на экране все равно будет слишком много одинаковых пиктограмм. Решение заключается в том, чтобы понять, что пиктограммы на самом деле можно не использовать. При создании графических интерфейсов мы должны помнить, что текст тоже может быть визуальной подсказкой. Текст – это очень сильная подсказка с довольно подробным содержанием, которое мы все можем легко понять (см. раздел 6.3).
• «Если вы открыли окно с формой для заказа на покупку и хотите внести в него какой-то элемент, перед вами открывается диалоговое окно со следующим содержанием: «Данное приложение не может работать одновременно с окном «Создать/обновить бланк заказа». Естественной реакцией пользователя может быть вопрос: «Почему не может?» Здесь разработчики просто не имели полного представления о том, как в действительности может проходить работа пользователя.
Общий принцип состоит в том, что почти любой чрезмерно структурированный подход к процессу взаимодействия с пользователем рискует стать препятствием при выполнении им той или иной задачи, которая требует совсем другого подхода. В данном случае интерфейс превращается из помощника для пользователя в диктатора. Компьютер должен быть слугой для пользователя. Он не должен быть равным человеку или быть его начальником.
• «В электронной промышленности существует тенденция к согласованию, независимо от того, насколько это может быть продуктивным… Согласование и использование стандартов очень важно, т. к. позволяет пользователю быстрее работать. Но если согласование и стандартизация создают бесполезные вещи, то такой проект можно считать неудачным». Именно это несколько лет назад и было сказано в известной статье Грудина (Grudin) «Дело против согласования пользовательских интерфейсов» («The Case Against User Interface Consistency», Grudin, 1989). Очевидно, что анализ, проведенный Грудиным, не был воспринят электронной индустрией. Следует отказаться от стандарта, если он явным образом снижает продуктивность или является неудобным для пользователя.
• «При разработке этого программного обеспечения использовался стандартный метод построения меню, принятый в операционной системе Windows». Автор приводит пример: «Все меню изначально содержат в себе какую-то долю бесполезности. В одном из меню содержится команда Выход, которая вставлена в меню Файл». Другими словами, автор говорит, что команда Выход была единственной командой в том меню. «Команду Выход необходимо поместить в строку главного меню, а меню Файл следует убрать». Как автор пишет в своем письме, «список не может состоять из одного элемента». Бессмысленна ситуация, когда необходимо открывать меню, в котором нельзя сделать выбор.
• Автор письма делает много конкретных предложений по улучшению некоторых деталей, тогда как в этих случаях требуется более серьезная переделка. Например, при формировании заказа на покупку определенного товара пользователь сначала получает окно под названием «Ввод заказа на покупку (Добавить)». В этом окне пользователь должен указать количество. Значение количества, принятое по умолчанию, равно 0, и, как указывает автор письма, «значение по умолчанию должно быть равно 1, поскольку вряд ли кто может сделать заказ на нулевое количество». Автор, конечно, прав, но, по моему мнению, все это окно является ошибочным. Пользователю должен быть представлен список элементов, который он может прокручивать и выполнять в нем поиск. В этом списке пользователь может просто изменять значения количества, и тогда нулевое значение по умолчанию становится необходимым. В некоторых приложениях в списке должны сохраняться значения, выбранные пользователем (например, в последний раз), в качестве начальных значений для последующих случаев использования. В зависимости от необходимости может быть предусмотрена кнопка для обнуления всех значений. Такая кнопка должна быть ясно и отчетливо выделена.
В этой системе также имеется окно под названием «Ввод заказа на покупку (Убрать)». Это окно является ненужным: установка нулевого значения напротив элемента списка автоматически удаляет этот элемент из заказа на покупку.
Кроме того, эти окна содержат и другую бесполезную условность. В них имеются кнопки с указанными внизу обозначениями Сохранить и Выход. Большинство пользователей не могут точно сказать, что эти кнопки делают. Кнопка Сохранить выполняет сохранение и выход (в этом случае она так и должна быть названа: Сохранить и выйти) или пользователь должен нажимать их по очереди для того, чтобы выйти, предварительно сохранив введенные данные? Если выйти без сохранения, будет ли выдано предупреждающее сообщение наподобие «Хотите ли вы сохранить изменения перед выходом?» или данные будут потеряны? В любом случае наличие двух кнопок является бесполезным. Если вы перемещаете курсор за пределы этого окна и приступаете к какому-то другому делу, система не должна мешать вам и автоматически сохранить содержание предыдущего диалогового окна.
• Если покупатель тратит свое время на тщательный анализ вашего продукта и делает конструктивные предложения для его улучшения, обязательно отнеситесь к этому с вниманием! Это нельзя рассматривать как попытку сделать вам выговор или нанести оскорбление. Такой человек не является вашим врагом. Этим он демонстрирует свою лояльность и интерес к вашему продукту.