Метод взаимодействия , метод пользовательского интерфейса или метод ввода — это комбинация аппаратных и программных элементов, которая позволяет пользователям компьютеров выполнять одну задачу. Например, можно вернуться на ранее посещенную страницу в веб-браузере, нажав кнопку , нажав клавишу , выполнив жест мыши или произнеся речевую команду . Это широко используемый термин во взаимодействии человека и компьютера . В частности, термин «новая техника взаимодействия» часто используется для обозначения новой идеи дизайна пользовательского интерфейса.
Хотя нет общего согласия относительно точного значения термина «техника взаимодействия», наиболее популярное определение взято из литературы по компьютерной графике :
Техника взаимодействия — это способ использования физического устройства ввода/вывода для выполнения общей задачи в диалоге человека и компьютера. [1]
Более поздний вариант:
Техника взаимодействия — это объединение ввода и вывода, состоящее из всех программных и аппаратных элементов, которое предоставляет пользователю возможность выполнить задачу. [2]
С точки зрения компьютера техника взаимодействия включает в себя:
Рассмотрим для примера процесс удаления файла с помощью контекстного меню . Это предполагает наличие мыши (устройство ввода), экрана (устройство вывода) и фрагмента кода, который рисует меню и обновляет его выбор (отзывы пользователя) и отправляет команду в файловую систему, когда пользователь нажимает на значок. «удалить» элемент (интерпретация). Отзывы пользователей могут быть дополнительно использованы для подтверждения того, что команда была вызвана.
С точки зрения пользователя техника взаимодействия — это способ выполнения одной вычислительной задачи, который может быть неформально выражен с помощью пользовательских инструкций или сценариев использования . Например, «чтобы удалить файл, щелкните правой кнопкой мыши файл, который вы хотите удалить, затем щелкните элемент удаления».
С точки зрения разработчика пользовательского интерфейса, техника взаимодействия — это четко определенное решение конкретной проблемы проектирования пользовательского интерфейса . Техники взаимодействия как концептуальные идеи можно уточнять, расширять, модифицировать и комбинировать. Например, контекстные меню — решение проблемы быстрого выбора команд. Круговые меню — это радиальный вариант контекстных меню . Маркировочные меню сочетают круговые меню с распознаванием жестов .
Одной из существующих причин путаницы в общем обсуждении взаимодействия является отсутствие ясности относительно уровней детализации. [3] Методы взаимодействия обычно характеризуются низким уровнем детализации — не обязательно на самом низком уровне физических событий, но на уровне, который зависит от технологии, платформы и/или реализации. Например, существуют методы взаимодействия, специфичные для мобильных устройств, сенсорных дисплеев, традиционного ввода с помощью мыши/клавиатуры и других парадигм — другими словами, они зависят от конкретной технологии или платформы. Напротив, если смотреть на более высокий уровень детализации, взаимодействие не привязано к какой-либо конкретной технологии или платформе. Взаимодействие «фильтрации», например, можно охарактеризовать независимо от технологии — например, выполнение действия, при котором некоторая информация скрыта и остается только подмножество исходной информации. Такое взаимодействие может быть реализовано с использованием любого количества методов, на любом количестве платформ и технологий. [4] См. также обсуждение шаблонов #interaction ниже.
Задача взаимодействия — это «единица ввода информации пользователем», [1] такая как ввод фрагмента текста, выдача команды или указание 2D-позиции. Похожая концепция — это объект домена , который представляет собой часть данных приложения, которыми может манипулировать пользователь. [5]
Методы взаимодействия являются связующим звеном между физическими устройствами ввода-вывода и задачами взаимодействия или объектами предметной области. [5] [6] Для сопоставления конкретного устройства с конкретным объектом домена могут использоваться различные типы методов взаимодействия. Например, для ввода текста с помощью пера существуют разные алфавиты жестов .
В общем, чем менее совместимо устройство с объектом предметной области, тем сложнее техника взаимодействия. [7] Например, использование мыши для указания 2D-точки предполагает тривиальную технику взаимодействия, тогда как использование мыши для вращения 3D-объекта требует большего творчества для разработки этой техники и большего количества строк кода для ее реализации.
Текущая тенденция состоит в том, чтобы избегать сложных методов взаимодействия, максимально приближая физические устройства к задаче [7] , например, на примере области материальных вычислений . Но это не всегда осуществимое решение. Более того, несовместимость устройств и задач неизбежна при обеспечении доступности компьютера , когда один переключатель может использоваться для управления всей компьютерной средой.
Техники взаимодействия, использующие одну и ту же метафору или принципы дизайна, можно рассматривать как принадлежащие к одному и тому же стилю взаимодействия. Общими примерами являются командная строка и пользовательские интерфейсы прямого управления .
Хотя методы взаимодействия обычно зависят от технологии, платформы и/или реализации (см. #уровень детализации выше), взаимодействия человека с компьютером или человека с информацией могут быть охарактеризованы на более высоких уровнях абстракции, которые не зависят от конкретных технологий и платформ. . На таких уровнях абстракции проблема заключается не в том, как именно осуществляется взаимодействие; скорее, речь идет о концептуальной характеристике того, что такое взаимодействие и какова общая полезность взаимодействия для пользователя(ей). Таким образом, любой отдельный шаблон взаимодействия может быть реализован с помощью любого количества методов взаимодействия на любом количестве различных технологий и платформ. Паттерны взаимодействия больше связаны с вневременными, неизменными качествами взаимодействия. [4]
Методы взаимодействия по существу включают ввод данных и манипулирование ими, поэтому больший упор делается на ввод, чем на вывод. Вывод используется просто для передачи возможностей и обратной связи с пользователем. Использование термина « метод ввода» еще больше подчеркивает центральную роль ввода. И наоборот, методы, которые в основном включают исследование данных и, таким образом, уделяют больше внимания результатам, называются методами визуализации. Они изучаются в области визуализации информации .
Большая часть исследований взаимодействия человека и компьютера включает изучение более простых в освоении и более эффективных методов взаимодействия для решения общих вычислительных задач. Это включает в себя изобретение новых ( пост-WIMP ) методов взаимодействия, возможно, опираясь на методы проектирования пользовательского интерфейса , и оценку их эффективности по отношению к существующим методам с использованием методов экспериментальной психологии . Примерами научных площадок по этим темам являются конференции UIST и CHI . Другие исследования сосредоточены на спецификации методов взаимодействия, иногда используя формализмы, такие как сети Петри, для целей формальной проверки . [8]