Приведем некоторые другие команды, изменяющие состояние текста. С помощью команды Заблокировать (Lock) можно просто запирать текст или другое содержание. Заблокированное содержание можно просматривать, выделять и копировать, но нельзя изменять или перемещать. Обратная команда – Разблокировать (Unlock) – может быть применена к выделенному содержанию для его разблокировки при условии, что оно было заблокировано (в противном случае команда не дает никакого результата, т. е. она не должна быть переключателем). С помощью другой команды – Заблокировать с паролем (Lock with Password) – можно заблокировать старую выборку, используя текущую выборку в качестве пароля. Эта команда также имеет обратный аналог (Разблокировать по паролю (Unlock with Password)). Возможность заблокировать какое-то содержание может быть довольно полезной. Например, она может использоваться для создания стандартных форм для заполнения. Неизменные элементы формы могут быть заблокированы, в том числе и по паролю, при этом простое блокирование позволит предотвратить случайные изменения, а блокирование по паролю – несанкционированные изменения. Если бы электронная инструкция по использованию некоторой компьютерной системы входила в набор текстов, с которыми компьютер изначально поставлялся, – что в общем является неплохой идеей, – то такое руководство, вероятно, блокировалось бы производителем по паролю еще на заводе.
Команды Экранная блокировка (Screen Lock) и Экранная разблокировка (Screen Unlock) позволяют заблокировать и разблокировать позиции объектов, выделенных на экране. С помощью этих команд пользователь может создавать меню, которые будут сохранять свое место на экране, в то время как другие объекты перемещаются под ними. Можно даже связывать позицию меню с днем недели (насколько такая возможность является полезной – это уже другой вопрос). Чтобы использовать эту команду, вы размещаете объект в требуемой позиции на экране, выделяете его и применяете команду Экранная блокировка. Также должна быть версия этой команды с использованием пароля для тех случаев, когда нежелательно, чтобы пользователь мог изменить позицию того или иного меню.
Другой полезной командой является регулировка прозрачности выборки. В некоторых ситуациях, таких как, например, отображение сообщений об ошибках, полезно сформировать выборку достаточно прозрачной, чтобы лежащий под ней материал можно было видеть и продолжать с ним работать (рис. 5.2). Аналогичным образом с помощью другой команды можно было бы определять, скрывает ли данный объект другой объект либо скрывается им, либо просматривается через него. Прозрачное окно сообщения может исчезать медленно, а не внезапно, давая пользователю время заметить его. Также необходимо, чтобы в некотором документе сохранялись все сообщения для последующего обзора.
Рис. 5.2. Эффективность прозрачного сообщения об ошибке на фоне текста составляет 1
Для удаления прозрачного диалогового окна не требуется нажатие какой-либо клавиши, так как вы можете продолжить работу через него. Такое окно не создает режимов и является высокоэффективным (эффективность составляет 1). Как и любой другой метод, эта идея имеет свои ограничения и может быть использована чрезмерно. Поток ненужных сообщений все равно отвлекает внимание, даже если пользователь может продолжить работу во время того, как они исчезают. В соответствии с принципом видимости, должно быть предусмотрено визуальное отличие для текста, который является заблокированным, экранно заблокированным, заблокированным по паролю и т. д.
Принцип человекоориентированного интерфейса заключается в том, что система сама должна быть построена из тех же самых элементов, что знакомы вам по повседневному использованию этой системы. Такой подход позволяет создавать более понятные продукты.
5.3. Имена файлов и файловые структуры
Люди скорее готовы страдать до последней возможности, чем защищать свои права через уничтожение тех форм правительства, к которым они привыкли.
Томас Джефферсон, из Декларации независимости Соединенных Штатов Америки
Для многих пользователей максимально возможная в Macintosh длина имени файла в 31 символ была просто счастьем в сравнении с ужасным ограничением в 8 символов в более ранних системах. Тем не менее, даже такая модификация являлась всего лишь смирительной рубашкой большего размера. За исключением некоторых реальных ограничений, налагаемых аппаратным оборудованием, интерфейс не должен иметь ограничений, связанных с длиной. Интерфейс должен использовать распределение динамической памяти, ссылки, хеширование или любые другие методы, но никогда не должен ставить для пользователя ограничений, таких как «вы можете использовать не более 255 категорий» или «объем абзаца не должен быть более 32,000 символов».[29]
Чем является имя файла? С точки зрения пользователя, это «ручка», за которую файл можно взять. По своему опыту мы знаем, что имена файлов работают не так, как этого стоило бы ожидать, – они мешают, когда нужно что-то сохранить, и бывают бесполезными, когда нужно что-то найти. Если говорить более конкретно, файловые имена становятся назойливыми, когда вы собираетесь что-то сохранить, так как вам приходится останавливаться в середине самого процесса сохранения, чтобы придумать имя для файла.[30] Создание имен – это трудное занятие. Требуется на месте, за пару мгновений выдумать уникальное, запоминающееся имя, которое, к тому же, должно отвечать правилам, принятым в данной файловой системе. Кроме того, в этот момент в локусе вашего внимания находится не проблема создания имени файла, а вопрос сохранения вашей работы. Файловые имена приводят к неудобствам и при поиске файлов. Имя, которое вы придумали, может быть не особенно запоминающимся, и поэтому вы, вероятно, можете забыть его через несколько недель (или даже раньше). Я, например, редко когда могу вспомнить имя файла, если только я не пользовался им совсем недавно, и даже простое просматривание списка файлов вызывает смятение. Ну, скажите, что может содержаться в файле с именем «notes ybn 32»? Когда я придумывал его, оно казалось таким умным и запоминающимся. Кроме того, многие файлы очень похожи друг на друга. Сколько разных, оригинальных и запоминающихся имен вы можете выдумать для писем к своему бухгалтеру по поводу оплаты налогов за прошлый год? Их, конечно, можно организовать по дате, но многие ли из нас способны помнить, что, например, письмо о списании служебного грузовика было написано 14 августа?
Необходимость давать имена файлам увеличивает ментальную нагрузку на пользователя. Назначение имени не делает ничего, кроме добавления к самому файлу еще нескольких символов. И вам приходится запоминать этот файл только лишь по тому кусочку символов и больше ни по чему другому. Я считаю это одним из главных бедствий, которым страдают современные компьютерные системы. Этот метод используется также и во многих других информационных средствах.
Между именем файла и самим файлом не должно быть различия. Человеческий мозг способен более эффективным образом использовать быструю, полнотекстовую поисковую систему, поэтому любое слово или фраза из файла может служить ключом к нему. (Более того, желательно, чтобы по запросу «письмо о стрекозе» выполнялся поиск чего-либо в форме письма, а также не только слова стрекоза, но и связанных с ним терминов и выражений в случаях, если упоминались научные названия этого вида (например, Odonata). Если такие письма обнаружены не были, поиск должен продолжиться среди документов, не являющихся письмами, и так далее, расширяясь до сетевых ресурсов и Интернета.) Вы не можете помнить содержание документа по его имени «Письмо Джиму от 21/12/92», но вы можете помнить, что когда-то вы писали Джиму по поводу одной голубой Edsel, которая однажды пролетала мимо вас. Поиск по слову Edsel найдет только один или два элемента во всей вашей системе, если только вы не интересуетесь именно видом Edsel – в этом случае вы, вероятно, выбрали бы другую схему поиска. Неограниченное по длине имя файла является самим файлом. Содержание текстового файла и есть его самое лучшее имя.