Кафедра ИКТ
Курсовая работа по дисциплине:
Технологии программирования
На тему:
«Концепция WIMP. История, проблемы и перспективы»
Москва 2008
Оглавление
Введение
История
Развитие интерфейсов
Smalltalk и Lisa
Windows и Unix
Концепция WIMP
Метафора рабочего стола
Подход к интерфейсу
Проблемы WIMP
Достоинства
Недостатки WIMP-интерфейсов
Перспективы развития WIMP-интерфейсов
Post-WIMP-интерфейсы
Будущее
Использованная литература
Введение
Одним из наиболее впечатляющих явлений в программировании за последние двадцать лет был триумф интерфейса, состоящего из окон, значков, меню и указателей (Windows, Icons, Menus, Pointers - WIMP). Сегодня он очень широко известен и не требует описания. Впервые эту идею представили публике Дуглас Энглебарт (Douglas Englebart) с группой коллег из Стэндфордского научно-исследовательского института на Объединенной компьютерной конференции Запада в 1968 году. Оттуда идеи перекочевали в исследовательский центр Xerox в Пало-Альто, где они реализовались на персональной рабочей станции Alto, разработанной Бобом Тейлором (Bob Taylor) с сотрудниками. Их подхватил Стив Джобс для компьютера Apple Lisa - слишком медленного для осуществления своих восхитительных концепций простоты использования. Эти концепции Джобс затем воплотил в коммерчески успешном Apple Macintosh в 1985 году. Позднее они были приняты в Microsoft Windows для IBM PC и его клонов.
История
Вся история развития интерфейсов лучше всего характеризуется понятием, введенным известным специалистом в области эволюционной биологии Джеем Гоулдом (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 доминирует столь долго. Видимо, интерфейсы этого типа полностью соответствуют требованиям значительной части современных настольных приложений.
Развитие интерфейсов
Отцом интерфейсов можно считать Дугласа Энглебарта. В 1968 году на объединенной компьютерной конференции Запада он воплотил в жизнь свои идеи, связанные с интерфейсами.
Дисплей
Мышь и клавиатура
Дуглас держит первую мышку
Далее, в 1979 году компания Xerox предложила общественности компьютер Alto. Его самой поразительной чертой был дисплей, такого же размера и ориентации, как и распечатанный документ. Дисплей был растровым, с растровой графикой и расширением 606x808. Каждый пиксель мог быть включен/выключен независимо друг от друга. Alto также обладал клавиатурой и модернизированной мышкой Энглебарта. Сам курсор мышки представлял собой рисунок в форме наклонной стрелки, какую мы знаем и ныне. Форма также менялась, в зависимости от выполняемых действий.
Alto не был микрокомпьютером как таковым, хотя его элементы вмещались в корпус, который без труда можно было поместить под столом:
Smalltalk и
Lisa
Одним из самых больших прорывов в пользовательском интерфейсе было появление на свет GUISmalltalk (Xerox) и Lisa (Apple).
Отдельные окошки в Smalltalk’e окаймлялись графической границей и выделялись на сером фоне. Каждое из окошек обладало заголовком вверху, который позволял идентифицировать окно и передвигать его по экрану. Заголовок окна не растягивался на всю длину принадлежащего окна, а лишь ограничивался своей собственной длиной, начинаясь в левом верхнем углу. Окна могли перекрывать друг друга, и выделенное окно переходило на передний план к пользователю. В это же время была осуществлена концепция "иконок" – маленького символьного представления программы или документа, которое можно было кликнуть, чтобы запустить или манипулировать им. Здесь же появляются выпадающие меню – пользователь кликнет одной из кнопок мышки и появляется иерархическое графическое меню, содержимое которого зависит от выполняемых операций. Впервые появляются полосы прокрутки (скроллбары), радио кнопки и диалоговые окна.
Было создано множество различных прототипов интерфейса Lisa, включая интерфейс, основанный на описании задач, названный "Twenty Questions" (Двадцать Вопросов). Команда разработчиков Lisa остановилась на интерфейсе, основанном на иконках: каждая иконка символизировала документ или приложение. Здесь впервые было разработано выпадающее меню, где все меню находились в самом верху экрана.
Другие нововведения, пришедшие от команды Lisa, включали галочки напротив выбранных элементов меню, "быстрые клавиши" (keyboard shortcuts) для наиболее часто используемых команд. В Lisa изменились некоторые соглашения PARC’a и добавились новые, например, идея корзины для документов, которые должны быть удалены, идея затенения недоступных элементов меню. Трехкнопочная мышка, которая лишилась одной кнопки в Star, потеряла еще одну кнопку у Lisa, став однокнопочной. А так как интерфейс требовал по крайней мере два действия для каждой иконки (выбора и запуска) появляется идея двойного клика. Позже “дабл-клик” будет стандартным средством запуска программ во всех GUI, даже в тех, которым посчастливится обладать несколько - кнопочными мышками.
Пользовательский интерфейс Lisa принесет и другие концепции, которые используются по сей день. В SmallTalk иконки представляли некоторые файлы, Lisa же впервые предлагает: иконки могут представлять все
файлы в файловой системе, которые потом можно просматривать, используя иерархическую структуру каталогов, где каждый каталог открывается в новом окне. В это же время появляется идея drag-n-drop, а отсюда естественным образом следует идея перетаскивания файлов с целью манипуляции ими (например, выбор группы файлов и перетаскивание в другое место может представлять копирование файлов). Менее осязаемой, но все так же существенной была идея "ветвей ресурсов" ("resource forks"), которая прикрепляла информацию о файле отдельно от самого файла, и идея "классов создателей", означающая, что с каждым файлом может быть ассоциировано приложение, запускающееся по двойному щелчку на файле.
Windows и Unix
Windows 1.01. Граница между двумя окнами была изменена
Ко времени релиза, в1985 году Windows была цветной и обладала стандартными признаками GUI: полосы прокрутки, оконные элементы управления и меню. Хотя, меню было похожим на меню Lisa и Macintosh, основным отличием было то, что полосой меню, находившейся под заголовком окна, обладали все приложения.
Другим отклонением было использование мозаичного интерфейса, вместо перекрывающего. Предполагалось, что перекрывающие окна будут вводить в заблуждение пользователей. Однако, Биллу Гейтсу не понравилось оно, и во всех последующих версиях Windows будет использована перекрывающая модель интерфейса (когда одно окно может перекрывать часть другого). Microsoft был одним из ранних сторонних разработчиков для Macintosh’a и, как ни удивительно, получили бета-модель первого Мака, прежде чем та была представлена миру. Несомненно это повлияло на все следующие версии Windows.
Перед самым концом 80х, новые GUI начали появляться на платформах Unix Сетевая оконная архитектура, известная как X, которая позже будет основой GUI в Linux. Это были простенькие GUI, которые имитировали интерфейс Microsoft Windows, но позволяли использовать всю мощь Unix. Х также знакомит нас с новой идеей интерфейсов: простое движение курсора мышки над окном автоматически активирует его, позволяя пользователям сразу начинать ввод.
Первоначальной архитектурной идеей X Window System (которая была изобретена в 1984м году в MIT), было простое предоставление набора средств для отображения составных команд шелла (оболочки Unix) и часов. Философией Х было разделение вида и представления, т.е. X должна была обрабатывать примитивные запросы по графике и управлению окнами, а общий вид интерфейса оставался на усмотрение приложений.
Для предоставления интерфейса нужен был второй слой кода, называемый "window manager". Оконный менеджер обрабатывал создание и манипуляцию окнами и их элементами, но не был полноценным GUI. Поверх оконного менеджера был другой слой, называемый "desktop environment" или DE и изменялся в зависимости от поставщика Unix. Т.о. интерфейс от Sun будет выглядеть иначе, чем интерфейс от SGI. С появлением в начале 90х бесплатных клонов Unix, появилась потребность в бесплатной, открытой среде, реализующей концепцию рабочего стола (Desktop environment). Два наиболее ярких кандидата на эту роль были KDE и GNOME, начатые в 1996м и 1997м соответственно.
Ранняя версия K Desktop Environment, или KDE, для Linux и FreeBSD.
Концепция
WIMP
Метафора рабочего стола
Интерфейс WIMP обладает концептуальной целостностью, достигаемой принятием знакомой идеальной модели - метафоры рабочего стола - ровной поверхности, на которой расположены объекты и папки, и ее тщательного, последовательного развития для использования воплощения в компьютерной графике. Главное изменение в облике интерфейса - иконика - представление объектов в виде миниатюрных графических изображений - пиктограмм. Помимо чисто внешних изменений иконика породила возможность манипулировать объектами через манипулирование их изображениями. Документы, папки и мусорная корзина являются точными аналогами предметов на столе. Вырезание, копирование и вставка точно имитируют операции, которые обычно осуществляются с документами на столе. Транспортировка непосредственно вытекает из метафоры рабочего стола; выбор значков или окон с помощью курсора является прямой аналогией захвата предметов рукой. Из метафоры рабочего стола непосредственно следует решение о перекрытии окон вместо расположения их одно рядом с другим. Представление активного окна как документа, "лежащего сверху", интуитивно понятным образом решает проблему идентификации адресата. Возможность менять размер и форму окон не имеет прямой аналогии с бумажными документами, но является последовательным расширением, дающим пользователю новые возможности, обеспечиваемые компьютерной графикой
В некоторых случаях интерфейс WIMP отходит от метафоры рабочего стола. Основные отличия: меню и работа одной рукой. Меню представляет собой не совершение действия, а выдачу кому-то (системе) команды на осуществление действия, причем, команда эта не формулируется языковыми средствами, а выбирается из списка.
Даже на чисто текстовых видеотерминалах имелась возможность вывода на экран нескольких окон одновременно, но для графического режима эта возможность значительно расширилась. Поскольку появление графического интерфейса в Apple и Windows совпало с введением многозадачности (сначала - без вытеснения), естественным образом возникло решение о выделении каждому из работающих приложений собственного окна (первичной панели). При одновременной работе нескольких приложений их окна могут перекрывать друг друга - частично или полностью, но на переднем плане всегда находится окно активного в данный момент приложения. Поскольку обилие окон может затруднить ориентацию пользователя, вводится возможность минимизации или сокрытия окон - окна неактивных приложений могут уменьшаться в размерах или вообще не выводиться на экран. Для предотвращения "потерь" скрытых окон у пользователя должна быть возможность в любой момент просмотреть список работающих приложений и восстановить нормальную визуализацию выбранных окон.
Высокая разрешающая способность графических дисплеев позволяет также имитировать объемные панели, создавая на плоском экране иллюзию светотеней. На "объемной" панели применяются графические элементы - органы управления, такие как: кнопки, линейка протяжки и т.д. Общепринятым является представление полей ввода в "утопленном" виде, а органов управления - в "приподнятом". К настоящему времени облик объемного интерфейса в современных ОС сформировался почти окончательно и включает в себя единый "источник света" и однотипное расположение органов управления на всех панелях.
Объектно-ориентированные свойства интерфейса совершенно необязательно связаны с объектно-ориентированной структурой ОС. Так, например, OS/400 является объектно-ориентированной системой с объектно-ориентированным интерфейсом, Windows NT v.3.51 была объектно-ориентированной ОС без объектно-ориентированного интерфейса, OS/2 и Windows 9x - не объектно-ориентированные ОС с объектно-ориентированным интерфейсом. Объектно-ориентированный интерфейс обычно связывают с графическим интерфейсом, но это необязательно. Так, в той же OS/400 предусмотрены две модели интерфейса: текстовая и графическая, обе в полной мере объектно-ориентированные.
В противовес обычному интерфейсу, который представляет пользователю практически единственный тип объекта - файл, единицу хранения информации в ОС, объектно-ориентированный интерфейс представляет объекты различных типов. Файлы могут быть разными типами объектов - в зависимости от типа информации в них хранящейся и способов ее обработки. Кроме того, объектами могут быть устройства, сетевые ресурсы и т.д. В объектно-ориентированном программировании под объектом понимается абстрактный тип данных, включающий в себя как сами данные, так и процедуры их обработки. Аналогично объекты понимаются и в объектно-ориентированном интерфейсе. Объект обязательно обладает некоторым набором свойств, и значения этих свойств доступно пользователю. Среди свойств, присущих объекту, имеется и указание на способ его обработки - в том числе и на приложение, обрабатывающее данные этого типа. Выполнение некоторых действий над объектом включает в себя автоматический запуск приложений, которые эт
Концептуально важным объектом интерфейса является папка (folder). Папка - это контейнерный объект, содержащий в себе другие объекты и папки. Уместность папки в метафоре рабочего стола очевидна. Существенно то, что папка дает возможность пользователю создавать собственную структуру хранения объектов, альтернативную структуре хранения объектов в ОС (в файловой системе). Важным свойством, обеспечивающим эту возможность, является создание указателей на объекты. Если папка является физическим аналогом каталога файловой системы, то в нее может быть помещен указатель на объект, физически расположенный в другой папке-каталоге файловой системы (аналог косвенных файлов). Ссылка на объект с точки зрения пользователя выглядит так же, как оригинал объекта (хотя может иметь какие-то отличительные признаки ссылки), выполнение операции открытия над ссылкой приводит к открытию объекта-оригинала, но операции перемещения, удаления, переименования и т.п. выполняются не над объектом, а только над ссылкой. Возникает, однако, проблема согласования интерфейсной структуры хранения объектов с логической структурой файловой системы. Например, требуется, чтобы при перемещении объекта-оригинала в файловой системе все ссылки на него перенаправлялись на новое его место. Не все интерфейсы ОС успешно справляются с этой задачей.
Важным аспектом объектной ориентации является настройка интерфейса для конкретного пользователя. Обычно, если интерфейс рассматривается с точки зрения приложений, отмечается полезность создания нескольких форм интерфейса, ориентированных на пользователя разной квалификации - новичка, опытного, профессионала. Хотя та же задача может ставиться и перед интерфейсом ОС, более важной, на наш взгляд является интеграция интерфейса с системой безопасности ОС. Интерфейс должен показывать пользователю только те объекты и предоставлять ему только те команды, к которым данный пользователь имеет доступ. Такое возможно в тех ОС, где система безопасности тесно связана с объектно-ориентированными свойствами ОС. Настройки интерфейса могут являться частью профиля пользователя.
Подход к интерфейсу
Каково место интерфейса WIMP в ОС? Можно назвать три подхода к выбору такого места.
1. Графический интерфейс может встраиваться в саму ОС и быть ее неотъемлемой частью. Такой подход применяется во всех продуктах семейства Windows и в ОС компьютеров Apple (в последних WIMP даже встроен в ПЗУ компьютера). Подход дает возможность тесно интегрировать интерфейс с ОС и повысить производительность интерфейсных модулей, выполняя часть из них в режиме ядра. Однако такой подход в то же время является неэкономным, так как интерфейс WIMP расходует много ресурсов и до некоторой степени опасным, так как модули WIMP могут явиться дополнительным источником ошибок в системе.
2. Графический интерфейс может представлять собой отдельное приложение, поставляемое в составе операционной системы и, возможно, достаточно тесно интегрированное с ней. Пример такого приложения - Workplace Shell OS/2. Такое приложение не допускается в режим ядра, но может использовать API более низкого уровня, чем обычно используемый в приложениях. Такое приложение WIMP не является обязательным компонентом ОС, система может работать и без него, в режиме командной строки или загрузить другое приложение WIMP.
3. Наконец, графический интерфейс может представлять собой приложение, никак не связанное с ОС, выполняющееся в тех же условиях, что и другие приложения, и выполняющее действия, задаваемые пользователем, используя обычный API ОС. В этом случае ОС не связана жестко с одним модулем WIMP, и графический интерфейс может выбираться по желанию пользователя. Примером такой ОС с большим выбором интерфейсов является Linux.
Проблемы
WIMP
Достоинства
Очень продолжительное время основное внимание при разработке компьютерных приложений уделялось функциональности и производительности. Только в 80-х гг., когда настольными вычислительными инструментами стали пользоваться миллионы людей, мы, наконец, в полной мере осознали, сколь важна для успеха приложения легкость его использования, или, как стало принято выражаться, насколько "дружественным" для пользователя он является. Причем это важно и для неискушенных пользователей, и для опытных. Первые хотят, чтобы освоение интерфейса и запоминание методов работы с ним требовало минимальных усилий; пользователи высокой квалификации минимизацией усилий, необходимых для достижения высокой производительности в работе.
Давайте еще раз обозначим нашу цель: минимизировать использование тех механизмов манипулирования, которые столь существенны в сегодняшних интерфейсах, и сократить "когнитивную" дистанцию между намерением и реализацией этого намерения. Иными словами, требуется дать пользователю возможность сосредоточиться на его задаче, а не на технологии, необходимой для специфицирования этой задачи. Таким образом, я рассматриваю WIMP- и post-WIMP-интерфейсы как последовательные шаги в направлении куда более мощного и естественного интерфейса. В полной мере обозначенная цель, очевидно, будет достигнута через несколько десятилетий.
Интерфейс дает возможность полноценной работы с компьютером следующим трем категориям пользователей, которым трудно работать с теперешними интерфейсами: это дети, еще не умеющие читать и писать; менеджеры; непрофессиональные "домашние" пользователи. Без преувеличения можно сказать, что метод "указания и щелчка", отличительная особенность WIMP-интерфейсов, уже стал частью современной культуры. Неудивительно, что появилась новая специальность (быстро ставшая дефицитной) - дизайнер пользовательского интерфейса. Тестирование интерфейсов на предмет удобства и устойчивости стало необходимой частью всего процесса разработки приложений. По существу, WIMP GUI стали стандартом для прикладных интерфейсов, которые - по сравнению с интерфейсами "командной строки" - обеспечивают относительную простоту изучения и применения, легкость переноса знания, приобретенного от использования в одном приложении для применения в другом из-за большой совместимости концепции look and feel. Помимо прочего, это избавило многих от утомительного чтения руководств в процессе освоения приложения.
Недостатки WIMP-интерфейсов
Помимо обозначенных достоинств, WIMP-интерфейсы принесли с собой и большие проблемы.
Во-первых, чем более сложным является приложение, тем труднее осваивать интерфейс, причем эти трудности возрастают нелинейно. Взятые в отдельности интерфейсные особенности и инструменты могут быть вполне простыми, но, будучи в большом количестве интегрированы в одно приложение, они образуют новое качество сложности.
Во-вторых, пользователи проводят слишком много времени, манипулируя интерфейсом, а, не работая с самим приложением. Квалифицированные пользователи часто бывают раздражены слишком большим количеством слоев, возникающих в процессе point and click и создающих своеобразный хаос из-за слишком многих интерфейсных элементов (использование сокращенных комбинаций клавиш - это суррогатный метод решения этой проблемы).
В-третьих, WIMP GUI вместе с их 2D- интерфейсными элементами проектировались для работы с двухмерными же приложениями - такими, как обработка текстов, компоновка документов и электронные таблицы. Если же приложение является по своей сути трехмерным, то работа с ним с помощью 2D виджетов становится не слишком естественной
В-четвертых, не все пользователи способны эффективно использовать мышь и клавиатуру - либо оттого, что им это не кажется естественным в контексте их задачи, либо из-за вызываемых этими устройствами чисто физиологических неудобств, связанных с постоянными нажатиями на клавиши при сильном напряжении зрения (не говоря уже о специальных категориях пользователей с физическими недостатками). Соответственно главным недостатком WIMP-интерфейсов является то, что они никак не используют такие каналы взаимодействия, как речь, слух и прикосновения.
Еще одно ограничение WIMP-интерфейсов в том, что они предназначены для одного пользователя настольной системы, который управляет объектами, не обладающими автономным поведением, реагирующими в основном на манипуляции с мышью. Соответственно имеется один, не разделяемый во времени полудуплексный канал взаимодействия; система откликается на каждое дискретное событие ввода, и эти события могут быть легко распознаны - они состоят из простых нажатий на клавиши и выбора с помощью мыши. Самый сложный ввод - последовательность позиций мыши, которая может представлять, например, путь закрашивающей кисти.
Перспективы развития
WIMP
-интерфейсов
Фредерик Брукс (Frederick Brooks) в 1995 году, обсуждая основные процессы, произошедшие в программной отрасли за двадцать предшествовавших лет, назвал в числе «наиболее впечатляющих явлений» «триумф интерфейса WIMP» В этом ставшем классическим четырехстраничном анализе Брукс:
- производит декомпозицию самой идеи («диалог» с системой: объекты - «существительные» и действия - «глаголы»),
- выделяет факторы, способствовавшие ее «триумфу»,
- называет ограничения метафоры «рабочего стола» («проблема двух курсоров»), а также
- предрекает устаревание WIMP при внедрении речевого интерфейса.
Прошло еще пять лет, и мы можем отметить, что:
- Проф. Брукс не заметил решения «проблемы двух курсоров»;
- WIMP не думает устаревать, и скорее сам абсорбирует новые интерфейсные возможности (включая распознавание речи), чем будет вытеснен ими;
- «триумф WIMP» на сегодня выглядит не то чтобы менее бесспорным, а менее однозначным. Во многих прикладных областях попытки внедрения WIMP стали скорее частью проблемы пользовательского интерфейса, чем частью ее решения.
Сплошной же WIMP-среды и вовсе нет нигде, кроме встроенных/специализированных систем. В любом окружении элементы WIMP сочетаются с элементами другой интерфейсной модели.
Post-WIMP-интерфейсы
Post-WIMP-интерфейс - это такой интерфейс, который заключает в себе, по крайней мере, один метод взаимодействия, не присущий классическим 2D виджетам, таким как меню и пиктограммы. В конечном счете, он должен включать действующие в параллель сенсорные каналы, коммуникации с помощью естественного языка - и все это в среде из многих пользователей. Среди примеров взаимодействия с помощью Post-WIMP-интерфейсов можно упомянуть распознаватели жестов, основанные на технике рисования пером, - они используются в карманных PDA. Эти устройства более или менее успешно сочетают методы, свойственные как WIMP, так и post-WIMP интерфейсам для 2D-задач. Другим показательным примером естественного человеко-машинного взаимодействия, но не использующим какие-либо WIMP-устройства и методы, являются диалоговые видеоигры, такие как тренажеры с рулевым колесом управления с переключателем передачи, а также имитаторы игр, вроде гольфа, в которых игрок может бить реальной клюшкой по реальному мячу, траектория полета которого затем моделируется и изображается на экране дисплея.
3D-виджеты (объекты, инкапсулирующие 3D-геометрию и предназначенные для управления другими объектами в сцене) начинают с успехом использоваться в задачах трехмерного моделирования; при этом они являются частью 3D-сцены, что позволяет не прибегать к привычным 2D-виджетам, обычно накладываемым на 3D-сцену. Среди универсальных 3D-виджетов стоит упомянуть "блоки вращения и масштабирования" с соответствующими управляющими "рычагами" и навигаторы (использующиеся в VRML и других 3D-браузерах).
Еще один метод, который комбинирует WIMP и post-WIMP, - это использование marking menus - современной формы многоуровневых радиальных меню, при которых пользователь может задействовать свою "мускульную память" и выполнять выбор в меню зажатой в руке мышью или иглой без фактического появления самого меню. Бакстон также пропагандирует ввод с помощью двух рук, при котором "вспомогательная" рука управляет крупными движениями (например, перемещением инструмента), а "доминирующая" рука выполняет тонкую настройку.
Распознавание речи может использоваться для подачи команд и вообще для неограниченного текстового ввода, соответствующая технология еще недостаточно зрела, чтобы действительно широко применяться. И привлекательность, и трудность реализации распознавания непрерывной жестикуляции и речевого ввода определяются тем, что при этом очень нелегко производить разбивку на значимые лексемы и однозначно выделять такие компоненты, как глагол, существительное и модификаторы.
"Тактильные" пользовательские интерфейсы - это еще одна мало исследованная область: основанная на тактильных ощущениях аппаратура появилась совсем недавно. Тактильные устройства, в отличие от других интерактивных устройств, способны как "чувствовать", так и передавать информацию. Таким образом, дизайнеры тактильных интерфейсов рассматривают две равно важные стороны: тактильные ощущения (чувство касания) и "кинестетическое" (kinesthetic) чувство (ощущение, где находится тело). Эти устройства имеют общую особенность: они снабжены средством силовой обратной связи - таким, как PHANToM (от фирмы SensAble Devices), которое получает информацию о положении и жесте, а возвращает величину приложенной в точке силы. Таким образом, пользователь может ощущать форму жесткого объекта, в том числе через несколько слоев различного сопротивления при надавливании на внешнюю поверхность (что полезно, например, в хирургических симуляторах).
Будущее
Прежде всего, в соответствии с законом Мура, можно ожидать появления чрезвычайно мощных и универсальных компьютеров, включая переносимые компьютеры, PDA, сверхминиатюрные или очень большие "проекционные" дисплейные устройства, а также легкие и доставляющие минимум неудобств, шлемы-дисплеи для виртуальной реальности. Погружаясь в виртуальную реальность, пользователь может видеть сгенерированную компьютером информацию, наложенную на образы реального мира через оптическое или видео-смешивание. Разрешающая способность дисплеев, несомненно, увеличится и процесс чтения в интерактивном режиме станет менее утомительным и более приятным. В конечном итоге мы будем иметь доставляющие минимум неудобств высокоточные сенсоры с хорошим пространственным и временным разрешением для отслеживания положения головы, тела и глаз. Они сделают возможным быстрое и корректное распознавание жестов и, возможно, даже не вызывающую никаких неудобств биологическую обратную связь (biofeedback), что особенно важно для пользователей с физическими недостатками. Распознавание голоса на основе понимания (ограниченного) естественного языка станет доминирующей формой взаимодействия человека с компьютером. Тактильные дисплеи позволят развить нашу способность воспринимать сгенерированную компьютером информацию. Радж Редди (Raj Reddy) из CMU (Carnegi Mellon University) дал описание интерфейсов SILK, которые будут поддерживать понимание речи, образов и языка на основе баз знаний. Вычислительная мощь станет такой, что сможет обеспечивать возможность управления большим количеством непрерывной информации, поступающей одновременно от многих каналов ввода параллельно с симулированием поведения автономных реактивных объектов в реальном времени.
Наконец, мы узнаем, как комбинировать лучшие средства пользовательского взаимодействия через WIMP- и post-WIMP-интерфейсы с косвенным управлением, обеспечиваемым сертифицированными и заслуживающими доверия агентами, которые могут предугадывать потребности пользователя и работать на него в автономном режиме - вместе с другими агентами, распределенными по сети. Такая агентская технология должна базироваться на мощных базах знаний. Эта комбинация в конечном итоге позволит нам приблизиться к идеальной ситуации, в которой взаимодействие пользователя с компьютером будет столь же естественным, как общение между людьми.
Использованная литература
1. Операционные системы: Учебное пособие.
2. Деревянко А.С., Солощук М.Н.
3. Харьков: НТУ "ХПИ", 2002. - 573c.
4. Судьба интерфейса. Автор: Максим Отставнов
5. Опубликовано в журнале "Компьютерра" №45-46 от 13 декабря 2000 года
6. Фредерик П. Брукс. Мифический человеко-месяц или как создаются программные системы. Издательство Addison-Wesley, 1975
7. Пользовательские интерфейсы нового поколения. Автор: Эндрю вэн Дам, Brown University, США. Опубликовано в журнале «Открытые системы» от 17.06.1997 г.