- •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. Сингулярность локуса внимания
- •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. Видимость и состоятельность
- •3.5. Монотонность
- •3.6. Миф о дихотомии «новичок-эксперт»
- •4. Квантификация
- •4.1. Количественный анализ интерфейса
- •4.2. Модель скорости печати goms
- •4.2.1. Временные интервалы в интерфейсе
- •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.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. Этика и управление разработкой интерфейсов
- •Заключение
7.2. Режимы и кабели
Программное обеспечение работает на основе аппаратного обеспечения. Если вы не можете определить, как соединить между собой блоки аппаратного обеспечения, программное обеспечение превращается в бесполезные биты информации. Кабель — несколько проводов или волоконно-оптических линий, соединенных вместе и имеющих на каждом конце по разъему, — является одним из простейших элементов аппаратного обеспечения. Кабели должны присоединяться и отсоединяться от компьютера независимо от того, включен он или нет (кабели, которые нельзя заменять без выключения питания («not hot-swappable»), являются модальными!). У пользователя не должна возникать необходимость изменять конфигурацию устройств, как это требуется при использовании SCSI-соединений. В стандартах USB и FireWire эти проблемы учитываются. Однако есть другие проблемы интерфейсов, которые не учитываются даже в новых стандартах. Например, ситуация, когда кабель имеет неподходящий «пол» разъема, вызывает раздражение. Поскольку кабели могут иметь разные разъемы («папа» и «мама»), и так как некоторые части оборудования могут иметь соединители или для одного типа разъема («папа»), или для другого («мама»), это приводит к тому, что каждый тип кабеля может иметь огромное число модификаций. Многие владельцы компьютеров покупают адаптеры для инверсии «пола», поскольку они дешевле и меньше по размеру, чем кабели. Допустим, что у вас есть только кабель с двумя типами разъемов («папа-мама»), а вам требуется соединить два устройства, в которых есть разъемы только одного типа («мама»). В этом случае вы можете либо приобрести кабель с двумя разъемами соответствующего типа («папа-папа»), либо купить адаптер типа «папа-мама» и присоединить его к одному из концов («мама») кабеля, который у вас уже есть. В результате вы получите кабель («папа-папа»), который будет подходить для соединения двух устройств с симметричными разъемами («мама-мама»).
Эту проблему можно избежать, но методы, которые обычно предлагаются, не работают. Одно из решений, о котором я слышал, заключается в том, чтобы на оборудовании устанавливать разъемы одного типа (скажем, «мама»), а на кабелях все разъемы сделать другого типа (соответственно, «папа»). Но даже в этом случае будут нужны адаптеры типа «мама-мама» для соединения двух коротких кабелей в один длинный, или же производители должны будут подумать о выпуске кабельных шнуров типа «папа-мама», чтобы их можно было использовать для удлинения. Следуя этой логике, можно прийти к ситуации, в которой потребуется использовать все возможные комбинации между соединениями «папа» и «мама» на кабелях и адаптерах, даже если по стандарту все соединения на оборудовании будут иметь разъемы типа «мама».
Обычная соединительная пара состоит из штекерного разъема («папа») и гнездового разъема («мама»). В результате появляется набор из следующих восьми типов деталей, которые могут использоваться как соединители для оборудования и кабельных шнуров:
соединитель «папа» для оборудования;
соединитель «мама» для оборудования;
соединитель «папа» для кабельных шнуров;
соединитель «мама» для кабельных шнуров;
адаптеры «папа-мама»;
адаптеры «мама-папа»;
адаптеры «папа-папа»;
адаптеры «мама-мама».
При использовании гермафродитных соединителей любые два кабеля можно соединить вместе и любой кабель может быть присоединен к любому разъему в оборудовании. Таким образом, весь набор типов соединителей сводится к следующим двум типам:
соединитель для оборудования;
соединитель для кабельных шнуров.
С точки зрения электротехники для каждого вида сигнала требуется использовать свой тип кабеля, но в каждом классе кабелей ни с точки зрения электротехники, ни с точки зрения производства ничто не мешает использовать гибридные (так называемые гермафродитные) соединители, не разделяющиеся на тип «папа» или «мама». Любые два соединителя-гермафродита данного класса могут быть соединены вместе. Более того, любой вид соединения для проведения электронного сигнала или питания может быть выполнен с помощью гермафродитных соединителей. Они могут использоваться в качестве многоштекерных соединителей, разъемов питания, а также для коаксиальных кабелей52.
Если имеются два гермафродитных соединителя данного класса, вы можете их использовать как два разных кабеля или соединить их в один длинный кабель. В некоторых случаях соединитель-гермафродит мог бы быть не сложнее и не дороже соединителя с определенным «полом». Однако это не всегда будет так. Во многих случаях гермафродитный соединитель будет несколько сложнее и дороже в производстве, но это будет оправдываться следующими факторами:
большее удобство для пользователя;
более простые инструкции;
меньший объем производственной наладки;
меньшее количество деталей, которые нужно складировать продавцам и распространителям.
На рис. 7.1 показана схема четырехпроводного линейного гермафродитного соединителя. При линейном расположении nпроводов требуется минимум2n-1контактов. По схеме проводов на рис. 7.2 можно понять, каким образом работают такие соединители. На рис. 7.3 показаны выходы из гермафродитного коаксиального соединителя. Эту идею можно использовать и для многожильных редакторакоаксиальных проводов. Для того чтобы получить более удобные интерфейсы человек-машина, мы готовы платить за более сложные компьютеры. Этот же принцип должен быть применен к сумасшедшему клубку проводов и кабелей, которым вечно опутан компьютер и пользователь. Может показаться, что нужна какая-то линейная схема с меньшим, чем2n-1, числом контактов, но здесь следует учесть возможность использования кабелей для удлинения.
Рис. 7.1. Гермафродитный четырехпроводный соединитель. Четыре провода обозначены как а, b, с и d
Рис. 7.2. Гермафродитные кабели могут использоваться для соединения компонентов оборудования (см. нижнюю и верхнюю части каждой колонки), а также для удлинения кабелей (см. правую колонку)
Рис. 7.3. Выходы в гермафродитном коаксиальном соединителе. Внешняя изолирующая оболочка с четырьмя зубцами, аналогичными изображенным, но с увеличенными концами и соединительным расширением снизу (не показаны), служит для сцепления