Известен устойчивый и предсказуемый - на основе закона Мура - прогресс в аппаратном обеспечении, выражаемый в постоянном улучшении соотношения цена/производительность. Ничего подобного в отношении пользовательских интерфейсов не наблюдается. Пожалуй, вся история развития интерфейсов лучше всего характеризуется понятием, введенным известным специалистом в области эволюционной биологии Джеем Гоулдом (Jay Gould) - "прерывистое равновесие" (punctuated equilibrium), когда долгие периоды стабильности прерываются быстрыми изменениями. Мы можем идентифицировать четыре качественно отличных друг от друга поколения, которые характеризуются четырьмя интерфейсными стилями; представители первых трех поколений царствовали не по одному году. Сейчас на повестке дня - интерфейсы нового, четвертого поколения.

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

Во втором периоде в эволюции интерфейсов (с начала 60-х до начала 80-х гг.) господствовал режим разделения времени на мэйнфреймах и мини-компьютерах с использованием механических или "стеклянных" телетайпов (алфавитно-числовые дисплеи), когда пользователи могли взаимодействовать с компьютером путем ввода с клавиатуры команд с параметрами. Заметьте, что этот тип взаимодействия захватил и век ПК с MS DOS и ОС Unix.

Третье поколение пользовательских интерфейсов взяло старт еще в 70-е г. - при режиме разделения времени и ручного ввода команд. В научно-исследовательском центре Xerox PARC были созданы графические интерфейсы пользователя (GUI), предназначенные для работы на растровых графических сетевых рабочих станциях. Эти интерфейсы принято обозначать аббревиатурой WIMP (Windows-Icons-Menus-Pointing device), что отражает задействованные интерактивные сущности - окна, пиктограммы, меню и позиционирующее устройство (обычно мышь). Именно интерфейсы этого типа, завоевавшие популярность вместе с Macintosh в 1984 году и позднее скопированные, в частности, в Windows для ПК, доминируют и по сей день. Заметим, что сегодняшние приложения имеют интерфейсы того же типа, как и ранние "настольные" приложения, разве что увеличилась степень "реализма" благодаря применению современных интерфейсных "виджетов" (widgets) - инструментов, позволяющих, например, использовать тени для экранных кнопок. Пожалуй, новым качеством по сравнению с интерфейсами предыдущего поколения стало активное использование цвета и доступность для широкого круга разработчиков представительного множества программных средств для построения WIMP-интерфейсов. На мой взгляд, удивительно, что третье поколение WIMP GUI доминирует столь долго (более двух десятилетий!); видимо, интерфейсы этого типа полностью соответствуют требованиям значительной части современных настольных приложений.

Я попытаюсь показать, что это состояние своеобразного status quo пора нарушить: сегодня на повестке дня новые формы компьютинга, как в концептуальном, так и в программно-аппаратном плане, настойчиво требующие интерфейсов нового - четвертого поколения, которые я называю post-WIMP-интерфейсы. Они не используют меню, формы (forms) и панели инструментов; вместо них при задании спецификаций операций и операндов упор идет на обучающие примеры (examples), жесты и распознавание речи. Соответствующие исследования начались в 90-х гг., но пока еще post-WIMP-интерфейсы не получили широкого распространения. В данной статье я хотел бы остановиться на пользовательской стороне этих интерфейсов - на методах и устройствах для интерактивного взаимодействия. Самостоятельное значение имеет и визуализация информации [5], где особенно интересны вопросы пространственных метафор (например, трехмерный городской ландшафт как альтернатива двухмерной метафоре "рабочего стола" для организации информации).

Я занимаюсь трехмерной графикой с конца 60-х гг. Вместе с Тедом Нельсоном (Ted Nelson) мне довелось работать над второй в истории гипертекстовой системой - первой была система NLS Дуга Энгельбарта (Doug Engelbart). Тогда-то и возник интерес к пользовательским интерфейсам, и я попытался увлечь этим своих коллег и учеников. Последние несколько лет я руковожу научной группой, разрабатывающей post-WIMP-интерфейсы.

О достоинствах WIMP-интерфейсов

Давайте более пристально рассмотрим достоинства и недостатки WIMP GUI, что поможет нам понять, почему назрела необходимость в новом поколении интерфейсов. Очень продолжительное время - несколько десятилетий - основное внимание при разработке компьютерных приложений уделялось функциональности и производительности. Только в 80-х гг., когда настольными вычислительными инструментами стали пользоваться миллионы людей, мы наконец в полной мере осознали, сколь важна для успеха приложения легкость его использования, или, как стало принято выражаться, насколько "дружественным" для пользователя он является. Причем это важно и для неискушенных пользователей, и для опытных. Первые хотят, чтобы освоение интерфейса и запоминание методов работы с ним требовало минимальных усилий; пользователи высокой квалификации озабочены в первую очередь не крутизной кривой обучения, а минимизацией усилий, необходимых для достижения высокой производительности в работе. Отсюда, кстати, следует, что один и тот же интерфейс нечасто удовлетворяет требованиям обоих классов пользователей.

Однако сколь "дружественным" ни был бы интерфейс, всегда существует некоторый люфт между намерениями пользователя и реализацией этих намерений средствами интерфейса. Иными словами, всякий интерфейс предполагает наличие слоя когнитивной обработки, явно или неявно располагающегося между пользователем и компьютерным исполнением заданных им целей. В этом смысле идеальным интерфейсом было бы его отсутствие, что позволило бы реализовать парадигму: "Я думаю, а компьютер дает мне то, о чем я думаю (и более того - о чем мне следует думать)". Вероятно, более осуществимой целью была бы реализация стремления трактовать компьютер как идеального слугу, который знает мои вкусы, привычки, особенности характера и поведения, вообще весь тот контекст, в котором происходит моя работа, и тактично исполняет приказания, даже предсказывая некоторые действия без необходимости явного руководства с моей стороны. Когда же появляется необходимость в явном направлении действий слуги, я хотел бы взаимодействовать с ним посредством разговора, жестикуляции, мимики и других форм, принятых в человеческом общении. В дополнение к этому было бы хорошо иметь возможность вводить что-то вроде эскиза, чтобы бегло обозначать нужное понятие или схему, не отказываясь при этом от таких бесспорно эффективных форм взаимодействия, как выбор нужного пункта меню или ввод информации с клавиатуры.

Давайте еще раз обозначим нашу цель: минимизировать использование тех механизмов манипулирования, которые столь существенны в сегодняшних интерфейсах, и сократить "когнитивную" дистанцию между намерением и реализацией этого намерения. Иными словами, требуется дать пользователю возможность сосредоточиться на его задаче, а не на технологии, необходимой для специфицирования этой задачи. Таким образом, я рассматриваю WIMP- и post-WIMP-интерфейсы как последовательные шаги в направлении куда более мощного и естественного интерфейса. В полной мере обозначенная цель, очевидно, будет достигнута через несколько десятилетий.

Ну а пока мы находимся в начале длинного пути к интерфейсу-слуге, позвольте мне перечислить некоторые критерии его оценки. Прежде всего, он даст возможность полноценной работы с компьютером следующим трем категориям пользователей, которым трудно работать с теперешними интерфейсами: это дети, еще не умеющие читать и писать; менеджеры; непрофессиональные "домашние" пользователи. Без преувеличения можно сказать, что метод "указания и щелчка", отличительная особенность WIMP-интерфейсов, уже стал частью современной культуры. Неудивительно, что появилась новая специальность (быстро ставшая дефицитной) - дизайнер пользовательского интерфейса. Тестирование интерфейсов на предмет удобства и устойчивости стало необходимой частью всего процесса разработки приложений. По существу, WIMP GUI стали стандартом для прикладных интерфейсов, которые - по сравнению с интерфейсами "командной строки" - обеспечивают относительную простоту изучения и применения, легкость переноса знания, приобретенного от использования в одном приложении для применения в другом из-за большой совместимости концепции look and feel. Помимо прочего, это избавило многих от утомительного чтения руководств в процессе освоения приложения.

Недостатки WIMP-интерфейсов

Помимо обозначенных достоинств, WIMP-интерфейсы принесли с собой и большие проблемы. Во-первых, чем более сложным является приложение, тем труднее осваивать интерфейс, причем эти трудности возрастают нелинейно. Взятые в отдельности интерфейсные особенности и инструменты могут быть вполне простыми, но, будучи в большом количестве интегрированы в одно приложение, они образуют новое качество сложности. Многие современные настольные приложения столь объемны, чтобы не сказать громоздки, что пользователь, погрузившись однажды в их функциональность, начинает даже отказываться от новейших версий, продолжая использовать то малое подмножество возможностей, которое удалось изучить, - это выражено в ставшем классическом "правиле 90/10".

Во-вторых, пользователи проводят слишком много времени, манипулируя интерфейсом, а не работая с самим приложением. Квалифицированные пользователи часто бывают раздражены слишком большим количеством слоев, возникающих в процессе point and click и создающих своеобразный хаос из-за слишком многих интерфейсных элементов (использование сокращенных комбинаций клавиш - это суррогатный метод решения этой проблемы).

В-третьих, WIMP GUI вместе с их 2D- интерфейсными элементами проектировались для работы с двухмерными же приложениями - такими, как обработка текстов, компоновка документов и электронные таблицы. Если же приложение является по своей сути трехмерным, то работа с ним с помощью 2D виджетов становится не слишком естественной. Нынешние WIMP-интерфейсы для 3D-приложений обычно состоят из управляющих панелей с 2D-кнопками и слайдерами, окружающими 3D-мир (я это называю "TV-модель"), которые используются для управления 3D-курсором, для манипуляций с точкой зрения наблюдателя и для редактирования объектов. Это позволяет в некоторой степени поддерживать "непрямое" взаимодействие и "когнитивную дистанцию". Понятно, что 3D-приложения, как правило, имеют много большую визуальную сложность, чем двухмерные, что еще более усиливает связанные с WIMP-интерфейсами проблемы.

В-четвертых, не все пользователи способны эффективно использовать мышь и клавиатуру - либо оттого, что им это не кажется естественным в контексте их задачи, либо из-за вызываемых этими устройствами чисто физиологических неудобств, связанных с постоянными нажатиями на клавиши при сильном напряжении зрения (не говоря уже о специальных категориях пользователей с физическими недостатками). Соответственно главным недостатком WIMP-интерфейсов является то, что они никак не используют такие каналы взаимодействия, как речь, слух и прикосновения. Хотя большое количество наших нейронов находится в "визуальной" части коры головного мозга, что позволяет зрению быть информационным каналом с самой высокой пропускной способностью, все равно без речи, слуха и прикосновений общение с физическим миром не может быть полноценным. Как указывает Билл Бакстон (Bill Buxton) из Aliias/Wavefront, WIMP-интерфейсы, основанные на использовании клавиатуры и мыши, являются совершенным инструментом только для существ с одним глазом, одним пальцем, лишенных всяких иных органов чувств.

Еще одно ограничение WIMP-интерфейсов в том, что они предназначены для одинокого пользователя настольной системы, который управляет объектами, не обладающими автономным поведением, реагирующими в основном на манипуляции с мышью. Соответственно имеется один, не разделяемый во времени полудуплексный канал взаимодействия; система откликается на каждое дискретное событие ввода, и эти события могут быть легко распознаны - они состоят из простых нажатий на клавиши и выбора с помощью мыши. Самый сложный ввод - последовательность позиций мыши, которая может представлять, например, путь закрашивающей кисти.

Рассмотрим сценарий, который основан на погружении в виртуальную реальность и сильно отличается от обычной работы с настольными приложениями. Этот сценарий более свойствен популярным системам в диапазоне от компьютерных игр до виртуального прототипирования и обучающих сред. Многочисленные участники взаимодействуют с разделяемой задачей, причем каждый снабжен погружающим стереодисплеем с широким полем зрения. Он управляется через отслеживание положения головы и рук, распознавание голоса и жеста, а также манипулированием несколькими интерактивными устройствами, обладающими более чем двумя степенями свободы (именно столько обеспечивает мышь). Взаимодействие включает множественные параллельные дуплексные каналы ввода/вывода с широкой пропускной способностью, передающими непрерывные (а не дискретные) сигналы, которые распознаются в реальном времени. WIMP-интерфейсы просто не способны обеспечить такие формы взаимодействия. Пока же не появились интерфейсы, способные полностью удовлетворить перечисленным требованиям, необходимо начать движение по направлению к ним.

Post-WIMP-интерфейсы

Для меня Post-WIMP-интерфейс - это такой интерфейс, который заключает в себе по крайней мере один метод взаимодействия, не присущий классическим 2D виджетам, таким как меню и пиктограммы. В конечном счете он должен включать действующие в параллель сенсорные каналы, коммуникации с помощью естественного языка - и все это в среде из многих пользователей. Среди примеров взаимодействия с помощью Post-WIMP-интерфейсов можно упомянуть распознаватели жестов, основанные на технике рисования пером, - они используются в карманных PDA, таких как Apple Newton или U.S. Robotics Pilot. Эти устройства более или менее успешно сочетают методы, свойственные как WIMP-, так и post-WIMP интерфейсам для 2D-задач. Другим показательным примером естественного человеко-машинного взаимодействия, но не использующим какие-либо WIMP-устройства и методы, являются диалоговые (arcade) видеоигры, такие как тренажеры с рулевым колесом управления с переключателем передачи, а также имитаторы игр, вроде гольфа, в которых игрок может бить реальной клюшкой по реальному мячу, траектория полета которого затем моделируется и изображается на экране дисплея.

 

Рис. 1.
3D-виджет для манипулирования
элементами в 3D-сцене

 

3D-виджеты (объекты, инкапсулирующие 3D-геометрию и предназначенные для управления другими объектами в сцене) начинают с успехом использоваться в задачах трехмерного моделирования; при этом они являются частью 3D-сцены, что позволяет не прибегать к привычным 2D-виджетам, обычно накладываемым на 3D-сцену. В качестве примера сошлемся на 3D-компоненты виджета "рычаг", которые используются для манипулирования элементами в скалярном поле, полученном с помощью числового моделирования потоков воздуха вокруг модели космического челнока (рис.1).

 

Среди универсальных 3D-виджетов стоит упомянуть "блоки вращения и масштабирования" с соответствующими управляющими "рычагами" и навигаторы (использующиеся в VRML и других 3D-браузерах). Еще один метод, который комбинирует WIMP и post-WIMP, чтобы "получить интерфейс прямо из вашего лица" (как Билл Бакстон его определяет) - это использование marking menus - современной формы многоуровневых радиальных меню, при которых пользователь может задействовать свою "мускульную память" и выполнять выбор в меню зажатой в руке мышью или иглой без фактического появления самого меню [3]. Бакстон также пропагандирует ввод с помощью двух рук, при котором "вспомогательная" рука управляет крупными (грубыми) движениями (например, перемещением инструмента), в то время как "доминирующая" рука выполняет тонкую настройку (например, манипуляции инструментом) [2].

 

 

Рис. 2.
3D-модель в системе Sketch

 

Хотя в принципе распознавание речи может использоваться для подачи команд и вообще для неограниченного текстового ввода, соответствующая технология еще недостаточно зрела, чтобы действительно широко применяться. И привлекательность, и трудность реализации распознавания непрерывной жестикуляции и речевого ввода определяются тем, что при этом очень нелегко производить разбивку на значимые лексемы и однозначно выделять такие компоненты, как глагол, существительное и модификаторы. Боб Железник (Bob Zeleznik) со своими коллегами в Brown University недавно продемонстрировал 3D-интерфейс моделирования, который полностью полагается на ввод геометрических эскизов и команд вручную и имеет словарь, включающий более 20 жестов [9]; они уже расширили этот тип интерфейса, с тем чтобы включить взаимодействие "с двух рук" и тем самым обеспечить хорошую комбинацию методов [8]. Эта система, Sketch [9], использовалась для создания трехмерной модели бейсбольного поля (рис. 2).

 

Sketch использует довольно примитивную и дающую не слишком много реализма технику рендеринга, которая делает вид 3D-модели похожим на неформальный рисунок, состоящий из линий. На рис. 3 изображены два автомобиля и показано, как контур выхлопного дыма вместе с его тенью может быть позиционирован в 3D-пространстве, что делается двумя руками с помощью красного и желтого управляющих курсоров. Хотя по сравнению с WIMP-интерфейсом кривая обучения первоначально идет более круто, опыт пользователя может сильно облегчить познавательное усилие.

Рис. 3.
Пример 3D-манипулирования с использованием двух рук

"Тактильные" пользовательские интерфейсы - это еще одна мало исследованная область: основанная на тактильных ощущениях аппаратура появилась совсем недавно. Тактильные устройства, в отличие от других интерактивных устройств, способны как "чувствовать", так и передавать информацию. Таким образом, дизайнеры тактильных интерфейсов рассматривают две равно важные стороны: тактильные ощущения (чувство касания) и "кинестетическое" (kinesthetic) чувство (ощущение, где находится тело). Эти устройства имеют общую особенность: они снабжены средством силовой обратной связи - таким, как PHANToM, которое получает информацию о положении и жесте, а возвращает величину приложенной в точке силы. Таким образом, пользователь может ощущать форму жесткого объекта, в том числе через несколько слоев различного сопротивления при надавливании на внешнюю поверхность (что полезно, например, в хирургических симуляторах).

Будущее

Что же ждет нас в будущем? Прежде всего, в соответствии с законом Мура и учитывая непрерывный прогресс в технологии панельных дисплеев и проекторов, можно ожидать появления чрезвычайно мощных и универсальных (ubiquitous) компьютеров [7]. Примеры включают переносимые компьютеры [6], PDA, сверхминиатюрные или очень большие "проекционные" дисплейные устройства, а также легкие и доставляющие минимум неудобств шлемы-дисплеи для виртуальной и расширенной (augmented) реальности. Погружаясь в расширенную реальность, пользователь может видеть сгенерированную компьютером информацию, наложенную на образы реального мира через оптическое или видео-смешивание (слияние - merging), что обеспечивает, к примеру, встроенные аннотации или восприятие в рентгеновских лучах.

Разрешающая способность дисплеев, несомненно, увеличится по сравнению с теперешними, явно неадекватными 70-100 dpi (точек на дюйм), и процесс чтения в интерактивном режиме станет менее утомительным и более приятным. В конечном итоге мы будем иметь то, в чем сейчас так нуждаемся: доставляющие минимум неудобств высокоточные сенсоры с хорошим пространственным и временным разрешением для отслеживания положения головы, тела и глаз. Они сделают возможным быстрое и корректное распознавание жестов и, возможно, даже не вызывающую никаких неудобств биологическую обратную связь (biofeedback), что особенно важно для пользователей с физическими недостатками. Распознавание голоса на основе понимания (ограниченного) естественного языка станет доминирующей формой взаимодействия человека с компьютером. Тактильные (haptic) дисплеи позволят развить нашу способность воспринимать сгенерированную компьютером информацию. Радж Редди (Raj Reddy) из CMU (Carnegi Mellon University) дал описание интерфейсов SILK, которые будут поддерживать понимание речи, образов и языка на основе баз знаний [4]. Вычислительная мощь станет такой, что сможет обеспечивать возможность управления большим количеством непрерывной информации, поступающей одновременно от многих каналов ввода параллельно с симулированием поведения автономных реактивных объектов в реальном времени.

Наконец, мы узнаем, как комбинировать лучшие средства пользовательского взаимодействия через WIMP- и post-WIMP-интерфейсы с косвенным управлением, обеспечиваемым сертифицированными и заслуживающими доверия агентами, которые могут предугадывать потребности пользователя и работать на него в автономном режиме - вместе с другими агентами, распределенными по сети. Нет нужды доказывать, что такая агентская технология должна базироваться на мощных (еще не существующих!) базах знаний. Эта комбинация в конечном итоге позволит нам приблизиться к идеальной ситуации, в которой взаимодействие пользователя с компьютером будет столь же естественным, как общение между людьми.


Литература

  1. Herndon, K.R., Meyer T. 3D widgets for exploratory scientific visualization. - In Proceedings of UIST'94, ACM SIGGRAPH, November 1994, p. 69-70.
  2. Kabbash P., Buxton W., Sellen A. Two-handed input in a compound task. - In Proceedings of CHI'94, p. 417-423.
  3. Kurtenbuch G., Buxton W. The limits of expert performance using hierarchic marking menus. - In Proceedings of InterCHI'93, p. 482-487.
  4. Reddy R. Turing Award Lecture: To dream the possible dream. - Communications of the ACM, V.39, N.5 (May 1996), p. 105-112.
  5. Robertson G., Mackinlay J, Card S. Information visualization using 3D interactive animation. - Communications of the ACM, V.36, N.4 (April 1993), p. 57-71.
  6. Smailagic A., Siewiorek D. P. The CMU mobile computers: A new generation of computer systems. - In Proceedings of COMPCON'94, IEEE Computer Society Press, February 1994.
  7. Weiser M. Some computer science problems in ubiquitous computing. - Communications of the ACM, V.36, N.7 (July 1993), p. 74-84.
  8. Zeleznik R. C., Forberg, A. S., Strauss P. S. Two-pointer input for 3D interaction. - In Proceedings of 1997 Simposium on Interactive 3D Graphics (Providence, Rhode Island, April 27-30).
  9. Zeleznik, R.C., Herndon, K.P., and Hughes, J.F. "Sketch: An interface for sketching 3D scenes", - Computer Graphics (Proceedings of SIGGRAPH'96), August 1996

 


Эндрю вэн Дам (Andries van Dam) - профессор кафедры информатики в Brown University, США, и директор научно-технологического центра по графике и визуализации Национального научного фонда (NSF) - исследовательского консорциума, объединяющего ресурсы пяти ведущих американских университетов. Председатель правления Numinous Technology, Inc., входит в консультационные советы нескольких компаний, в том числе Microsoft. Один из пионеров машиной графики, он стоял у истоков профессиональной ассоциации ACM SIGGRAPH. Автор и соавтор многих статей и книг, в том числе "Computer Graphics: Principles and Practice" (вместе с J.D. Foley, S.K. Feiner, J.F. Hughes), которая была переведена на многие языки. Удостоен многих национальных и международных наград, включая ACM SIGGRAPH Steven Coons Award - высшую награду в области машинной графики.