Введение
Отдельная настройка в компьютерном интерфейсе, временное состояние в пользовательских интерфейсах.
a transient state in user interfaces
В дизайне пользовательского интерфейса режим – это отдельная настройка в компьютерной программе или любом физическом интерфейсе устройства, в которой один и тот же пользовательский ввод приводит к результатам, воспринимаемым иначе, чем в других настройках. Компоненты интерфейса с режимами включают клавиши Caps Lock и Insert на стандартной компьютерной клавиатуре, которые обычно переводят ввод пользователя в другой режим после нажатия, а затем возвращают его в обычный режим после повторного нажатия. Интерфейс, не использующий режимы, называется модельно-независимым интерфейсом. Модельно-независимые интерфейсы предотвращают ошибки, связанные с режимами, когда пользователь выполняет действие, предназначенное для одного режима, находясь в другом, делая такие ошибки невозможными.
Без моделей
Ларри Теслер в PARC разработал концепции для немодального текстового процессора, основываясь на отзывах, полученных в ходе пользовательского тестирования с недавно принятой на работу Сильвией Адамс, которой было предложено импровизировать жесты для исправления корректурных отметок в цифровом тексте. Этот тест убедил руководителя Теслера, Билла Инглиша, в проблемах их предыдущего модального интерфейса.
Ошибки режима
В дизайне интерфейсов режимы часто не приветствуются, поскольку они могут приводить к ошибкам, связанным с режимами, когда пользователь забывает текущее состояние интерфейса, выполняет действие, предназначенное для другого режима, и получает неожиданный и нежелательный результат. Ошибка, связанная с режимом, может быть весьма неожиданной и дезориентирующей, поскольку пользователь сталкивается с резким нарушением своих ожиданий. Проблемы возникают, если изменение состояния системы происходит незаметно (инициированное системой или другим пользователем, например, тем, кто использовал систему ранее), или если пользователь со временем забывает об этом изменении. Еще одна типичная проблема – резкое изменение состояния, прерывающее действия пользователя, например, перехват фокуса. В такой ситуации пользователь может легко выполнить какие-либо операции, исходя из прежнего состояния, в то время как мозг еще не успел полностью обработать сигналы, указывающие на изменение состояния.
Примеры ошибок режима
Наиболее распространенным источником ошибок режима может быть клавиша Caps Lock. Другими распространенными режимами, доступными в клавиатурах ПК, являются другие клавиши блокировки, Num Lock и Scroll Lock, а также часто клавиша Insert. Мертвые клавиши для диакритических знаков также создают кратковременный режим, по крайней мере, если они не обеспечивают визуальную обратную связь о том, что следующий введенный символ будет изменен. Хотя клавиши блокировки на клавиатурах ПК разработаны с намерением использовать их как модальные клавиши, аппаратная конструкция IBM PC не требует, чтобы эти или какие-либо другие конкретные клавиши были модальными, но позволяет программному обеспечению рассматривать любую клавишу как модальную. (В BIOS ПК обычно реализуются состояния Caps Lock, Num Lock и Scroll Lock, поэтому модальность этих клавиш может казаться встроенной, но ни технически, ни практически не обязательно использовать BIOS для ввода/вывода с клавиатуры, и на самом деле большинство современных операционных систем не используют ввод/вывод с клавиатуры через BIOS.) Пользователи ПК, чьи языки не основаны на латинском алфавите, часто вынуждены взаимодействовать с помощью двух различных раскладок клавиатуры: локальной и QWERTY. Это приводит к ошибкам режима, связанным с текущей раскладкой клавиатуры: довольно часто синхронизация режима "текущей раскладки" между пользователем и интерфейсом теряется, и текст набирается не той раскладкой, что приводит к бессмысленному тексту и путанице. Клавиши в элементах пользовательского интерфейса, такие как "(y/n)", могут оказывать противоположный эффект при переводе программы. Частым примером является внезапное появление модального диалогового окна ошибки в приложении во время ввода текста, что является формой перехвата фокуса; пользователь ожидает, что набранный текст будет введен в текстовое поле, но неожиданное диалоговое окно может отбросить весь ввод или интерпретировать некоторые нажатия клавиш (например, "Y" для "да" и "N" для "нет") не так, как предполагалось, часто вызывая необратимые действия. Программисты могут смягчить эту проблему, реализовав небольшую задержку между отображением модального диалогового окна и началом приема ввода с клавиатуры. Текстовый редактор vi в Unix может быть особенно сложен для начинающих именно потому, что он использует режимы, и потому что в более ранних версиях индикация режима была отключена по умолчанию. Во многих компьютерных видеоиграх клавиатура используется как для управления игрой, так и для ввода сообщений. Пользователь может забыть, что находится в "режиме ввода текста", пытаясь быстро отреагировать на происходящее в игре, и обнаружить, что управление не отвечает (а вместо этого строка ввода заполнена нажатыми командными клавишами).
При транспортных происшествиях
Спутанность режимов работы была одним из факторов, приведших к гибели рейса 447 авиакомпании Air France в 2009 году и гибели 228 человек. Пилоты отреагировали на потерю высоты отклонением штурвала, что было бы уместно при полностью включенном автопилоте, который затем перевел бы самолет в режим набора высоты. Однако системы самолета перешли в режим с меньшей степенью автоматизации ("прямой закон" в терминологии Airbus) из-за неисправного датчика воздушной скорости, что позволило пилотам ввести самолет в режим сваливания с поднятым носом, из которого они не смогли вывести его. По данным NTSB, одним из факторов, способствовавших катастрофе рейса 214 авиакомпании Asiana Airlines в 2013 году, была "сложность систем автоматического управления тягой и автопилота, что повысило вероятность ошибки в выборе режима". 17 января 2015 года морское судно снабжения "Red7 Alliance" столкнулось с шлюзом Кильского канала в Германии, причинив ему серьезные повреждения. Расследование показало, что рычаги управления подруливающими устройствами типа "азимут" не использовались должным образом в соответствии с выбранным режимом, в результате чего судно ускорилось вместо того, чтобы остановиться в шлюзе. 21 августа 2017 года эсминец ВМС США USS John S. McCain столкнулся с коммерческим танкером в Малаккском проливе, что привело к гибели десяти членов экипажа. Расследование, проведенное военными США, показало, что непосредственно перед столкновением управление рулем и движителями было перераспределено между боевыми постами, и экипаж мостика не был полностью осведомлен об этом перераспределении. 10 апреля 2018 года 5000-тонное судно снабжения VOS Stone отчалило от строящейся ветряной платформы в Балтийском море. Капитан судна решил перевести рулевое управление в альтернативный режим для проведения испытаний системы. Недостаточная связь с вахтенным офицером привела к временной потере управления, столкновению с платформой, травмам трех членов экипажа и значительным повреждениям. 19 апреля 2020 года истребитель F-35A был уничтожен при аварийной посадке на авиабазе Эглин. Расследование показало, что самолет был неправильно сконфигурирован с использованием неверного режима автоматического управления тягой, что привело к потере управления при касании взлетно-посадочной полосы.
Оценка
Режимы предназначены для привлечения полного внимания пользователя и побуждения его к осознанию представленного в них контента, особенно когда требуется критическое подтверждение от пользователя. Последнее применение критикуется как неэффективное для заявленной цели (защита от ошибок при деструктивных действиях) из-за привыкания. Вместо этого рекомендуется сделать действие обратимым (предоставить возможность "отмены"). Хотя режимы могут быть успешными в определенных случаях для ограничения опасных или нежелательных операций, особенно если режим активно поддерживается пользователем как квази-режим. Режимы иногда используются для представления информации, относящейся к задаче, которая не оптимально вписывается в основной визуальный поток, – тем самым снижая риск модальных ошибок. Якоб Нильсен отмечает, что преимущество модальных диалоговых окон заключается в повышении осведомленности пользователя. "Когда что-то нужно исправить, лучше убедиться, что пользователь об этом знает". Для достижения этой цели дизайн Lightbox обеспечивает сильный визуальный контраст диалогового окна по отношению к остальному визуальному окружению. Однако, хотя такой подход может снизить риск случайных ошибочных действий, он не решает проблему блокировки модальным окном доступа к обычным функциям приложения, что лишает пользователя возможности предпринять какие-либо действия для устранения проблемы, или даже прокрутить экран, чтобы увидеть информацию, необходимую для правильного выбора из предложенных вариантов, и не уменьшает разочарование пользователя, оказавшегося в тупике, из которого он не может выбраться без более или менее серьезных последствий. Ларри Теслер из Xerox PARC и Apple Computer настолько не любил режимы, что получил персональный номерной знак для своего автомобиля с надписью: "NO MODES" ("НЕТ РЕЖИМОВ"). Он использовал этот номер на разных автомобилях с начала 1980-х годов до своей смерти в 2020 году. Вместе с другими он также на протяжении многих лет использовал фразу "Don't Mode Me In" ("Не переводи меня в режим") как лозунг для устранения или сокращения использования режимов. Брюс Уайман, дизайнер мультитач-стола для художественной выставки в Денверском художественном музее, утверждает, что интерфейсы для нескольких одновременных пользователей должны быть немодальными, чтобы не привлекать внимание к какому-либо одному пользователю.
Избегайте, когда это возможно.
Рекомендуется использовать альтернативы режимам, таким как команды "отменить" и использование корзины, когда это возможно. Исследователь в области взаимодействия человека и компьютера Дональд Норман утверждает, что лучший способ избежать ошибок, связанных с режимами, помимо четких индикаторов состояния, – это помощь пользователям в создании точной ментальной модели системы, которая позволит им правильно предсказывать режим. Это демонстрируется, например, некоторыми знаками "Стоп" на перекрестках. Водитель, привыкший к знаку "Стоп" на всех четырех направлениях рядом с домом, может предположить, что аналогичные перекрестки также будут четырехсторонними. Если же перекресток двухсторонний, водитель может продолжить движение, если не видит других автомобилей. Особенно опасна ситуация с ограниченной видимостью, когда автомобиль может выехать и совершить боковой удар по первому автомобилю. Улучшенный дизайн решает эту проблему, добавляя небольшую схему, показывающую, на каких направлениях есть знак "Стоп", а на каких нет, тем самым повышая ситуационную осведомленность водителей.
Правильное размещение
Модальные элементы управления лучше всего размещать там, где сосредоточено внимание в ходе выполнения задачи. Термин "квазимод" образован от латинского префикса *quasi* (означающего "почти", "в некоторой степени") и английского слова "mode". Клавиши-модификаторы на клавиатуре, такие как Shift, Alt и Control, являются примерами квазимодального интерфейса. Приложение переходит в этот квазимод, пока пользователь сознательно удерживает клавишу, например, при нажатии и удержании клавиши во время вызова команды. Если удерживание клавиши прекращается без выполнения команды, приложение возвращается в нейтральное состояние. Предполагаемое преимущество этой техники заключается в том, что пользователю не нужно запоминать текущее состояние приложения при вызове команды: одно и то же действие всегда будет приводить к одному и тому же воспринимаемому результату. Интерфейс, использующий только квазимоды и не имеющий полноценных режимов, согласно определению Раскина, все равно считается безмодальным. Функция "Sticky Keys" превращает квазимод в полноценный режим, последовательно обрабатывая нажатия клавиш-модификаторов и обычных клавиш, чтобы их не нужно было нажимать одновременно. В этом случае повышенный риск ошибки режима в значительной степени компенсируется улучшенной доступностью для пользователей с ограниченными физическими возможностями.