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