Федеральное агентство по образованию РФ
Государственное образовательное учреждение высшего профессионального образования
Уральский государственный университет им. А. М. Горького
Математико-механический факультет
Кафедра информатики и процессов управления
Проблемы разработки многооконных интерфейсов
"Допущен к защите"
___________________
"__"____________2008 г.
Квалификационная работа на
степень бакалавра наук
по направлению "Математика,
прикладная математика"
студента гр. Мт - 405
Флягина Т. А.
Научный руководитель
Авербух В. Л.
заведующий сектором, к.т.н.
Екатеринбург, 2008
РЕФЕРАТ
Флягина Т.А. ПРОБЛЕМЫ РАЗРАБОТКИ МНОГООКОННЫХ ИНТЕРФЕЙСОВ, квалификационная работа на степень бакалавра наук
по направлению "Математика, прикладная математика": стр.21, рис. 10, приложение 1, /библ. 3 назв.
Ключевые слова:
ИНТЕРФЕЙС, МНОГООКОННЫЕ СИСТЕМЫ, ПОРТЛЕТЫ, ВИДЖЕТЫ, ОКОННЫЙ МЕНЕДЖЕР.
В ходе выполнения квалификационной работы на степень бакалавра предполагается рассмотреть проблемы разработки многооконных человеко-компьютерного интерфейсов с учетом предпочтений пользователей. Результаты работы могут использоваться в современных распределенных системах и кластерах.
Автоматическое расположение окон. 10
Работа с окнами в менеджере. 12
Менеджер работы с портлетами. 13
Что такое портлеты? Порталы? Портальный сервер?. 13
Менеджер работы с портлетами. 14
Перемещение по горизонтали. 15
Отличия реализации от базовой модели. 17
Будущие и дополнения модели. 18
Виртуальный менеджер стола. 18
Развитие информационных технологий способствовало развитию одновременной работы с большим числом приложений. Мы теряемся в окнах, которые необходимы нам для работы. Пользователь одновременно работает с множеством окон, постоянно открывает новые окна. При этом теряет время на поиск нужного окна, а значит, теряет необходимую информацию.
Несмотря на все это, до сих пор нет интерфейса по настоящему работающему с многооконными интерфейсами.
Microsoft Windows по-прежнему проповедует "табовый" однооконный интерфейс, популярные оконные менеджеры для Linux его в той или иной степени копируют (возможность использовать многооконность, разумеется, есть, но она не особенно популярна). Немного отличается от мейнстрима Mac OS X, где по-прежнему используется классическая многооконность в стиле Xerox PARC. На удобство расположения окон влияет только привычка "Маков" не раскрывать окна на весь экран и подгонять их под размер документа, а не экрана. Этого, увы, недостаточно.
Окна были изобретены почти случайно. В семидесятые годы, когда в исследовательском центре Xerox PARC разрабатывали первый компьютер с графическим интерфейсом, качество растровых дисплеев оставляло желать лучшего. Разместить окна подобно перекрывающимся документам на столе предложил сам Алан Кей, руководивший этим проектом. "Это не казалось мне идеальным решением проблемы, но оно давало эффект значительного увеличения полезной площади на экране, так что я решил остановиться на нём," - вспоминал он потом в статье "Early History of Smalltalk".
Исследования подтверждают, что перекрывающиеся окна - это действительно не самый практичный и эффективный интерфейс. Метафора рабочего стола оказалась воспроизведена слишком буквально, и канцелярский беспорядок перекочевал на компьютерные экраны почти без изменений, только ворохи бумаг заменили сбившиеся в кучу окна. Ни о каком "увеличении полезной площади" и речи нет.
Мог ли Кей предвидеть, что временное решение проблемы проживёт практически без изменений так долго? Технические ограничения, которые привели к появлению многооконного интерфейса, давно исчезли, но он успел стать настолько привычным, что об альтернативах почти никто не задумывается. А ведь они есть.
Одних перекрывающихся окон, которые можно передвигать с места на место, для обеспечения сколько-нибудь комфортной работы недостаточно. Если бы для переключения между окнами приходилось каждый раз выкапывать нужное окно из общей стопки вручную, пользователи, наверное, старались бы больше одного окна на экране не открывать.
В карманных компьютерах, размеры экрана которых обычно не превышают нескольких дюймов, программы всегда автоматически раскрываются на весь экран, и для переключения между ними используется выпадающий список окон или список приложений, располагающийся на отдельном экране.
Хотя в Windows поддерживаются перекрывающиеся окна, многие пользователи предпочитают этого не замечать - они всегда открывают приложения на полный экран. Для переключения между окнами в системе есть "панель задач", а Windows XP и Vista ещё и группируют окна одного приложения под одной вкладкой. Впрочем, объяснения здесь, вероятно, излишни, - Windows видели все.
Очень похожую концепцию можно встретить в современных браузерах. Своим табовым интерфейсом они дублируют возможности операционной системы, но раз раскрытые на весь экран Opera или Firefox - зрелище совсем не редкое, значит пользователи находят это удобнее множества перекрывающихся окон.
Но чем больше экран, тем меньше смысла занимать его целиком единственным приложением. Результаты многочисленных исследований свидетельствуют о том, что производительность работы повышается, когда пользователь видит все необходимые ему документы одновременно.
В своё время в исследовательском центре Microsoft экспериментировали с громадным панорамным монитором с углом обзора в 180 градусов. Проверка подвердила, что пользователь чувствует себя куда комфортнее, когда для перехода от одной программы к другой не нужно совершать активных действий вроде щелчка по вкладке.
Ожидать, что такие гиганты в ближайшее время станут доступными каждому, не приходится. Но похожего эффекта можно достичь и другими способами. Одно из самых простых решений задачи - это установка одного или нескольких дополнительных мониторов. Первый раз объединить несколько мониторов в общее пространство координат предложила компания Radius ещё в 1986 году.
В Microsoft рассматривали не только огромные дисплеи, но и конфигурации из нескольких мониторов. У них обнаружились общие проблемы: теряющийся курсор (чем крупнее экран, тем большие расстояния преодолевает курсор, и его становится сложнее заметить), рамки мониторов в мультимониторной конфигурации (они вызывают чувство искажения, когда курсор или окно их пересекает), осложнение доступа к традиционным элементам управления (вроде меню "Пуск"), проблемы с расстановкой окон (новые окна и диалоги появляются в самых неожиданных местах), проблемы с распределением задач (с ростом числа открытых окон пользователи активнее пользуются многозадачностью и нуждаются в лучших механизмах управления задачами).
Тем не менее, научить операционную систему открывать приложения на том или ином дисплее значительно проще, чем правильно располагать окна в едином пространстве. Два или три экрана - это хорошо, но программ-то обычно куда больше. Ещё до повсеместного распространения перекрывающихся окон данные выводились в определённые области экрана и друг с другом не пересекались. Такой подход может сослужить добрую службу и теперь, когда мониторы с разрешением более 1600 пикселей по горизонтали встречаются всё чаще.
Первая версия Windows, выпущенная более двадцати лет назад, обладала именно таким интерфейсом. На экране можно было открыть несколько неперекрывающихся окон, причём изменение размера одного из них приводило к изменению размера другого. Впрочем, куда успешнее этот подход применялся во многих программах с текстовым интерфейсом ещё во времена emacs. Старые пользователи PC помнят файловый менеджер Norton Commander, две панели которого тоже можно рассматривать как неперекрывающиеся окна.
Cпециальные программы, позволяющие разделять экран так, чтобы на нём легко умещались все открытые окна, называются мозаичными или тайловыми оконными менеджерами (от слова tile - плитка или черепица). Есть подобные разработки для Windows, но настоящее королевство подобных средств - UNIX-подобные операционные системы. В число наиболее распространённых тайловых оконных менеджеров входят Ion3, Ratpoison, WMII.