Курсовая работа: Концепция WIMP. История, проблемы и перспективы

Одним из самых больших прорывов в пользовательском интерфейсе было появление на свет 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-х гг., когда настольными вычислительными инструментами стали пользоваться миллионы людей, мы, наконец, в полной мере осознали, сколь важна для успеха приложения легкость его использования, или, как стало принято выражаться, насколько "дружественным" для пользователя он является. Причем это важно и для неискушенных пользователей, и для опытных. Первые хотят, чтобы освоение интерфейса и запоминание методов работы с ним требовало минимальных усилий; пользователи высокой квалификации минимизацией усилий, необходимых для достижения высокой производительности в работе.

К-во Просмотров: 232
Бесплатно скачать Курсовая работа: Концепция WIMP. История, проблемы и перспективы