Интерфейс: новые направления в проектировании компьютерных систем
Добавить в закладки К обложке
- ВведениеВажность основ - Страница 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.2.2. Команды
Я как писатель-фантаст уверен, что этот чертов робот должен говорить на человеческом языке, а не наоборот.
Спайдер РобинсонНекоторые команды (как, например, Отменить) не обязательно могут применяться к выборкам. Другие команды действуют только по отношению к текущей выборке – как, например, команда, которая удаляет текущую выборку. Некоторые из этих команд вводятся с клавиатуры. Однако число клавиш на клавиатуре меньше, чем количество возможных команд. Каждая дополнительная клавиша-модификатор (как, например, «Shift», «Alt», «Command», «Control» или «Option») позволяет удвоить число клавиатурных команд. Полная клавиатура, в которой любая комбинация клавиш может быть воспринята компьютером, допускает астрономическое число сочетаний клавиш. Например, программное обеспечение, в котором предусмотрено использование любых трехклавишных дваждыквазимодальных сочетаний на 110-клавишной клавиатуре, позволяет передать более одного миллиона команд с помощью только одного жеста. Однако широкое использование клавиш-модификаторов, особенно в сочетаниях клавиш, очень часто приводит к появлению чрезвычайно сложных комбинаций, в которых можно просто «сломать пальцы». Кроме того, комбинации редко бывают запоминаемыми или понятными. (Знаете ли вы, какое действие выполняет на вашем компьютере сочетание «Control»+«Shift»+«Option»+«\»?) Запомнить различные сочетания клавиш не просто. Такое запоминание является недопустимым требованием к памяти пользователя. Кроме того, такие команды нарушают критерий видимости, если только в системе каким-то образом не отображается то, какой результат будет получен при применении той или иной команды. Конечно, если в отдельных случаях какой-то из этих жестов не может быть выполнен или если жест имеет разные значения в разные моменты, это означает модальность системы по отношению к данному жесту, что приводит к проблемам, которые обсуждались в главе 3.
Если разделить систему на приложения таким образом, что данная команда может многократно использоваться, но с разными значениями в разных приложениях, появляется возможность увеличить количество команд, которые пользователь может вызвать для заданного множества сочетаний клавиш. Однако использование команд в приложениях, в которых для них устанавливаются разные значения, приводит к модальным ошибкам. Кроме того, различающийся смысл жеста создает ненужные трудности для его запоминания. Частично эта трудность облегчается с помощью меню. Тем не менее, пользователю все равно приходится запоминать, где находится та или иная команда. (Возможно, пользователю даже придется сначала вспомнить, в каком именно приложении используется необходимая ему команда, особенно если используется несколько приложений с подобными функциями.) Процесс просматривания меню иногда становится привычным, но иногда он оказывается утомительным, особенно если искомая команда находится в каком-то из подменю и если способ организации меню, который показался разработчику очевидным, не является таковым для пользователя.
Для назначения команд требуется такой метод, который был бы таким же быстрым и физически простым, как нажатие на пару клавиш, и с помощью которого было бы проще и быстрее найти необходимую команду, чем с помощью системы меню. Нежелательно повторять двойной метод, который используется в большинстве известных графических пользовательских интерфейсах и включает в себя как систему меню, так и набор непонятных горячих клавиш. Например, нет ничего запоминаемого в сочетании
Command↓ v↓↑↑
которое используется для вставки, кроме того, что клавиша v расположена рядом с клавишей c, используемой в сочетании
Command↓ c↓ ↑↑
которое запоминается несколько лучше, поскольку с может напоминать слова «вырезать» (cut) или «скопировать» (copy).
Другой метод позволяет решить многие из этих проблем. Предположим, что на клавиатуре есть клавиша «Вычислить» (Calculate). При нажатии на эту клавишу текущая выборка рассматривается как арифметическое выражение и вычисляется. Далее я буду использовать подчеркивание, чтобы показать выборку. Допустим, что текст является следующим:
Я хочу купить 3+4 рубашек
При нажатии на клавишу «Вычислить» он будет преобразован в следующий текст:
Я хочу купить 7 рубашек
До нажатия на клавишу «Вычислить» 3+4 было обычным текстом, Он ничем не отличался от остального текста, за исключением того, что он был выделен. Пять символов (включая пробелы), из которых состояла выборка, можно было переместить или удалить, или же к ним могла быть применена любая другая обычная команда текстового процессора. Но в данном случае была использована операция Вычислить. Пользователю не потребовалось открывать окно калькулятора или вызывать специальное приложение.
- 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