Кафедра ИКТ
Курсоваяработа по дисциплине:
Технологиипрограммирования
На тему:
«Концепция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
/>
Одним из самых большихпрорывов в пользовательском интерфейсе было появление на свет GUI Smalltalk (Xerox) и Lisa (Apple).
Отдельные окошки вSmalltalk’e окаймлялись графической границей и выделялись на сером фоне. Каждоеиз окошек обладало заголовком вверху, который позволял идентифицировать окно ипередвигать его по экрану. Заголовок окна не растягивался на всю длинупринадлежащего окна, а лишь ограничивался своей собственной длиной, начинаясь влевом верхнем углу. Окна могли перекрывать друг друга, и выделенное окнопереходило на передний план к пользователю. В это же время была осуществленаконцепция «иконок» – маленького символьного представления программыили документа, которое можно было кликнуть, чтобы запустить или манипулироватьим. Здесь же появляются выпадающие меню – пользователь кликнет одной из кнопокмышки и появляется иерархическое графическое меню, содержимое которого зависитот выполняемых операций. Впервые появляются полосы прокрутки (скроллбары), радиокнопки и диалоговые окна.
/>
Было создано множестворазличных прототипов интерфейса Lisa, включая интерфейс, основанный на описаниизадач, названный «Twenty Questions» (Двадцать Вопросов). Командаразработчиков Lisa остановилась на интерфейсе, основанном на иконках: каждаяиконка символизировала документ или приложение. Здесь впервые было разработановыпадающее меню, где все меню находились в самом верху экрана.
Другие нововведения, пришедшиеот команды Lisa, включали галочки напротив выбранных элементов меню,«быстрые клавиши» (keyboard shortcuts) для наиболее частоиспользуемых команд. В Lisa изменились некоторые соглашения PARC’a и добавилисьновые, например, идея корзины для документов, которые должны быть удалены, идеязатенения недоступных элементов меню. Трехкнопочная мышка, которая лишиласьодной кнопки в Star, потеряла еще одну кнопку у Lisa, став однокнопочной. А таккак интерфейс требовал по крайней мере два действия для каждой иконки (выбора изапуска) появляется идея двойного клика. Позже “дабл-клик” будет стандартнымсредством запуска программ во всех GUI, даже в тех, которым посчастливитсяобладать несколько — кнопочными мышками.
Пользовательскийинтерфейс Lisa принесет и другие концепции, которые используются по сей день. ВSmallTalk иконки представляли некоторые файлы, Lisa же впервые предлагает:иконки могут представлять все файлы в файловой системе, которые потомможно просматривать, используя иерархическую структуру каталогов, где каждыйкаталог открывается в новом окне. В это же время появляется идея drag-n-drop, аотсюда естественным образом следует идея перетаскивания файлов с цельюманипуляции ими (например, выбор группы файлов и перетаскивание в другое местоможет представлять копирование файлов). Менее осязаемой, но все так жесущественной была идея «ветвей ресурсов» («resourceforks»), которая прикрепляла информацию о файле отдельно от самого файла,и идея «классов создателей», означающая, что с каждым файлом может бытьассоциировано приложение, запускающееся по двойному щелчку на файле.
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, появилась потребность вбесплатной, открытой среде, реализующей концепцию рабочего стола (Desktopenvironment). Два наиболее ярких кандидата на эту роль были KDE и GNOME,начатые в 1996м и 1997м соответственно.
Ранняя версия K DesktopEnvironment, или 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 andclick и создающих своеобразный хаос из-за слишком многих интерфейсных элементов(использование сокращенных комбинаций клавиш — это суррогатный метод решенияэтой проблемы).
В-третьих,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 г.