Интерфейс: новые направления в проектировании компьютерных систем
Добавить в закладки К обложке
- ВведениеВажность основ - Страница 1
- 1. Предпосылки - Страница 3
- 1.1. Определение интерфейса - Страница 4
- 1.2. Простое должно оставаться простым - Страница 5
- 1.3. Ориентация на человека и на пользователя - Страница 6
- 1.4. Инструменты, которые препятствуют новым идеям - Страница 7
- 1.5. Разработка интерфейса как часть общего цикла разработки - Страница 8
- 1.6. Определение человекоориентированного интерфейса - Страница 10
- 2. Когнетика и локус внимания - Страница 11
- 2.1. Эргономика и когнетика: что мы можем и чего не можем - Страница 12
- 2.2. Когнитивное сознательное и когнитивное бессознательное - Страница 13
- 2.3. Локус внимания - Страница 17
- 2.3.1. Формирование привычек - Страница 19
- 2.3.2. Одновременное выполнение задач - Страница 21
- 2.3.3. Сингулярность локуса внимания - Страница 23
- 2.3.4. Истоки локуса внимания - Страница 26
- 2.3.5. Эксплуатация единого локуса внимания - Страница 27
- 2.3.6. Возобновление прерванной работы - Страница 28
- 3. Значения, режимы, монотонность и мифы - Страница 29
- 3.1. Терминология и условные обозначения - Страница 30
- 3.2. Режимы - Страница 32
- 3.2.1. Определение режимов - Страница 36
- 3.2.2. Режимы, пользовательские настройки и временные режимы - Страница 39
- 3.2.3. Режимы и квазирежимы - Страница 44
- 3.3. Модели «существительное-глагол» и «глагол-существительное» - Страница 46
- 3.4. Видимость и состоятельность - Страница 48
- 3.5. Монотонность - Страница 50
- 3.6. Миф о дихотомии «новичок-эксперт» - Страница 52
- 4. Квантификация - Страница 54
- 4.1. Количественный анализ интерфейса - Страница 55
- 4.2. Модель скорости печати GOMS - Страница 56
- 4.2.1. Временные интервалы в интерфейсе - Страница 57
- 4.2.2. Расчеты по модели GOMS - Страница 59
- 4.2.3. Примеры расчетов по модели GOMS - Страница 60
- 4.2.3.1. Интерфейс для Хола: вариант 1. Диалоговое окно - Страница 61
- 4.2.3.3. Интерфейс для Хола: вариант 2. ГИП (GUI, graphical user interface) - Страница 62
- 4.3. Измерение эффективности интерфейса - Страница 63
- 4.3.1. Производительность интерфейса для Хола - Страница 66
- 4.3.2. Другие решения интерфейса для Хола - Страница 68
- 4.4. Закон Фитса и закон Хика - Страница 70
- 4.4.1. Закон Фитса - Страница 71
- 4.4.2. Закон Хика - Страница 72
- 5. Унификация - Страница 73
- 5.1. Унификация и элементарные действия - Страница 74
- 5.2. Каталог элементарных действий - Страница 76
- 5.2.1. Подсветка, указание и выделение - Страница 78
- 5.2.2. Команды - Страница 81
- 5.2.3. Экранные состояния объектов - Страница 85
- 5.3. Имена файлов и файловые структуры - Страница 87
- 5.4. Поиск строк и механизмы поиска - Страница 91
- 5.4.1. Разделители в шаблоне поиска - Страница 93
- 5.4.2. Единицы взаимодействия - Страница 94
- 5.5. Форма курсора и методы выделения - Страница 96
- 5.6. Позиция курсора и клавиша «LEAP» - Страница 99
- 5.7. Ликвидация приложений - Страница 101
- 5.8. Команды и трансформаторы - Страница 104
- 6. Навигация и другие аспекты человекоориентированных интерфейсов - Страница 108
- 6.1. Интуитивные и естественные интерфейсы - Страница 109
- 6.2. Улучшенная навигация: ZoomWorld - Страница 111
- 6.3. Пиктограммы - Страница 117
- 6.4. Способы и средства помощи в человекоориентированных интерфейсах - Страница 121
- 6.4.1. Вырезать и вставить - Страница 124
- 6.4.2. Сообщения пользователю - Страница 125
- 6.4.3. Упрощение входа в систему - Страница 128
- 6.4.4. Автоповтор и другие приемы работы с клавиатурой - Страница 129
- 6.5. Письмо от одного пользователя - Страница 131
- 7. Проблемы за пределами пользовательского интерфейса - Страница 134
- 7.1. Более человекоориентированные среды программирования - Страница 135
- 7.1.2. Важность ведения документации при создании программ - Страница 137
- 7.2. Режимы и кабели - Страница 138
- 7.3. Этика и управление разработкой интерфейсов - Страница 140
- Заключение - Страница 143
- Приложения - Страница 144
- B. Теория работы интерфейса для SwyftCard - Страница 146
- Библиография - Страница 148
5.7. Ликвидация приложений
С каждой новой версией ваша любимая программа выполняет данную задачу в два раза дольше.
Линкольн СпекторСовременная структура программного обеспечения, состоящая из операционной системы и выполняемых под ней приложений, изначально является модальной. Это означает, что для того, чтобы интерфейс был немодальным, требуется подход, при котором не используются приложения в их современном виде.
Поскольку жесты (например, те, с помощью которых вызываются команды) из одного приложения не могут быть доступными в другом приложении, вы должны знать о том, какое приложение в данный момент является активным. Но вы не можете знать это наверняка, когда в локусе вашего внимания находится задача, которую вы пытаетесь выполнить. Поэтому иногда вы будете применять жесты, которые либо не будут давать результата, либо будут давать неправильный результат. Отдельной, создаваемой прикладными программами, стоит проблема, что средства одного приложения являются недоступными, когда вы находитесь в другом приложении. Например, ситуация может быть такой: вы хотите выполнить некоторую задачу, которую могли бы выполнить в приложении A. Но вы находитесь в приложении B, в котором аналогичной команды нет. Специалист по вычислительной технике Дан Свайнхарт (Dan Swinehart) назвал такую ситуацию «дилеммой вытеснения» (dilemma of preemption) (Tesler, 1981, с. 90).
Известны три подхода к решению дилеммы вытеснения. Наиболее распространенный метод заключается в том, чтобы каждое приложение снабдить всеми средствами, которые пользователю могут понадобиться. Этот метод обсуждался в разделе 5.1, где было указано, что в каждом персональном компьютере имеется множество различных текстовых редакторов. Большинство текстовых процессоров содержит в себе множество разных текстовых редакторов. Например, типичный текстовый процессор имеет более простой текстовый редактор для ввода шаблона в диалоговое окно поиска, чем тот, который используется для работы с основным текстом. При таком подходе приложения расширяются до колоссальных размеров, поскольку каждое их них должно решать огромное множество задач, которые имеют второстепенное значение с точки зрения его основной задачи. Например, мой текстовый процессор имеет встроенную программу для рисования, с помощью которой я могу создавать простые рисунки, без необходимости выходить из редактора. В то же время, моя программа для рисования графики имеет встроенный текстовый редактор, с помощью которого я могу включать в рисунки форматированные блоки текста без необходимости выходить из программы рисования. Средства рисования в текстовом редакторе и средства редактирования текстов в программе для рисования хуже, чем программы, которые разработаны специально для соответствующих задач. В идеале все команды и возможности как программы для рисования, так и текстового редактора должны быть доступными для пользователя в любой момент.
Аналогичным образом в каждой программе имеются средства для сохранения и открытия именованных файлов. Однако эти средства работают по-разному и имеют разные возможности в разных программах. Это приводит к путанице, трудностям в использовании и создает огромный объем избыточного программного обеспечения, которое требует оплаты, усилий на изучение, ведения документации, а также адекватного размера оперативной памяти и места на диске. То же самое касается и множества других возможностей (например, печати), которые дублируются (или очень похожи) в разных программах.
Эти проблемы в некоторой степени были учтены производителями и разработчиками. Ряд компаний разработали программное обеспечение, которое позволяет включать в единый составной документ (compound document) части, созданные в разных приложениях. Когда вы щелкаете мышью по любой точке в таком документе, автоматически активизируется приложение, в котором эта часть составного документа была создана. Этот метод позволяет избежать открытия явным образом соответствующих приложений при работе с составным документом. Конечно, для создания такого документа пользователю все равно приходится вручную запускать приложения, создавать части составного документа и затем собирать их в единое целое (обычно с помощью операций вырезания и вставки или перетаскивания).
Хотя этот метод и создает некоторое, самое небольшое удобство, дилемма вытеснения с помощью него не решается, что можно видеть на разных примерах (OpenDoc компании Apple, NextWave компании HP, OLE компании Microsoft и их производные). Когда вы работаете в одной из частей составного документа, у вас в распоряжении нет программных средств, которые используются для создания других частей. Более того, такой документ как бы не имеет границ, и его поведение неожиданным образом меняется в зависимости от места. Таблица и электронная таблица могут выглядеть одинаково, но одна действует по правилам текстового процессора, а другая – по правилам программы электронных таблиц. Это является злодейской модальностью, поскольку единственным признаком вашего местоположения является изменяющееся при щелчке меню, которое обычно расположено далеко от локуса внимания. Как мы уже знаем, это является неэффективным средством извещения пользователя о текущем состоянии системы. Хотя необходимо сказать, что абсолютного средства, конечно, здесь быть не может.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150