
- •1. Предпосылки
- •1.1. Определение интерфейса
- •1.2. Простое должно оставаться простым
- •1.3. Ориентация на человека и на пользователя
- •1.4. Инструменты, которые препятствуют новым идеям
- •1.5. Разработка интерфейса как часть общего цикла разработки
- •Ваше время бесценно, ваша работа священна
- •1.6. Определение человекоориентированного интерфейса
- •2. Когнетика и локус внимания
- •2.1. Эргономика и когнетика: что мы можем и чего не можем
- •2.2. Когнитивное сознательное и когнитивное бессознательное
- •Сознание и модели человеческого разума
- •2.3. Локус внимания
- •2.3.1. Формирование привычек
- •2.3.2. Одновременное выполнение задач
- •В ловушке автоматизма
- •2.3.3. Сингулярность локуса внимания
- •Поглощенное внимание привело к гибели 101 человека
- •2.3.4. Истоки локуса внимания
- •2.3.5. Эксплуатация единого локуса внимания
- •2.3.6. Возобновление прерванной работы
- •3. Значения, режимы, монотонность и мифы
- •3.1. Терминология и условные обозначения
- •3.2. Режимы
- •3.2.1. Определение режимов
- •Предотвращение авиакатастроф через устранение режимов
- •3.2.2. Режимы, пользовательские настройки и временные режимы
- •Кнопки, которые меняются за одну ночь
- •Чем меньше кнопок, тем лучше?
- •3.2.3. Режимы и квазирежимы
- •3.3. Модели «существительное-глагол» и «глагол-существительное»
- •Пример приведения проблемной модели «глагол-существительное» к модели «существительное-глагол»
- •3.4. Видимость и состоятельность
- •Система bart и отсутствие состоятельности
- •3.5. Монотонность
- •3.6. Миф о дихотомии «новичок-эксперт»
- •4. Квантификация
- •4.1. Количественный анализ интерфейса
- •4.2. Модель скорости печати goms
- •4.2.1. Временные интервалы в интерфейсе
- •Двойная «дискликсия»20
- •4.2.2. Расчеты по модели goms
- •4.2.3. Примеры расчетов по модели goms
- •Требования
- •4.2.3.1. Интерфейс для Хола: вариант 1. Диалоговое окно
- •4.2.3.3. Интерфейс для Хола: вариант 2. Гип (gui, graphical user interface)
- •4.3. Измерение эффективности интерфейса
- •4.3.1. Производительность интерфейса для Хола
- •4.3.2. Другие решения интерфейса для Хола
- •4.4. Закон Фитса и закон Хика
- •4.4.1. Закон Фитса
- •4.4.2. Закон Хика
- •5. Унификация
- •5.1. Унификация и элементарные действия
- •5.2. Каталог элементарных действий
- •5.2.1. Подсветка, указание и выделение
- •5.2.2. Команды
- •5.2.3. Экранные состояния объектов
- •5.3. Имена файлов и файловые структуры
- •5.4. Поиск строк и механизмы поиска
- •5.4.1. Разделители в шаблоне поиска
- •5.4.2. Единицы взаимодействия
- •5.5. Форма курсора и методы выделения
- •5.6. Позиция курсора и клавиша «leap»
- •5.7. Ликвидация приложений
- •Калькулятор или компьютер?
- •5.8. Команды и трансформаторы
- •Учтивое программирование: приложения как гости
- •6. Навигация и другие аспекты человекоориентированных интерфейсов
- •6.1. Интуитивные и естественные интерфейсы
- •6.2. Улучшенная навигация: ZoomWorld
- •6.3. Пиктограммы
- •6.4. Способы и средства помощи в человекоориентированных интерфейсах
- •Допустим, вы пытаетесь что-то ввести в заблокированный текст
- •6.4.1. Вырезать и вставить
- •6.4.2. Сообщения пользователю
- •Сообщения: учебный пример
- •6.4.3. Упрощение входа в систему
- •6.4.4. Автоповтор и другие приемы работы с клавиатурой
- •6.5. Письмо от одного пользователя
- •7. Проблемы за пределами пользовательского интерфейса
- •7.1. Более человекоориентированные среды программирования
- •7.1.1. Системное окружение и среда разработки
- •7.1.2. Важность ведения документации при создании программ
- •7.2. Режимы и кабели
- •7.3. Этика и управление разработкой интерфейсов
- •Навигация против свободного пространства
- •Заключение
- •Приложения a. Однокнопочная мышь: история и будущее
- •B. Теория работы интерфейса для SwyftCard
- •Библиография
5.7. Ликвидация приложений
С каждой новой версией ваша любимая программа выполняет данную задачу в два раза дольше.
Линкольн Спектор
Современная структура программного обеспечения, состоящая из операционной системы и выполняемых под ней приложений, изначально является модальной. Это означает, что для того, чтобы интерфейс был немодальным, требуется подход, при котором не используются приложения в их современном виде.
Поскольку жесты (например, те, с помощью которых вызываются команды) из одного приложения не могут быть доступными в другом приложении, вы должны знать о том, какое приложение в данный момент является активным. Но вы не можете знать это наверняка, когда в локусе вашего внимания находится задача, которую вы пытаетесь выполнить. Поэтому иногда вы будете применять жесты, которые либо не будут давать результата, либо будут давать неправильный результат. Отдельной, создаваемой прикладными программами, стоит проблема, что средства одного приложения являются недоступными, когда вы находитесь в другом приложении. Например, ситуация может быть такой: вы хотите выполнить некоторую задачу, которую могли бы выполнить в приложении A . Но вы находитесь в приложении B , в котором аналогичной команды нет. Специалист по вычислительной технике Дан Свайнхарт (Dan Swinehart) назвал такую ситуацию «дилеммой вытеснения» (dilemma of preemption) (Tesler, 1981, с. 90).
Известны три подхода к решению дилеммы вытеснения. Наиболее распространенный метод заключается в том, чтобы каждое приложение снабдить всеми средствами, которые пользователю могут понадобиться. Этот метод обсуждался в разделе 5.1, где было указано, что в каждом персональном компьютере имеется множество различных текстовых редакторов. Большинство текстовых процессоров содержит в себе множество разных текстовых редакторов. Например, типичный текстовый процессор имеет более простой текстовый редактор для ввода шаблона в диалоговое окно поиска, чем тот, который используется для работы с основным текстом. При таком подходе приложения расширяются до колоссальных размеров, поскольку каждое их них должно решать огромное множество задач, которые имеют второстепенное значение с точки зрения его основной задачи. Например, мой текстовый процессор имеет встроенную программу для рисования, с помощью которой я могу создавать простые рисунки, без необходимости выходить из редактора. В то же время, моя программа для рисования графики имеет встроенный текстовый редактор, с помощью которого я могу включать в рисунки форматированные блоки текста без необходимости выходить из программы рисования. Средства рисования в текстовом редакторе и средства редактирования текстов в программе для рисования хуже, чем программы, которые разработаны специально для соответствующих задач. В идеале все команды и возможности как программы для рисования, так и текстового редактора должны быть доступными для пользователя в любой момент.
Аналогичным образом в каждой программе имеются средства для сохранения и открытия именованных файлов. Однако эти средства работают по-разному и имеют разные возможности в разных программах. Это приводит к путанице, трудностям в использовании и создает огромный объем избыточного программного обеспечения, которое требует оплаты, усилий на изучение, ведения документации, а также адекватного размера оперативной памяти и места на диске. То же самое касается и множества других возможностей (например, печати), которые дублируются (или очень похожи) в разных программах.
Эти проблемы в некоторой степени были учтены производителями и разработчиками. Ряд компаний разработали программное обеспечение, которое позволяет включать в единый составной документ (compound document) части, созданные в разных приложениях. Когда вы щелкаете мышью по любой точке в таком документе, автоматически активизируется приложение, в котором эта часть составного документа была создана. Этот метод позволяет избежать открытия явным образом соответствующих приложений при работе с составным документом. Конечно, для создания такого документа пользователю все равно приходится вручную запускать приложения, создавать части составного документа и затем собирать их в единое целое (обычно с помощью операций вырезания и вставки или перетаскивания).
Хотя этот метод и создает некоторое, самое небольшое удобство, дилемма вытеснения с помощью него не решается, что можно видеть на разных примерах (OpenDoc компании Apple, NextWave компании HP, OLE компании Microsoft и их производные). Когда вы работаете в одной из частей составного документа, у вас в распоряжении нет программных средств, которые используются для создания других частей. Более того, такой документ как бы не имеет границ, и его поведение неожиданным образом меняется в зависимости от места. Таблица и электронная таблица могут выглядеть одинаково, но одна действует по правилам текстового процессора, а другая – по правилам программы электронных таблиц. Это является злодейской модальностью, поскольку единственным признаком вашего местоположения является изменяющееся при щелчке меню, которое обычно расположено далеко от локуса внимания. Как мы уже знаем, это является неэффективным средством извещения пользователя о текущем состоянии системы. Хотя необходимо сказать, что абсолютного средства, конечно, здесь быть не может.
Оригинальным методом устранения режимов, которые присущи приложениям, было использование оконной парадигмы. Алан Кэй (Alan Кау) из компании Xerox PARC предложил перекрывающиеся окна (overlapping windows) для того, чтобы частично устранить модальность приложений. Он также хотел убрать разделение между операционной системой и приложениями, но успеха добился, главным образом, в том, чтобы сделать функционирование операционной системы видимым в форме так называемого рабочего стола. На то время это было действительно продвижением вперед, но, как выразился Ларри Теслер (Larry Tesler) из компании PARC, «окна, в некотором смысле, – это режимы в овечьей шкуре» (Tesler, 1981, с. 94). Это означает, что окна, по сути, не устраняют модальность приложений, но позволяют сделать видимыми и доступными одновременно множество приложений. Идея, предложенная Кэем, и другие идеи, возникшие на основе использования окон, стали важным шагом вперед, результатом которого люди пользуются более десяти лет. Однако проблема режимов и дилемма вытеснения, порожденная существованием приложений, так и не были решены. С того времени овечья шкура поизносилась, и из нее все чаще стал выглядывать на нас волчий зуб. В разделе 5.8 будет рассмотрен один из способов того, как можно окончательно разделаться с этим волком.