GEM. Теория забытых окон

p-6nau2qddijbyqk0rdezvotkqq.jpeg

Спустя четыре года после того, как в Xerox разработали первую в истории пользовательскую среду с оконным графическим интерфейсом, американская компания Digital Research, Inc. создала собственную оконную платформу, оснащенную практически всеми компонентами, характерными для современных ОС. Если бы колесо истории повернулось в другую сторону, а обстоятельства сложились несколько иначе, она вполне могла бы занять место Windows в мире операционных систем. В сегодняшней историческо-ностальгической статье мы вспомним эту ушедшую и неоправданно забытую технологию.

1985 год. В Интернете зарегистрированы первые домены верхнего уровня: .arpa, .com, .edu, .gb, .gov, .mil, .net, .org, .us, в СССР началась перестройка, Nintendo выпустила легендарные игры Super Mario Bros и Duck Hunt. А еще этот год положил начало новой эпохе: 20 ноября 1985 состоялся релиз графической оболочки для MS-DOS под названием Microsoft Windows 1.01. Но еще за 8 месяцев до этого радостного события, 28 февраля 1985 года, компания Digital Research выпустила на рынок собственную графическую надстройку с оконным интерфейсом для операционной системы CP/M, получившую название Graphics Environment Manager, или, сокращенно, GEM.

Программная среда GEM поддерживала мышь, в ней имелся Рабочий стол, на котором размещались ярлыки сменных и стационарных накопителей, а также ярлык для «виртуального диска» — классического RAM drive, пространства оперативной памяти, динамически выделяемого системой при загрузке машины для размещения системных файлов. Кроме того, в распоряжении пользователя имелась Корзина, а хранящиеся на дисках файлы и папки отображались в виде значков. Оконный менеджер автоматически создавал для запускаемых приложений отдельные окна с настраиваемыми геометрическими размерами, оснащенные кнопками управления и полосами прокрутки. В распоряжении любителей постучать по клавишам имелась командная строка. В общем, все как в винде. Только появился GEM немного раньше. Первыми машинами, на которых успешно работал GEM, были Atari ST на базе процессора Motorola 68000, но позже платформу портировали под Intel 8088, и она дебютировала на IBM-совместимых машинах, в том числе, в версии под DOS.

image
GEM/1

Можно смело сказать, что дизайнерское и функциональное исполнение GEM было очень похоже на интерфейс первой версии MacOS, если не считать ряда незначительных технических отличий. Например, папки в GEM не открывались в новом окне, их содержимое демонстрировалось пользователю в том же окне, в котором до этого отображалась «родительская» директория. Дисковые накопители не определялись в системе автоматически: для того, чтобы отобразить ярлык диска на рабочем столе, нужно было воспользоваться пунктом меню «Install disk drive». Меню «Desk» практически полностью соответствовало такому же пункту в MacOS: помимо всплывающего окна с информацией о текущей версии операционной системы, оно выполняло функции, аналогичные Панели задач в MS Windows, а именно, отображало заголовки всех запущенных в данный момент времени приложений.

Эффекты появления «тени» на фоне всплывающих окон, названий загружаемых приложений, а также псевдотрехмерное обрамление полос прокрутки были удалены из системы по требованию корпорации Apple, которая расценила использование подобных элементов, как прямое нарушение своих авторских прав, поскольку все перечисленные декоративные элементы впервые были реализованы в MacOS, выпущенной в том же 1985 году, но на несколько месяцев раньше. Цветовая палитра отображения окон, рабочего стола и прочих элементов интерфейса GEM поддавалась настройке, причем в составе платформы имелось несколько стандартных цветовых схем. Изменение настроек системы осуществлялось с помощью специальной утилиты, которая носила название «Редактор ресурсов».

image
GEM/1

Для вывода на печать графических изображений в данной платформе использовалась специальная программа Output, создававшая промежуточный метафайл с расширением .gem, который включал последовательность команд формирования рисунка. После подготовки такого файла пользователю предлагалось выбрать используемый в настоящий момент в системе принтер или графопостроитель, указать его настройки, вслед за чем метафайл отправлялся в очередь на печать и выводился через стандартный порт компьютера на печатающее устройство. Не самый просто алгоритм.

Увы, весьма удобный и быстрый для своего времени GEM/1, завоевавший вполне заслуженное признание пользователей и быстро набравший популярность на североамериканском континенте, чрезвычайно не понравился руководителям корпорации Apple, посчитавшим, что Digital Research Inc. украла у них не только саму идею пользовательской оконной среды, но и ее дизайнерско-техническую реализацию. Состоялся громкий, скандальный и позорный судебный процесс, который выиграла компания Apple. GEM/1 был запрещен к дальнейшему распространению, и по решению суда производитель должен был убрать из операционной системы все компоненты, хоть сколько-нибудь напоминающие элементы MacOS. Результатом такого постановления стало появление в 1986 году платформы GEM/2, значительно уступавшей своей предшественнице.

image
GEM/2

GEM/2 работала гораздо менее стабильно и была просто неудобна в использовании. Рабочий стол теперь представлял собой два вытянутых вдоль экрана окна фиксированного размера, оснащенных вертикальными и горизонтальными полосами прокрутки. В верхнем окне отображались подключенные к системе дисковые накопители, нижнее выполняло функции, аналогичные современному Проводнику Windows: в нем отображалось содержимое выбранного в верхнем окне диска. Корзина была удалена с Рабочего стола и вообще отсутствовала в системе.

Сами полосы прокрутки изменились, став значительно уже, пропали практически все эффекты отображения «тени», сместились кнопки управления окнами, а также состав и расположение функциональных меню. Дисководы по-прежнему не подключались к системе автоматически. Стандартные программы, входившие в комплект поставки первой версии GEM, такие как Калькулятор, отображавшиеся в отдельном окне часы и менеджер печати, остались практически без изменений, за исключением того, что утилита Output «научилась» работать с файлом подкачки, что позволяло выводить текстовые и графические элементы на печать в фоновом режиме. Из системных окон по требованию Apple исчезли так называемые радио-кнопки, позволявшие отмечать одну или несколько позиций в предлагаемом списке настроек, они были заменены на непривычные квадратные двумерные кнопки, причем активная опция выделялась страшноватой на вид черной заливкой.

Внесенные в систему изменения были расценены пользователями, как негативные, благодаря чему GEM начал быстро сдавать позиции, утрачивая рынок под натиском только что появившейся Microsoft Windows 1.01. Следует отметить, что первая реализация Windows по своему оформлению тоже недалеко ушла от MacOS, однако Microsoft, в отличие от Digital Research, оказался Apple не по зубам. Положения не спасли ни GEM/3, ни наспех усовершенствованная GEM/4: Windows все увереннее и увереннее вытесняла их с поля битвы. Ситуация несколько изменилась лишь тогда, когда Digital Research выпустила в 1988 году очередную реализацию платформы, которая получила название GEM/5.

image

По своему дизайнерскому оформлению и функциональным возможностям GEM/5 оказался далеко впереди как всех предыдущих реализаций GEM, так и Microsoft Windows версий 1.0, 2.0 и 3.0. Прекрасный и удобный «трехмерный» интерфейс выглядел просто великолепно, практически все средства управления системой были реализованы в подобном исполнении. Двухоконный внешний вид Рабочего стола практически не изменился, однако в него было внесено очевидное разнообразие обилием всевозможных кнопочек и рамочек. Поскольку разработчикам удалось отойти от стандартной палитры VGA, опции многочисленных меню буквально светились нежно-зеленым фосфорицирующим оттенком, несказанно радуя глаз. При щелчке мышью на управляющих элементах окон и меню операционная система демонстрировала эффект «нажатия» кнопок, а сам курсор менялся в зависимости от контекста поля, в котором он находился, но, так или иначе, выглядел красиво и аккуратно.

image
GEM/5

Популярность GEM несколько поползла вверх, эта платформа даже применялась некоторое время в качестве основного графического интерфейса на компьютерах производства GST, но все более расширяющаяся экспансия Windows убила последние надежды разработчиков на светлое будущее для своего детища. Digital Research сдалась, и исходные коды GEM были опубликованы в свободном доступе.

На базе исходных текстов GEM от Digital Research группа независимых энтузиастов разработала в 1999 году бесплатную платформу FreeGEM, созданную на основе версии GEM/3 образца 1987 года. Рабочий стол все также использовал двухоконную систему, но системные окна вновь стало возможным перемещать по экрану, равно как и изменять их размер. Псевдотрехмерное оформление управляющих элементов было частично позаимствовано из GEM/5, оттуда же была «изъята» основная цветовая палитра, однако создателям не удалось выйти за рамки количества цветов, диктуемых стандартом VGA, благодаря чему внешний вид окон и диалоговых меню выглядит объективно хуже. Вернулись на свое «законное место» радио-кнопки, тени и другие элементы, пребывавшие до этого времени под запретом.

image
FreeGEM

В 1990 году компанией Digital Research был выпущен графический менеджер для DRDOS-5, названный ViewMAX/1 и созданный на основе платформы GEM. Однако эта оболочка стала очевидным шагом назад по сравнению с GEM/5. Глядя на ее исполнение, можно смело судить, что разработчики трудились без особого энтузиазма и спустя рукава: оконный менеджер получился не только неудобным, но и откровенно убогим с точки зрения дизайна. ViewMAX/2, входивший в комплект поставки DRDOS-6 в качестве файлового менеджера, получился ничуть не лучше, хотя и включал некоторые визуальные улучшения, вроде «объемных» окон, расширенной цветовой палитры, и возможности отображать древовидную структуру файлов и папок рядом с содержимым текущей папки (а не вместо нее, как это было раньше).

В ViewMAX/3 разработчики планировали вернуть свободно перемещаемые по экрану окна с произвольно изменяемым размером, но этот оконный менеджер так и не был закончен в связи с безвременной кончиной проекта. ViewMAX/3 должнен был стать оконным менеджером для операционной системы «Panther», которая впоследствии была выпущена компанией Novell как сетевая платформа Novell DOS 7. Тексты этой среды были последними исходными кодами операционных систем класса GEM, обнаруженными среди оставшихся в наследство от Digital Research архивов.

Одна из последних реализаций GEM носит название OpenGEM. Как и его прародитель, OpenGEM — это 16-разрядная графическая надстройка над DOS, которая, в частности, может запускаться в среде FreeDOS в качестве файлового менеджера. Исходники OpenGEM распространяются на условиях лицензии GNU General Public License (GPL), их можно найти на SourceForge. А «классическую» платформу GEM пока еще можно скачать на сайтах любителей «компьютерной археологии».

В настоящее время OpenGEM является игрушкой нескольких десятков хакеров и энтузиастов, поставивших своей целью поиск, исследование и совершенствование операционных систем прошлого. Так ушел в историю еще один перспективный проект, который при ином стечении обстоятельств мог бы стать объективной альтернативой всемирно распространенной Microsoft Windows в качестве операционной системы для настольных персональных компьютеров.

oug5kh6sjydt9llengsiebnp40w.png

© Habrahabr.ru