Трехмерные интерфейсы сегодня. Вводная часть
Не погрешу против истины, если скажу, что идеи создания трехмерного интерфейса начали появляться очень давно. Достаточно вспомнить почти любой фантастический (впрочем, зачастую, необязательно фантастический) фильм, в котором фигурирует компьютер. Режиссерам с неумолимым упрямством грезятся совершенно невероятные рабочие среды. И неудивительно, ведь главное для режиссера - зрелищность. Но если раньше любой человек, мало-мальски знакомый с персональным компьютером, видя в кино подобное безобразие, незамедлительно начинал шипеть, плеваться и рассказывать всем окружающим о том, как жестоко их пытаются обмануть, то теперь, прежде чем начать обвинять авторов фильма в пренебрежении реализмом, стоит немножко призадуматься. Не секрет, что компьютеры становятся мощнее год от года, и идея создания объемного интерфейса не только перестает быть невоплотимой, но и постепенно начинает казаться все менее бредовой.
Так зачем же все-таки может понадобиться трехмерный интерфейс? На этот вопрос ответов можно найти несколько, да и утверждать, что на этом их список заканчивается пока рано. О зрелищности я уже упоминал. И пусть многие пользователи выступают за разумный минимализм, а некоторые даже предпочитают командную строку оконному интерфейсу, число пользователей, пытающихся сделать свое рабочее место максимально привлекательным, всегда будет велико. Однако украшательство, как мне кажется - не самоцель. Наряду с облагораживанием себя рабочая среда обязательно должна наращивать функциональность. Именно наличие этой дополнительной функциональности и призвано оправдать возрастающую вместе с красотой требовательность к ресурсам. И мне хотелось бы рассмотреть перспективы использования трехмерного интерфейса именно с точки зрения выявления этой новой функциональности.
Итак, в чем же, собственно, может заключаться дополнительная функциональность трехмерного интерфейса? Наиболее очевидное из потенциальных преимуществ третьего измерения рабочего стола - возможность за счет этого расширить доступное пространство. Расширение "вширь" путем увеличения монитора - достаточно дорогое удовольствие, причем, помимо дороговизны, есть и еще один недостаток: уследить за очень большой площадью просто невозможно. Расширение "вдаль", то есть увеличение разрешения экрана тоже имеет очевидный предел. Так что, возможно, положение поможет исправить расширение "вглубь".
Но наиболее точно достоинство объемной организации рабочего пространства отражает термин "оптимизация", нежели "расширение". Действительно, пользователю должно быть скорее важно не количество окон, одновременно умещающихся на экране, а насколько просто ему будет их отследить и перейти в случае надобности от одного к другому. До сих пор "оптимизация" программных интерфейсов представляла собой различные вкладки, меню и прочие ухищнения, применяемые разработчиками для уменьшения площади, отнимаемой многочисленными панелями у рабочей области. Наиболее ярким (и надо сказать, удачным) примером такой оптимизации интерфейса может послужить новое поколение программ от компании Macromedia. Подобное решение проблемы кажется мне вполне удачным и, в общем-то, достаточным для удобной организации работы, но во-первых, и тут есть некий предел, во-вторых, прогресс никогда не стоит на месте и, двигаясь в ту или иную сторону, всегда с некоторой долей вероятности находится то, что нужно потребителю.
Другим важным плюсом "отрехмеривания" пространства внутри монитора является привычка человека к объемному окружению. С самого детства мы учимся ориентироваться в объемном пространстве, и элементы этого пространства в графических интерфейсах делают программы как бы ближе к реальному миру. Вспомним хотя бы тени от окон и кнопок, которые разработчики добавляли в псевдографические интерфейсы в эпоху програм для DOS. Далее пошли выпуклые кнопки и рамки - уже в первых графических интерфейсах, тени от меню и курсора мыши - в современных. Человек всегда пытается привнести в создаваемую им искуственную среду элементы реального мира и, найдя их там, чуствует себя увереннее.
От вопроса "зачем" перейдем к вопросу "как". Что должно быть в трехмерном интерфейсе, и чего ни в коем случае быть не должно? Точных ответов на эти вопросы я, к сожалению, не знаю, но кое-что предположить все же могу. О необходимости дополнительной функциональности я уже говорил, и осталось решить, в чем эта функциональность должна проявляться. Если главное отличие трехмерного окружения от "плоского" заключается в возможности повернуть или даже перевернуть любое из окон, то этому должно находиться какое-то разумное применение.
Помимо применения очевидного - разглядывания содержимого окна под разными углами (что, согласитесь, не столь необходимо в повседневной работе), на ум приходит упомянутое выше расширение рабочего пространства. Но как именно оно должно происходить? Поворачивать окна вручную каждый раз, когда нам хочется сделать так, чтобы они занимали меньше места, но все же были видны, было бы лишней тратой времени: гораздо проще свернуть окно на панель управления, полностью пожертвовав его видимостью.
Для того чтобы "объемность" рабочего пространства была задействована наиболее эффективно, обязательно должен пристутствовать некий элемент самоорганизации: используемые в данный момент окна должны быть ближе к "поверхности", чем неиспользуемые, последние же должны быть тем не менее видны и легко доступны. Причем процесс смены активного окна должен проходить с наименьшей затратой сил пользователя - в идеале от него должен требоваться только выбор нужного окна.
Однако оконный менеджер, поддерживающий трехмерную графику, может, в перспективе, послужить не только размещению уже знакомых нам элементов интерфейса (таких как окна), но и созданию приложений, изначально содержащих в себе объемные элементы. До сих пор включение возможности отображения трехмерной графики в существующие оконные библиотеки (скажем, GDI+ в новых версиях Windows) особого ажиотажа у программистов не вызвали. Пожалуй, трехмерными персонажами во встроенной справке Windows XP их применение и ограничилось. Однако "отрехмеривание" остальных элементов рабочей среды может, со временем, изменить положение дел: подобные решения не будут казаться инородными элементами в привычной рабочей среде и, быть может, впишутся в общую картину интерфейса.
Не будет ли объемная (а тем более, "интеллектуальная") среда мешать работе и раздражать - вопрос спорный, и здесь, на мой взгляд, все зависит лишь от таланта программистов. В любом случае, попытки создать трехмерное рабочее окружение на обычном плоском мониторе, управляемое традиционной мышью, перемещающейся по плоской поверхности, и не требующее запредельных требований к производительности компьютера, уже предпринимаются. В следующих главах я поведаю о своем опыте использования двух находящихся в данный момент на стадии разработки трехмерных сред - Looking Glass и Metisse.
Оба проекта являются открытыми и уже доступны для тестирования, оба запускаются в режиме оконного менеджера для ОС Linux. И если Metisse и дальше будет разрабатываться лишь для этой операционной системы, то Looking Glass разработчики обещают, в перспективе, перенести и на другие платформы, среди которых, быть может, окажется и Windows. О том, что готовит сама Microsoft в Windows Longhorn, пока остается только догадываться.
Автор: Андрей Письменный
Источник: www.computerra.ru
|