Контекстно -зависимый пользовательский интерфейс предлагает пользователю возможности, основанные на состоянии активной программы. [1] Контекстно-зависимость повсеместно используется в современных графических пользовательских интерфейсах , часто в контекстных меню .
Пользовательский интерфейс также может обеспечивать контекстно-зависимую обратную связь , например, изменение внешнего вида указателя мыши или курсора, изменение цвета меню или слуховую или тактильную обратную связь.
Основной причиной введения контекстной чувствительности является упрощение пользовательского интерфейса.
Преимущества включают в себя:
Контекстно-зависимые действия могут восприниматься как упрощение пользовательского интерфейса, оставляя оператора в растерянности относительно того, что делать, когда компьютер решает выполнить нежелательное действие. Кроме того, неавтоматические процедуры могут быть скрыты или затенены контекстно-зависимым интерфейсом, что приводит к увеличению нагрузки на пользователя для операций, которые проектировщики не предусмотрели.
Плохая реализация может быть скорее раздражающей, чем полезной — классический пример — Office Assistant .
На самом простом уровне каждое возможное действие сводится к одному наиболее вероятному действию – выполняемое действие основано на одной переменной (например, расширение файла). В более сложных реализациях можно оценить несколько факторов, таких как предыдущие действия пользователя, размер файла, текущие используемые программы, метаданные [2] и т. д.
Метод не ограничивается только реакцией на императивные нажатия кнопок и щелчки мыши — всплывающие меню можно обрезать и/или изменять, а веб-поиск может фокусироваться на результатах предыдущих поисков.
На более высоких уровнях реализации контекстно-зависимые действия требуют либо больших объемов метаданных, либо обширного программирования на основе анализа случаев , либо других алгоритмов искусственного интеллекта .
Контекстная чувствительность важна в видеоиграх, особенно тех, которые управляются геймпадом , джойстиком или компьютерной мышью , в которых количество доступных кнопок ограничено. Она в основном применяется, когда игрок находится в определенном месте, и используется для взаимодействия с человеком или объектом. Например, если игрок стоит рядом с неигровым персонажем , может появиться опция, позволяющая игроку поговорить с ним/ней.
Реализации варьируются от эмбрионального « Quick Time Event » до контекстно-зависимого боя на мечах, в котором используемая атака зависит от положения и ориентации как игрока, так и противника, а также виртуального окружения. Похожий диапазон использования можно найти в «кнопке действия», которая, в зависимости от положения персонажа игрока в игре, может заставить его что-то поднять, открыть дверь, схватить веревку, ударить монстра или противника или разбить объект. [3]
Ответ не обязательно должен быть активирован игроком — экранное устройство может быть показано только при определенных обстоятельствах, например, «прицельные» перекрестия в игре про летательные бои могут указывать на то, что игрок должен стрелять. Альтернативная реализация — отслеживать ввод от игрока (например, уровень нажатия кнопок) и использовать его для управления темпом игры в попытке максимизировать удовольствие или контролировать волнение или атмосферу. [4]
Метод становится все более важным, поскольку более сложные игры разрабатываются для машин с небольшим количеством кнопок (консоли без клавиатуры). Беннет Ринг прокомментировал (в 2006 году), что « Контекстно-зависимость — это новый блик объектива». [5]
Контекстно-зависимая справка — это распространенная реализация контекстной чувствительности, при нажатии одной кнопки справки открывается определенная страница или связанная тема. [6]