Введение

Средства, посредством которых пользователь взаимодействует с машиной и управляет ею. В области промышленного дизайна взаимодействия человека и компьютера, пользовательский интерфейс (UI) – это пространство, где происходит взаимодействие между человеком и машиной. Цель этого взаимодействия – обеспечить эффективную работу и управление машиной со стороны человека, в то время как машина одновременно предоставляет информацию, помогающую оператору в процессе принятия решений. Примеры этого широкого понятия пользовательских интерфейсов включают интерактивные аспекты компьютерных операционных систем, ручные инструменты, органы управления операторов тяжелой техники и системы управления процессами. Дизайнерские соображения, применимые при создании пользовательских интерфейсов, связаны с такими дисциплинами, как эргономика и психология, или включают их. Как правило, цель дизайна пользовательского интерфейса – создать интерфейс, который делает управление машиной легким, эффективным и приятным (удобным для пользователя), позволяя достичь желаемого результата (т.е. максимальной пригодности для использования). Обычно это означает, что оператору необходимо обеспечить минимальное воздействие для получения желаемого результата, а также, чтобы машина минимизировала нежелательные воздействия на пользователя. Пользовательские интерфейсы состоят из одного или нескольких слоев, включая человеко-машинный интерфейс (HMI), который обычно связывает машины с физическим оборудованием ввода (например, клавиатурами, мышью или игровыми контроллерами) и оборудованием вывода (например, компьютерными мониторами, динамиками и принтерами). Устройство, реализующее HMI, называется устройством человеческого интерфейса (HID). Пользовательские интерфейсы, которые обходятся без физических движений частей тела в качестве промежуточного этапа между мозгом и машиной, не используют никаких устройств ввода или вывода, кроме электродов; они называются интерфейсами мозг-компьютер (BCI) или интерфейсами мозг-машина (BMI). Другими терминами для человеко-машинного интерфейса являются интерфейс человек-машина (MMI) и, когда речь идет о компьютере, интерфейс человек-компьютер. Дополнительные слои UI могут взаимодействовать с одним или несколькими человеческими чувствами, включая: тактильный UI (осязание), визуальный UI (зрение), слуховой UI (слух), обонятельный UI (обоняние), UI равновесия (чувство равновесия) и вкусовой UI (вкус). Композитные пользовательские интерфейсы (CUI) – это UI, которые взаимодействуют с двумя или более органами чувств. Наиболее распространенным CUI является графический пользовательский интерфейс (GUI), который состоит из тактильного UI и визуального UI, способного отображать графику. При добавлении звука к GUI он становится мультимедийным пользовательским интерфейсом (MUI). Существует три основные категории CUI: стандартный, виртуальный и дополненный. Стандартные CUI используют стандартные устройства человеческого интерфейса, такие как клавиатуры, мыши и компьютерные мониторы. Когда CUI блокирует реальный мир для создания виртуальной реальности, CUI является виртуальным и использует интерфейс виртуальной реальности. Когда CUI не блокирует реальный мир и создает дополненную реальность, CUI является дополненным и использует интерфейс дополненной реальности. Когда UI взаимодействует со всеми человеческими чувствами, он называется интерфейсом квалиа, названным в честь теории квалиа. CUI также могут быть классифицированы по количеству чувств, с которыми они взаимодействуют, как интерфейс виртуальной реальности X-чувств или интерфейс дополненной реальности X-чувств, где X – это количество задействованных чувств. Например, Smell O Vision – это стандартный CUI с визуальным дисплеем, звуком и запахами; когда интерфейсы виртуальной реальности взаимодействуют с запахами и осязанием, это называется интерфейсом виртуальной реальности с 4 чувствами; и когда интерфейсы дополненной реальности взаимодействуют с запахами и осязанием, это называется интерфейсом дополненной реальности с 4 чувствами.

Обзор

Пользовательский интерфейс или человеко-машинный интерфейс – это часть машины, обеспечивающая взаимодействие человека и машины. Мембранные переключатели, резиновые клавиатуры и сенсорные экраны – примеры физической части человеко-машинного интерфейса, которую мы можем видеть и трогать. В сложных системах человеко-машинный интерфейс обычно компьютеризирован. Термин «человеко-компьютерный интерфейс» относится к такого рода системам. В контексте вычислительной техники этот термин обычно также распространяется на программное обеспечение, предназначенное для управления физическими элементами, используемыми для взаимодействия человека и компьютера. Разработка человеко-машинных интерфейсов совершенствуется с учетом эргономики (человеческого фактора). Соответствующие дисциплины – это инженерия человеческих факторов (HFE) и инженерия удобства использования (UE), являющаяся частью системной инженерии. Инструменты, используемые для интеграции человеческого фактора в дизайн интерфейса, разрабатываются на основе знаний в области информатики, таких как компьютерная графика, операционные системы и языки программирования. В настоящее время для человеко-машинного интерфейса на компьютерах обычно используется выражение «графический пользовательский интерфейс», поскольку почти все они теперь используют графику. Мультимодальные интерфейсы позволяют пользователям взаимодействовать, используя несколько способов ввода данных.

Терминология

Существует разница между пользовательским интерфейсом и интерфейсом оператора или человеко-машинным интерфейсом (HMI). Термин "пользовательский интерфейс" часто используется в контексте (персональных) компьютерных систем и электронных устройств, особенно когда сеть оборудования или компьютеров связана через MES (Manufacturing Execution System) или хост-систему для отображения информации. Человеко-машинный интерфейс (HMI) обычно локализован для одного устройства или элемента оборудования и представляет собой метод взаимодействия между человеком и этим устройством/оборудованием. Интерфейс оператора – это метод, с помощью которого осуществляется доступ к управлению несколькими устройствами, объединенными системой управления хостом. Система может предоставлять несколько пользовательских интерфейсов для различных категорий пользователей. Например, компьютеризированная библиотечная база данных может иметь два пользовательских интерфейса: один для посетителей библиотеки (с ограниченным набором функций, оптимизированным для удобства использования) и другой для сотрудников библиотеки (с широким набором функций, оптимизированным для эффективности). Пользовательский интерфейс механической системы, транспортного средства или промышленной установки иногда называют человеко-машинным интерфейсом (HMI). HMI является модификацией исходного термина MMI (человеко-машинный интерфейс). На практике аббревиатура MMI по-прежнему часто используется. Независимо от используемой аббревиатуры, эти термины обозначают "слой", который отделяет человека, управляющего машиной, от самой машины. В некоторых случаях компьютеры могут отслеживать действия пользователя и реагировать на них без получения конкретных команд. Для этого требуется система отслеживания движений тела, и экспериментально использовались датчики, фиксирующие положение головы, направление взгляда и т.п. Это особенно актуально для иммерсивных интерфейсов.

19451968: Интерфейс партий

В эпоху пакетной обработки вычислительные ресурсы были крайне ограничены и дороги. Пользовательские интерфейсы были примитивными. Пользователям приходилось подстраиваться под компьютеры, а не наоборот; пользовательские интерфейсы считались издержками, а программное обеспечение разрабатывалось для максимальной загрузки процессора с минимальными накладными расходами. Входной стороной пользовательских интерфейсов для пакетных машин служили в основном перфокарты или эквивалентные носители, такие как бумажная лента. Выходная сторона дополнялась линейными принтерами. За исключением консоли системного оператора, люди не взаимодействовали с пакетными машинами в реальном времени. Отправка задания в пакетную обработку начиналась с подготовки колоды перфокарт, описывающих программу и набор данных. Перфорация карт выполнялась не на самом компьютере, а на ключевых перфораторах – специализированных машинах, известных своей громоздкостью, нетерпимостью к ошибкам и склонностью к механическим поломкам. Программный интерфейс был столь же строгим, с очень чётким синтаксисом, предназначенным для разбора минимально возможными компиляторами и интерпретаторами. После перфорации карты помещались в очередь заданий и ожидалось выполнения. В конечном итоге операторы загружали колоду в компьютер, возможно, устанавливая магнитные ленты для предоставления другого набора данных или вспомогательного программного обеспечения. Задание генерировало распечатку, содержащую окончательные результаты или уведомление об аварийном завершении с приложенным журналом ошибок. В случае успешного выполнения результаты могли быть записаны на магнитную ленту или сгенерированы карточки данных для последующих вычислений. Время выполнения одного задания часто исчислялось целыми днями. Если везло, это занимало несколько часов; отклика в реальном времени не было. Но существовали и худшие варианты, чем очередь карт: некоторые компьютеры требовали ещё более утомительного и подверженного ошибкам процесса – ручного ввода программ в двоичном коде с помощью консольных переключателей. Самые первые машины требовали частичной перекоммутации для включения программной логики с использованием устройств, известных как коммутационные панели. Ранние пакетные системы предоставляли текущему заданию весь компьютер; колоды программ и ленты должны были включать то, что мы сейчас называем кодом операционной системы, для взаимодействия с устройствами ввода-вывода и выполнения необходимого обслуживания. В середине периода пакетной обработки, после 1957 года, различные группы начали экспериментировать с так называемыми системами "загрузка и запуск". Они использовали программу-монитор, которая постоянно находилась в памяти компьютера. Программы могли обращаться к монитору за услугами. Другой функцией монитора была более тщательная проверка ошибок в отправленных заданиях, выявление ошибок на ранней стадии и более интеллектуально, а также предоставление пользователям более полезной обратной связи. Таким образом, мониторы стали первым шагом к созданию как операционных систем, так и специально разработанных пользовательских интерфейсов.

1969 настоящее время: пользовательский интерфейс командной строки

Интерфейсы командной строки (CLI) развились из мониторов пакетного режима, подключенных к системной консоли. Их модель взаимодействия представляла собой серию транзакций запрос-ответ, где запросы формулировались в виде текстовых команд, использующих специализированную лексику. Задержка была значительно меньше, чем в пакетных системах, сократившись с дней или часов до секунд. Соответственно, системы командной строки позволяли пользователю менять свое решение на более поздних этапах транзакции, реагируя на обратную связь в реальном времени или почти в реальном времени, основанную на более ранних результатах. Программное обеспечение могло быть исследовательским и интерактивным, что ранее было невозможно. Однако эти интерфейсы все еще возлагали на пользователя относительно большую мнемоническую нагрузку, требуя значительных усилий и времени на обучение для освоения. Первые системы командной строки объединяли телепринтеры с компьютерами, адаптируя зрелую технологию, которая уже доказала свою эффективность в обеспечении передачи информации по проводам между людьми. Телепринтеры изначально были изобретены как устройства для автоматической телеграфной передачи и приема; их история восходит к 1902 году, и к 1920 году они уже широко использовались в новостных редакциях и других местах. При их повторном использовании экономичность, безусловно, имела значение, но важны были также психология и принцип наименьшего удивления: телепринтеры предоставляли знакомый многим инженерам и пользователям интерфейс с системой. Широкое распространение видеотерминалов (VDT) в середине 1970-х годов ознаменовало второй этап развития систем командной строки. Это еще больше сократило задержку, поскольку символы могли отображаться на фосфорных точках экрана быстрее, чем головка или каретка принтера могли перемещаться. Они помогли преодолеть консервативное сопротивление интерактивному программированию, исключив расходные материалы, такие как чернила и бумага, из стоимости, и были даже более знакомыми и удобными для первого поколения телезрителей конца 1950-х и 60-х годов, чем телепринтеры для компьютерных пионеров 1940-х годов. Не менее важно, что наличие доступного экрана – двухмерного текстового дисплея, который можно было быстро и обратимо изменять, – сделало экономически целесообразным для разработчиков программного обеспечения создавать интерфейсы, которые можно было бы описать как визуальные, а не текстовые. Первыми приложениями этого типа были компьютерные игры и текстовые редакторы; близкие потомки некоторых из самых ранних образцов, такие как rogue(6) и vi(1), до сих пор являются неотъемлемой частью традиции Unix.

1985: пользовательский интерфейс SAA или пользовательский интерфейс на основе текста

В 1985 году, с появлением Microsoft Windows и других графических пользовательских интерфейсов, IBM разработала так называемый стандарт архитектуры системных приложений (SAA), включающий в себя производную Common User Access (CUA). CUA успешно заложила основу того, что мы знаем и используем сегодня в Windows, и большинство современных приложений DOS или Windows Console также используют этот стандарт. Стандарт определял, что система выпадающих меню должна располагаться в верхней части экрана, панель состояния – в нижней, а сочетания клавиш должны оставаться неизменными для всех общих функций (например, F2 для открытия работала бы во всех приложениях, соответствующих стандарту SAA). Это значительно упрощало и ускоряло обучение пользователей работе с приложениями, что способствовало быстрому распространению и закреплению стандарта в отрасли.

Принципы качества

В широком смысле, интерфейсы, которые обычно считаются удобными для пользователя, эффективными, интуитивно понятными и т.д., характеризуются одним или несколькими особыми качествами. В качестве примера приводится неполный список таких характеристик:

Ясность: Интерфейс избегает двусмысленности, делая все понятным посредством языка, логики, иерархии и метафор для визуальных элементов. Краткость: Однако, как это ни парадоксально, чрезмерное уточнение информации – например, путем маркировки большинства, если не всех, элементов, отображаемых на экране одновременно, независимо от того, требуется ли пользователю визуальный индикатор для идентификации конкретного элемента – может и, в большинстве случаев, скорее всего, приведет к затруднению восприятия информации. Знакомство: Даже если пользователь впервые сталкивается с интерфейсом, некоторые элементы могут быть ему знакомы. Для передачи смысла можно использовать метафоры из реальной жизни. Отзывчивость: Хороший интерфейс не должен быть медлительным. Это означает, что он должен предоставлять пользователю четкую обратную связь о происходящем и об успешной обработке его действий. Последовательность: Важно поддерживать единообразие интерфейса во всем приложении, поскольку это позволяет пользователям распознавать закономерности использования. Эстетика: Хотя для выполнения своей функции интерфейс не обязательно должен быть привлекательным, приятный внешний вид сделает работу с приложением более комфортной, а довольные пользователи – это всегда хорошо. Эффективность: Время – деньги, и отличный интерфейс должен повышать продуктивность пользователя за счет сочетания удобных средств и продуманного дизайна. Погрешность: Хороший интерфейс не должен наказывать пользователя за ошибки, а предоставлять возможность их исправить.

Принцип наименьшего удивления

Принцип наименьшего удивления (POLA) — это общий принцип проектирования любых интерфейсов. Он основан на идее, что человек может одновременно полностью концентрироваться только на одном, что приводит к выводу о необходимости минимизировать неожиданные элементы.

Принцип формирования привычки

Если пользователь постоянно использует интерфейс, у него неизбежно выработаются привычки его использования. Таким образом, роль дизайнера можно определить как создание условий для формирования у пользователя полезных привычек. Если дизайнер обладает опытом работы с другими интерфейсами, он также выработает собственные привычки и часто будет неосознанно предполагать, как пользователь будет взаимодействовать с интерфейсом.

Модель критериев проектирования: Опыт пользователя Honeycomb

Питер Морвилл из Google разработал фреймворк User Experience Honeycomb в 2004 году, когда руководил операциями в области проектирования пользовательского интерфейса. Фреймворк был создан для направления разработки пользовательских интерфейсов и на протяжении десятилетия служил руководством для многих студентов, изучающих веб-разработку. Разговорные интерфейсные агенты стремятся персонифицировать компьютерный интерфейс в виде анимированного персонажа, робота или другого объекта (например, Clippy от Microsoft в виде скрепки) и представлять взаимодействие в форме диалога. Интерфейсы, основанные на пересечениях, – это графические пользовательские интерфейсы, в которых основная задача заключается в пересечении границ, а не в указании. Интерфейс прямого манипулирования – это общее название класса пользовательских интерфейсов, позволяющих пользователям манипулировать представленными объектами, используя действия, которые хотя бы приблизительно соответствуют физическому миру. Жестовые интерфейсы – это графические пользовательские интерфейсы, принимающие ввод в виде жестов рук или жестов мыши, нарисованных с помощью компьютерной мыши или стилуса. Графические пользовательские интерфейсы (GUI) принимают ввод через устройства, такие как компьютерная клавиатура и мышь, и обеспечивают графический вывод на мониторе компьютера. Существует как минимум два широко используемых принципа в дизайне GUI: объектно-ориентированные пользовательские интерфейсы (OOUIs) и прикладные интерфейсы. Аппаратные интерфейсы – это физические, пространственные интерфейсы, встречающиеся в реальном мире на различных устройствах, от тостеров до приборных панелей автомобилей и кабин самолетов. Обычно они представляют собой комбинацию ручек, кнопок, ползунков, переключателей и сенсорных экранов. Голографические пользовательские интерфейсы обеспечивают ввод в электронные или электромеханические устройства путем прохождения пальцем сквозь воспроизведенные голографические изображения элементов управления, которые в противном случае были бы тактильными, свободно парящие в воздухе и обнаруживаемые волновым источником без тактильного контакта. Интеллектуальные пользовательские интерфейсы – это человеко-машинные интерфейсы, направленные на повышение эффективности, действенности и естественности взаимодействия человека и машины за счет представления, рассуждения и действий на основе моделей пользователя, предметной области, задачи, дискурса и медиа (например, графики, естественного языка, жестов). Интерфейсы отслеживания движений отслеживают движения тела пользователя и преобразуют их в команды, в настоящее время разрабатываемые компанией Apple. Многоэкранные интерфейсы используют несколько дисплеев для обеспечения более гибкого взаимодействия, часто применяемые в компьютерных играх как в коммерческих игровых залах, так и на рынке портативных устройств. Интерфейсы естественного языка используются в поисковых системах и на веб-страницах: пользователь вводит вопрос и ожидает ответа. Некомандные пользовательские интерфейсы наблюдают за пользователем, чтобы определить его потребности и намерения, не требуя от него формулирования явных команд. Объектно-ориентированные пользовательские интерфейсы (OOUI) основаны на метафорах объектно-ориентированного программирования, позволяя пользователям манипулировать имитируемыми объектами и их свойствами. Интерфейсы, управляемые разрешениями, показывают или скрывают опции меню или функции в зависимости от уровня доступа пользователя. Система предназначена для улучшения пользовательского опыта за счет удаления недоступных элементов, что может вызвать разочарование у пользователя, увидевшего недоступные функции. Также это повышает безопасность, скрывая функциональные элементы от неавторизованных лиц. Рефлексивные пользовательские интерфейсы позволяют пользователям контролировать и переопределять всю систему исключительно через пользовательский интерфейс, например, для изменения командных глаголов. Обычно это возможно только с графическими пользовательскими интерфейсами с широкими возможностями. Интерфейс поиска – это способ отображения поля поиска на сайте, а также визуальное представление результатов поиска. Осязаемые пользовательские интерфейсы делают акцент на тактильных ощущениях и физической среде или ее элементах. Интерфейсы, ориентированные на задачи, решают проблему информационной перегрузки настольной метафоры, делая задачи, а не файлы, основной единицей взаимодействия. Текстовые пользовательские интерфейсы (TUIs) взаимодействуют с пользователем посредством текста, включая интерфейсы командной строки и текстовые WIMP-среды. Сенсорные экраны – это дисплеи, принимающие ввод при касании пальцами или стилусом, широко используемые в мобильных устройствах, системах самообслуживания, промышленных процессах и оборудовании, и т.д. Сенсорные пользовательские интерфейсы – это графические пользовательские интерфейсы, использующие сенсорную панель или сенсорный экран в качестве комбинированного устройства ввода и вывода, дополняющие или заменяющие другие формы вывода методами тактильной обратной связи, используемые в компьютерных тренажерах и т.п. Голосовые пользовательские интерфейсы принимают ввод и предоставляют вывод, генерируя голосовые подсказки, при этом пользователь вводит данные, нажимая клавиши или кнопки, либо отвечая на вопросы интерфейса голосом. Веб-интерфейсы или веб-пользовательские интерфейсы (WUI) принимают ввод и предоставляют вывод, генерируя веб-страницы, просматриваемые пользователем с помощью веб-браузера. Интерфейсы с нулевым вводом получают данные от набора датчиков, а не запрашивают ввод у пользователя с помощью диалоговых окон. Интерфейсы масштабирования – это графические пользовательские интерфейсы, в которых информационные объекты представлены на разных уровнях масштаба и детализации, а пользователь может изменять масштаб просматриваемой области для отображения большей детализации.