Об определениях «пользовательского интерфейса»

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

Начнём с GUI.

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

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

Если говорить о других, «внекомпьютерных» объектах, то там картина наблюдается аналогичная.

В автомобиле я с помощью мышц активно воздействую на руль, на педали, на рычаг АКПП или МКПП. Эти воздействия трансформируются в изменения режима работы автомобиля — например, вращение руля передается гидро- или электроусилителю, далее к рулевой рейке и, наконец, к изменению угла направления передних колёс.

Вращая рычаг машинки «газ-реверс» на катере, я управляю оборотами и направлением вращения гребного вала, либо меняю угол   лопастей гребного винта. Смещая румпель, жестко соединенный с пером руля, я поворачиваю (в меру сил) это перо и спустя небольшое время лодка, катер или яхта начинают поворот в заданную сторону.

Нажимая на выключатель на стене, я замыкаю или размыкаю цепь и загорается люстра или светильник в комнате.

Во всех этих случаях обратной связью служит наблюдаемое изменение режима работы управляемого объекта, а часто и тактильный отклик (например, в случае румпеля или руля, я могу прочувствовать сопротивление среды изменению направления движения, а в случае выключателя я могу понять, что есть какая-то неисправность с лампой или в проводке — выключатель в положении «Вкл», а света нет).

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

Однако это тоже не так. Такое определение плохо тем, что вообще всё становится интерфейсом, даже ручки ложки и вилки — что выглядит странным и нелепым.

Взаимодействуя с ложкой и вилкой, мы непосредственно манипулируем объектом, а не посылаем ему какие-либо команды. Поэтому речи об интерфейсе тут нет и быть не может. И в этом и кроется второй важный признак интерфейса — разрыв между воздействием и откликом — в пространстве или во времени. То есть между аффектором (органом управления) и эффектором (колёсами, процессором) должна быть какая-то цепь, причём скрытая из виду. Это мы часто называем скрытой логикой (hidden logic), но я бы сюда включил и невидимость любых иных элементов в цепочке «воздействие — реакция». Похоже на рефлекторную дугу, не правда ли?

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

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

Подытожив всё это, вот моя версия определения:

Интерфейс — это совокупность органов воздействия на объект и средств получения обратной связи от него в случае разрыва (пространственного, временного или логического) между ними и объектом.

Может коряво (и вряд ли ново), но этот подход мне нравится тем, что он избавляет от разрыва между цифровыми системами и системами «предметными» — а значит, схлопывает в единый континуум современные UX, юзабилити и HCI с традиционными эргономикой, человеческими факторами и HMI, позволяя мыслить куда более системно — в частности, проектируя цифровую систему, начинаешь намного больше задумываться о выборе (и проектировании!) аппаратных средств взаимодействия, а проектируя сугубо аппаратную, из тумблеров и клавиш — использовать весь спектр опыта из цифровых систем.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *