Project Looking Glass: новое измерение пользовательского интерфейса
Арсений Чеботарёв,
Основанный на технологии Java, проект Looking Glass Project предоставляет новую парадигму пользовательского интерфейса, которая может изменить наше общение с компьютером
Не секрет, что оконная система пользовательского интерфейса, некогда "изобретенная" в лабораториях Xerox, за последние двадцать лет практически не претерпела изменений, перекочевав во все известные операционные системы - начиная с Macintosh и MS Windows и заканчивая Unix и Linux, которые, как известно, не более "графические", чем Windows 3.11.
Когда создавался оконный графический интерфейс, была использована метафора рабочего стола с расположенными на нем документами, которые могли быть свернуты, раскрыты или отсортированы. Конечно, преемственность и согласованность интерфейса - это большое преимущество, и вряд ли стоит поощрять разработку множества "видений" одних и тех же графических примитивов. Движение пользователей к единому внешнему виду и согласованному поведению элементов управления явно дает себя знать в такой свободной для идей среде, как Linux, где после многих лет засилья альтернативных вариантов все-таки установился единый "Windows-alike" стандарт де-факто.
Другое дело - те возможности, которые раньше вообще не могли быть реализованы в реальном времени. В частности, элементы динамической (real 3D) анимации, альфа-канал (прозрачность), масштабирование элементов управления, поворот элементов сцены ит.д. Недостаток сегодняшних пользовательских интерфейсов: они, словно нарочно, игнорируют возможности аппаратных графических акселераторов, обращаясь к ним за отрисовкой только самых "примитивных примитивов", а то и вовсе выполняя всю работу в режиме framebuffer на главном процессоре и передавая в графический процессор уже готовые сцены. Достаточно обоснованно такое было лет пять назад, когда графические акселераторы были установлены лишь на некоторых, но далеко не на всех рабочих станциях.
Сегодня же ситуация прямо противоположная: сложнее найти рабочую станцию без графического ускорителя, чем наоборот. В то же время, обычные пользователи лишены доступа к этим возможностям за пределами компьютерных игр. Несколько лучше дело обстоит в мире Macintosh и MS Windows, где приложения могут получать доступ к функциям аппаратного 3D-рендеринга с помощью "тулбоксов" и библиотеки Direct X. Однако все это по-прежнему относится к приложениям - но не к оконной системе.
В мире Unix-подобных систем ситуация еще более далека от совершенства: все способы "достучаться" до графики (не считая смелой Linux-инициативы DRI, нацеленной на встраивание графики в ядро системы) крайне опосредованны и вряд ли затрагивают основы пользовательского интерфейса. Можно сказать, что установилась парадоксальная ситуация: как новые, так и уже распространенные оконные системы состязаются в минимализме, избегая использования аппаратных акселераторов - и используя неэффективные способы реализации графических эффектов, давно уже заложенных в "железо".
Конечно, чтобы переломить силу стереотипов, простого желания недостаточно - нужно иметь определенный вес в мире компьютинга. Такой, например, каким обладает компания Sun Microsystems. Ее стратегическая инициатива Project Looking Glass как раз и призвана объединить три передовые технологии - трехмерную компьютерную графику, язык Java и новые приложения - в "иную" пользовательскую оконную оболочку.
Проект пока еще в начальной стадии разработки, но уже создано несколько работающих прототипов будущей оболочки.