24 мая 2012 года

Трехмерные интерфейсы. Looking Glass, Metisse, SphereXP и другие

Проекты по созданию трехмерных интерфейсов уже вовсю реализуются. В мире open-source дальше всех продвинулись проекты Looking Glass и Metisse, немало подобных разработок существует и для Windows.

| Раздел:  | Дата: 12 ноября 2004 года

Продолжение материала о трехмерных графических интерфейсах. Первую, вводную, часть статьи можно прочитать здесь.

Информация о проекте Looking Glass мелькает в прессе уже довольно давно. Обычно о Looking Glass упомяналось в связи с интересным событием - компания Sun Microsystems, изначально работавшая над ним, решила передать все наработки сообществу open-source. В отличие от Solaris и Java, открытие кода которых пока только планируется, Looking Glass уже собрал вокруг себя сообщество свободных разработчиков и успешно развивается под флагом открытых исходников.

Цель авторов проекта - создание трехмерного рабочего окружения. В предыдущей статье я уже приводил некоторые доводы за и против подобных идей, но разобраться что к чему лучше всего на практике. Благодаря доступности исходных кодов сделать это теоретически не сложно.

Для того, чтобы заполучить Looking Glass требуестя зарегистрироваться на сайте Java.net (сервер компании Sun Microsystems, ответственный за координацию open-source проектов), найти раздел, посвященный Looking Glass (lg3d-core) и скачать одну из стабильных версий. На сервере доступны как исходные коды, так и готовые откомпилированные версии. Забегая вперед скажу, что последняя версия у меня работать отказалась - пришлось довольствоваться августовским релизом. Впрочем, особой разницы между ними все равно быть не должно.

Установка Looking Glass оказалась делом не сложным, но и не вполне тривиальным. Для запуска оконного менеджера пришлось скачать последнюю версию Java 2 SE (JRE и JDK версии 1.5) а также несколько дополнительных библиотек (Java 3D и Java Advanced Imaging), впрочем проблем это не вызвало - весь процесс установки подробно описан в руководстве на Java.net.

Looking Glass 1

Существует два режима запуска Looking Glass: первый (lg3d-dev) позволяет работать со средой, не выходя из другого оконного менеджера - Looking Glass запускается в отдельном окне. В таком режиме запуск приложений внутри трехмерной среды невозможен: за исключением демонстрационных, все окна будут открываться в родительском оконном менеджере. Для того, чтобы поэксперементировать с запуском программ непосредственно в Looking Glass придется завершить сеанс работы с графическим сервером и запустить исполняемый файл "lg3d-session", после чего Looking Glass запустит собственный сеанс работы с XFree86 (или X.Org), и откроется в полноэкранном режиме.

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

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

Окна в Looking Glass выглядят как полупрозрачные стеклянные пластины, внутри которых вставлено что-то наподобие листка бумаги. Окна приобретают фокус (становятся непрозрачными), если на них навести курср и тут же его теряют, когда курсор мыши оказывается за рамками окна. Надо сказать, что на практике это оказывается не очень привычным: для того, чтобы вводить текст обязательно присутствие курсора в рамках окна. При щелчке мышью в рабочей области окна оно "всплывает" на передний план, становясь чуть крупнее других окон (остальные окна наоборот становятся чуть меньше). С фокусом это не имеет ничего общего: окно может быть в фокусе, будучи перегороженным другими окнами. Нажатие клавиш на вспылтие окон не влияет никак.

Looking Glass 2

Перемещать окна можно вполне обычным способом - зажав левую кнопку мыши на заголовке окна. При перемещении окна красиво наклоняются в сторону движения. Если окно подтащить к правому или левому краю экрана, то оно автоматически "припаркуется" - повернется примерно на 60 градусов относительно плоскости экрана. Если навести на такое окно курсор, то можно взглянуть на его содержимое под меньшим углом - примерно 30 градусов. "Припаркованные" окна можно свободно двигать в таком состоянии, но при щелчке мыши на поверхности окна, оно займет свое место у края экрана и развернется к пользователю "лицом". Стоит еще упомянуть о том, что если кликнуть правой кнопкой мыши на свободном от окон месте, то все в данный момент развернутые окна "припаркуются" к ближнему для них краю. Повторный щелчок вернет на места все окна, "припаркованные" таким способом. Для удобства манипулирования повернутыми окнами на боковых сторонах каждого из них повторен его заголовок.

Интересны в Looking Glass и виртуальные рабочие столы. Различаются они не толькофоновой внешним видом, но и возможностями. На данный момент доступно три темы: "Большой каньон", "Природа" и "Стэнфорд". Первые два стола полностью идентичны, и содержат в верхнем правом углу экрана логотип Java. Логотип этот - не просто украшение. Если навести на него курсор, зажать одну из кнопок мыши и водить курсором в разные стороны, то все окна, присутствующие на экране будут вращаться под любым углом. Когда кнопка будет отпущена, окна займут свои изначальные позиции.

На рабочем столе "Стэнфорд" логотип отсутствует, и вращать окна невозможно. Зато там демонстрируется возможность двигать рабочую область. Если повести курсор мыши к краю экрана, то вид курсора изменится, а при клике левой кнопкой, поверхность рабочего стола сдвинется, предоставив пользователю свободное от окон пространство. Всего таких областей четыре. Чтобы окинуть взглядом все области сразу достаточно нажать правой кнопкой мыши на свободном месте панели задач. После нажатия рабочий стол отдалится и перед пользователям предстанут сразу все его четыре части. В таком положении окна можно перемещать из одной области в другую или быстро переместиться к одной из них.

Looking Glass 4

Особо стоит отметить место на панели задач, отвечающее за показ уменьшенных копий открытых окон. В большинстве оконных менеджеров на панели задач отображаются лишь заголовки окон, иногда можно организовать отображение части содержимого окна, но аналогов того, что можно увидеть в Looking Glass, я, пожалуй, не видел нигде. Дело в том, что на панели задач располагаются не изображения окон, а их копии. Маленькое окно, кроме размера, от большого совершенно ничем не отличается - оно точно передает содержимое большого окна, поворачивается "лицом" или "боком" в зависимости от его положения, меняет прозрачность и точно так же, как и родительское окно реагирует на действия пользователя. Можно, к примеру, выделить в уменьшенной копии терминала часть текста - изменение тут же затронет и большое окно.

Как уже упомяналось, текущая версия Looking Glass позволяет запускать внутри себя Linux-приложения. На практике это оказалось не совсем так - многие приложения действительно запускаются, но о стабильной работе речи пока не идет. Gtk-приложения (даже самые простые) запустить мне, к сожалению, так и не удалось. С Qt-приложениями ситуация слегка получше - большинство из них запускается, но вот работают лишь простейшие приложения. Лучше всего, пожалуй, работают приложения для X11 - большинство из них запускается вполне нормально, но зачастую подводит скорость работы. Запустив, к примеру, xemacs, я столкнулся с такой нехваткой ресурсов, что из Looking Glass пришлось выйти. В итоге, столкнувшись с необходимостью использования текстового редактора для ввода части этой статьи, я перепробовал все оконные редакторы, доступные в моей системе, и ни один из них не заработал настолько, чтобы в нем можно было ввести пару абзацев и сохранить в файл. Текст набивать пришлось в vim, запущенном в терминальном окне.

Looking Glass 3

Естественно, целью эксперемента было не показать сырость технологии - это было и так вполне очевидно. Попробуем глаза на неторопливость работы (штук пять терминальных окон заставляют Looking Glass временами призадумываться), многочисленные сбои (нажатие кнопки "выход" или попытка перейти в текстовую консоль, к примеру, часто вызывает полное зависание) и общую незавершенность и попытаться ответить для себя на вопрос "Будет ли удобно работать в Looking Glass, когда его разработка достигнет этапа первых стабильных версий?". Лично я, к сожалению, больше склоняюсь к отрицательному ответу. Хотя на ум тут же приходит период перехода от DOS и Norton Commander к графическому интерфейсу Windows. В то время возвращение из "подвижной" оконный среды к командной строне или панелям Norton походило на возвращение с шаткой корабельной палубы на твердую землю.

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

На следующей странице читайте о другом открытом трехмерном менеджере рабочего стола Metisse и о реализации трехмерных интерфейсов в среде Windows

/  iBusiness