опрос пользователей, то большинство из них будет в восторге от большого количества параметров, настраиваемых самим пользователем. Однако здесь следует сказать, что когда только появились первые графические пользовательские интерфейсы, большинство пользователей утверждало, что никогда не захотят ими пользоваться. Также важно отметить, что пользователи настраивают интерфейсы в соответствии со своими субъективными представлениями. Наблюдения, сделанные во многих экспериментах, показывают, что
Основная мысль этого утверждения заключается в том, что если мы являемся опытными разработчиками интерфейсов и можем в максимальной степени оптимизировать данный интерфейс, то пользовательские настройки могут только ухудшить работу этого интерфейса. Поэтому следует с осторожностью предоставлять пользователю возможности по установке личных настроек. Если пользователь может действительно улучшить работу интерфейса, внеся в него всего лишь несколько полезных изменений, – это значит, что, вероятно, мы плохо сделали свою работу.
С другой стороны, если интерфейс какой-то программы – как было однажды сказано – «такой же унылый, как и интерфейс в Microsoft Word 97/98», то ситуация становится обратной. Почти любое изменение, произведенное пользователем, становится почти без преувеличения улучшением. Тем не менее, интерфейс Word – это не тот пример, на который нам следует равняться.
Режимы, которые исчезают после однократного применения, создают меньше ошибок, чем те, которые работают постоянно, просто потому, что они имеют меньше времени на то, чтобы эти ошибки вызвать. В уже описанном примере о курсорах в пакете Vellum, если бы курсор автоматически возвращался в нормальную форму и к его нормальной функции после выполнения функции трассирования, это приводило бы к меньшим ошибкам. Если пользователь применяет временный режим сразу после его включения, факт включения этого режима еще не вышел из кратковременной памяти пользователя, поэтому, скорее всего, он не сделает какой-нибудь модальной ошибки. Установку режима можно даже сделать частью жеста, который выполняет данную команду, и в этом случае ситуация станет полностью немодальной для вас. Однако если вы установите режим для некоторой команды и до ее выполнения отвлечетесь или по какой-то причине задержитесь, то, вероятнее всего, вы совершите модальную ошибку.
С целью избежать режимы, компьютер Canon Cat был спроектирован без кнопки включения питания.[13] Если продукт реагирует на жесты в зависимости от того, включен он или нет, то, следовательно, кнопка включения питания вводит режим (модальность). Для экономии энергии Canon Cat автоматически переходит в режим пониженного энергопотребления, если в течение 5 минут компьютер не используется. Во избежание превращения этого состояния в режим, было предусмотрено, чтобы любое действие пользователя или любое входящее сообщение без заметной задержки возвращало компьютер в обычное состояние. Кроме этого, действие пользователя не только «оживляло» компьютер, но и выполнялось так же, как если бы машина не находилась в режиме ожидания.
Во многих системах при нажатия любой клавиши компьютер выходит из режима ожидания, но эти нажатия, а также все последующие, сделанные до того, как система полностью «проснется», не производят действия, для которого они были предназначены. Возможность не терять никакие нажатия клавиш было довольно элегантным решением. Например, если у вас случилось вдохновение или вам потребовалось написать записку во время телефонного разговора, вы могли просто начать печатать, не заботясь о том, в каком состоянии находится Саnon Cat, или даже не глядя на монитор. Отсутствие режимов (немодальность) характерно тем, что когда у вас появляются привычки в пользовании интерфейсом, вам не нужно задумываться или планировать выполнение того или иного действия, поэтому внимание целиком сосредоточено только на содержании вашей работы. (Если же случилось так, что записку вы стали набирать прямо в середине какого-нибудь другого текста, вы сможете просто выделить ее и переместить в другое место после того, как увековечите свое вдохновение или закончите телефонный разговор.)
Иногда разработчики говорят, что режимы нужны потому, что число необходимых программных функций превышает число жестов, которые пользователь может выполнить с помощью клавиатуры и графического устройства ввода, поэтому жесты должны использоваться многократно. Однако число команд, исполняемых с помощью монитора (например, меню), и команд, вводимых с клавиатуры в командную строку и содержащих множество символов, может быть неограниченным и потому позволяет избежать упомянутой трудности. (О том, как сделать видимыми различные команды, доступные из командной строки, вместо того чтобы запоминать их, мы поговорим позже.)
Можно сделать следующий вывод относительно режимов:
На некоторых самолетах используются кнопки, на которых имеется небольшой точечный дисплей, отражающий текущее назначение кнопки. Изменение назначения кнопки контролируется бортовым компьютером в течение всего полета. Рекламный вариант одной из моделей таких кнопок показал их преимущества с точки зрения так называемого человеческого фактора. Во-первых, при использовании этих кнопок требуется их меньшее количество, что важно, так как площадь кабины самолета ограничена. Во- вторых, эти кнопки позволяют вносить изменения в бортовое электронное оборудование и другие системы самолета без необходимости переделывать электропроводку внутри кабины.
С точки зрения когнетики, чем понятнее надписи, тем лучше их видно. На первый взгляд кажется, что человек, который отбирает необходимые надписи, должен провести тестирование словесных формулировок, которые в них используются, и убедиться в том, что отобранные символы являются эффективными и понятными.
Однако при более тщательном размышлении выясняется, что эти кнопки могут представлять некоторые потенциальные проблемы. Следует учитывать, что надпись на кнопке закрывается пальцем как раз в момент нажатия на нее, тем самым не давая в самую последнюю секунду проверить, что это кнопка – правильная. Но это еще не самая большая проблема, поскольку перед тем как нажать кнопку, вы обычно смотрите на надпись на ней, – если вообще куда-нибудь смотрите. (Конечно, я не смотрю на обозначения на кнопках, когда сейчас набираю текст на клавиатуре.)
Есть еще и другая, более глубокая проблема, касающаяся «исчезновения» кнопок. Например, вы хотите включить ручное управление кондиционированием в салоне. Вы вспоминаете, что есть кнопка с надписью MANUAL AIR (Ручное управление кондиционером), но нигде не можете ее найти. Дело в том, что на ней стоит другое обозначение – СОММ BACKUP (Резервная связь). Поэтому вам необходимо подумать, как вернуть то обозначение, которое было раньше на этой кнопке. Возможно, где-то установлен еще один тумблер или кнопка, с помощью которых обозначения на кнопках можно изменить. Или, вероятно, обозначения являются контекстными и поэтому не позволят вам включить кондиционирование прямо сейчас. Как бы то ни было, когда кнопки могут иметь изменяемые назначения, то нужная вам кнопка может исчезнуть, если система окажется в другом режиме.
Но самая серьезная проблема связана с привычками. Представьте, что опытный пилот протягивает руку, чтобы нажать какую-то кнопку. Радиосвязь не работает из-за каких-то неполадок. Необходимо включить резервную связь. Пилот сразу нажимает кнопку СОММ BACKUP. Щелк! Но ничего не выходит. Дело в том, что незадолго до этого второй пилот по просьбе пассажира регулировал температуру в салоне, и поэтому кнопки находятся в режиме регулирования климата. То есть нажатием этой кнопки командир корабля просто включил ручное управление системы кондиционирования корабля.
Кнопки с изменяемыми названиями могут быть полезны, например, когда консоль используется одновременно несколькими людьми таким образом, что кнопки сохраняют свои обозначения только для каждого отдельного пользователя. Но такая ситуация встречается редко. Программируемые клавиши, которые могут иметь разные назначения, влияющие на экранные кнопки, или кнопки настройки дисплея