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