`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Осколки идей

0 
 

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

Большой ballyhoo!

ballyhoo:
1. Шумный, привлекающий внимание разговор; ажиотаж, шумиха, реклама.
2. Напыщенный вздор, бессмыслица, абсурд, чепуха

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

В упомянутом уже 1992 г. корпорация IBM на пике начавшегося в октябре 1991 г. "соглашательского движения" (результатом которого, к слову, является и процессор PowerPC -- детище "октябрьского альянса" IBM--Motorola) подписала соглашение с Apple Сomputer о создании Самой Новой Операционной Системы (СНОС). Кодовое название предшественницы-прототипа СНОС сегодня может напомнить разве что о нынешнем "великом противостоянии" в поп-музыке (Пинк против Бритни Спирс) -- Pink. Тогда же слово Pink в какой-то мере отражало стиль "солидных хиппи" из Apple: облик Pink создавался разработчиками компании в ходе мозгового штурма, при этом для записей идей использовались розовые липкие листочки sticky notes.

К моменту заключения альянса IBM--Apple обе стороны уже имели за плечами опыт создания ОС для растущего как на дрожжах рынка ПК (а именно на него нацеливалось будущее детище): IBM совершенствовала OS/2, Apple же располагала, в лице самого известного "анфан террибль компьютерного мира" Стивена Джобса, доступом к тогда еще весомой NeXTStep. И первая, и вторая системы, которым Соглашение уготовило печальную участь остаться в прошлом, были весьма совершенны, но одновременно с этим техническим и незаметным взгляду рядового потребителя совершенством являли собой, в той или иной степени, образчики поразительного несовершенства рыночных механизмов, используемых в их продвижении и даже в разработке. NeXTStep "бросало" из стороны в сторону так, что этот факт даже увековечен циничной публикацией "Unix Haters Handbook" ("Настольная книга ненавистника Unix", не лишенная справедливости в резких суждениях): то никто толком не знал, как просто правильно... написать название системы в данный момент (NextStep, NeXTstep, NeXTStep, NeXTSTEP или NEXTSTEP ?), то сама компания NeXT, воодушевившись посулами могучей Hewlett-Packard портировать NeXTStep на свою платформу PA-RISC, поспешила объявить о "захвате" 68% рынка Unix-систем, чем, естественно, насторожила HP, и идея портирования так и осталась идеей. Короче говоря, финансовое состояние проектов обеих ОС было слишком далеким от их технического совершенства.

Осколки идей
Элементарный вариант оформления интерфейса информационного киоска или "клубного ПК", внешний вид и функциональность которого могут определяться логином пользователя

Внимательный читатель уже здесь должен уловить некоторое противоречие между столь краткой характеристикой ситуации в момент подписания Соглашения и самим смыслом последнего. Действительно, и для самого автора статьи остается загадкой ответ на примерно такой вопрос: "Зачем, имея на самом деле хороший товар, распространение которого сдерживается исключительно грубыми маркетинговыми ошибками, пытаться сделать новый, еще лучший продукт, а не усовершенствовать механизмы продвижения уже существующего?". Тем более загадочным Соглашение выглядит на фоне вполне предсказуемой в любые времена реакции потребителей "достижений IT-индустрии" на предложение "еще одной ОС" (по результатам опроса, проводившегося Wall Street Journal в середине 90-х годов) -- "на рынке и так много операционных систем, зачем мне еще одна?".

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

Вот теперь настало время самого главного. Проект шутливо названной нами СНОС Pink в действительности являлся "идеологической основой", образовывающей целое из множества частей. А само "множество частей", включающее и собственно Pink, называлось Taligent. Сто пятьдесят разработчиков Apple -- основная команда, ответственная за создание прототипа Pink, приступила к работе в новой структуре -- компании Taligent. К счастью, буквально через год после старта Taligent утратила пыл глобализма, и идея СНОС "пошла под снос": вместо создания "самой-самой операционной системы всех времен и народов" целью компании стало построение мобильной программной прослойки, максимально независимой от операционной системы и обеспечивающей сокращение цикла разработки объектно-ориентированного ПО. Воспользовавшись допустимой аналогией, цели Taligent сегодня можно точно сопоставить с целями Sun в проекте Java. В принципе, ключевые идеи двух разработок очень близки, более того, -- благодаря стойкой приверженности IBM к Java последняя унаследовала массу "запчастей" от Taligent, включая и framework интернационализации ICU (International Components for Unicode). Отличия заключаются в нюансах: Taligent (как программный продукт) не предусматривал необходимости в "еще одном языке программирования" и основывался на набиравшем тогда силы и становившемся mainstream C++. ObjectiveC, с помощью которого разрабатывалась ОС NeXTStep, и был умышленно оставлен "за бортом" именно из-за роста популярности С++.

Надо отметить, что "отрезвление" Taligent хоть и ненадолго, но все же положительно сказалось на судьбе проекта: первые бета-версии программной реализации, получившей название CommonPoint, увидели свет всего через три года после старта. CommonPoint представляла собой действительно мобильную программную систему (она работала под управлением ОС из "параллельных миров" -- Apple OS, OS/2, HP-UX и AIX, впоследствии к ним присоединилась и Windows NT). Состояла она не только из наборов библиотек, образующих множество frameworks (сказался успешный инструментальный опыт NeXTStep), но и включала очень развитые средства проектирования, в том числе и интегрированную среду разработки с кодовым именем Hoops (cpConstructor), реализующую парадигму визуальной компонентной сборки ПО. Но и это далеко не самое интересное в CommonPoint хотя бы потому, что удачных инструментальных средств и мощных компонентных библиотек за прошедшие годы было создано более чем достаточно (что подтверждается почти полным сегодняшним забвением Taligent). По мнению автора, самым ценным в оставленном наследии является опыт безукоризненной проработки глобальной концепции огромного разнопланового программного продукта и его реализация строго в рамках этой концепции. Документация компании Taligent, давно исчезнувшая в недрах породившей ее IBM (это действительно печальная история), бережно сохраненная в CERN, является в своем роде уникальным источником, позволяющим не только увидеть Реальный Опыт очень большого программного проекта без малейших искажений, свойственных "оптике" бравурных пресс-релизов, но и почерпнуть массу на самом деле интересных несвоевременно забытых идей.


Метафора "PPT"

Осколки идей
Оболочка для самых маленьких, использующая в качестве элемента интерфейса компонент броузера без возможности непосредственного ввода URL и несколько кнопок, адресующих детские сайты. В сочетании с правильно настроенным персональным прокси-сервером позволяет полностью оградить детей от нежелательных ресурсов Сети

Наверное, самое интересное в наследии, оставленном Taligent, это идеи, на основе которых строилась интерфейсная часть так никогда и не увидевшей свет в полноценной реализации системы. Вопросу взаимодействия с пользователем в рамках проекта уделялось очень серьезное внимание -- сказался опыт Apple, до сих пор являющейся законодателем мод в этой области. Но... сегодня уже можно считать очевидным один простой факт: высокоразвитый, мощный и гибкий пользовательский интерфейс в коммерческих программах общесистемного назначения, оказывается, "палка о двух концах". С одной стороны -- это и хороший маркетинговый ход, и реальное достоинство продукта, с другой -- все должно быть своевременным. Для того чтобы достоинства интерфейса востребовали и оценили, необходимо выполнение двух условий -- наличие "критической массы" пользователей и достаточный уровень ее подготовки. Мощь, выразительность и гибкость не могут быть исключительными (в том смысле, что единственно присущими) характеристиками чего-либо -- за все приходится расплачиваться. То есть несвоевременно появившееся "программное совершенство", требующее в освоении слишком больших усилий от слишком большого количества людей, может понравиться нескольким или даже многим, но не способно оказать "взрывное" действие на рынок. Вполне вероятно, что и этот фактор сыграл свою роль в неудаче Taligent -- в начале 90-х очевидные сегодня соображения еще просто не сформировались.

Впрочем, сложные вопросы исторического анализа причин неудачи Taligent мы пока отодвинем в сторону, а сконцентрируемся на том, что остается после "отмирания" масштабного программного проекта, -- на идеях. Одной из таких интересных идей является метафора пользовательского интерфейса Taligent, названная в свое время аббревиатурой PPT.

PPT (People, Places, Things, "люди, места, предметы") по сути -- метамодель виртуального мира, в котором суждено "обитать" любому пользователю компьютера. Знакомиться с ней, пожалуй, лучше методом "от противного" -- проследив за логикой анализа разработчиками Taligent "привычных" (привычка предусматривает формирующий ее опыт, поэтому "привычный" и "естественный" никак нельзя считать синонимами) графических интерфейсов. Благо результаты такого анализа сохранились.

"Ключевым достоинством современных графических интерфейсов является их логичность, последовательность, предсказуемость развития и простота использования. Пиктограммы, меню, диалоги и управляющие элементы графически представляют мир, с которым может взаимодействовать пользователь... Метафоры интерфейсов и соглашения по визуальному представлению элементов направлены на сокращение времени изучения новых приложений... -- освоивший базовые концепции окружения пользователь в большинстве случаев может применить накопленные навыки в новой ситуации". Из данной цитаты уже понятно, что большой "р-р-революции" на пользовательском уровне в Taligent делать не собирались -- и это хорошо. "Для разработчиков большинство систем поддержки графического пользовательского интерфейса предоставляют стандартный инструментальный набор интерфейсных элементов... Сама возможность использования этих элементов требует следования правилам разработки, принятым в данной системе, что гарантирует пользователям сохранение актуальности полученных навыков и знаний...". Простая логическая цепочка, благодаря которой GUI стал править миром, замкнулась. В ней, казалось бы, все хорошо и все всех устраивает даже сегодня. Но заглянем в документацию Taligent чуть дальше: "Однако современные графические интерфейсы обладают рядом ограничений, которые снижают продуктивность работы пользователей и ограничивают возможности разработчиков". В начале 90-х годов к таким ограничениям в Taligent относили: "приложениецентрический дизайн" (неологизм-калька с английского application-centric), трудности интеграции различных типов данных, ограничения метафоры "рабочего стола", отсутствие единой формы представления информации о других пользователях, слабую поддержку взаимодействия между ними.

Некоторые из этих заметных уже 10 лет назад недостатков сегодня заслуживают отдельного обсуждения -- хотя бы потому, что мы к ним привыкли.

"Приложениецентрический дизайн" в целом не является характерной "болячкой" программ с графическим пользовательским интерфейсом. Это, скорее, свойство процесса проектирования, навязываемое одновременно особенностями целевой платформы и желанием создать успешный коммерческий продукт (или привлекательный, популярный легально бесплатный). Определение, данное application-centric design во времена Taligent и основанное на факте "есть одно исполнение продукта -- монолитное и один способ убедить пользователей в достоинствах продукта -- feature war (война возможностей), в результате чего появляются слишком большие и трудносопровождаемые программы", сегодня устарело, но вот скрытая в самом термине суть и указанные выше соображения остались актуальными. Как ни странно, во многом из-за... несовершенства метафоры "рабочего стола", вынуждающей даже в компонентной среде для использования части функциональности большой программы активировать ее всю, а не только необходимый компонент. Более того, если проанализировать остальные недостатки "GUI 90-х", окажется, что в современных ОС (например, Windows 2000/XP и Mac OS X) на системном уровне они давно преодолены, но их отголоски ощущаются из-за все тех же ограничений, создаваемых действительно ограниченной метафорой "рабочего стола". Причем ожидать здесь скорых "взрывных" изменений не стоит, хотя и время чрезмерной настороженности по отношению к массовому потребителю уходит в прошлое (что подтверждается совершенствованием базового GUI Windows XP и Mac OS X). По-видимому, даже несмотря на успех в формировании "критической массы" пользователей с несомненно возросшим средним уровнем подготовки, большие игроки не хотят повторять ошибок Taligent, и нас ждут изменения "в рамках разумного оптимизма".

Итак, со взглядом Taligent на недостатки GUI мы кратко ознакомились, остается только выделить из предпринятой проектом Taligent попытки те зерна рациональности, ради которых автор привлек внимание читателя к "делам давно минувших дней". И здесь наиболее интересным является тонкий нюанс метафоры PPT, а именно -- "активность" всех экранных объектов. Такое емкое понятие на деле означает, что абсолютно все элементы пользовательского интерфейса становятся полноценными универсальными программными объектами, обладающими собственной расширяемой функциональностью, причем получение "прибавочной функциональности" возможно как разработчиком системного или прикладного ПО, так и непосредственно пользователем. В интерфейсных подсистемах современных ОС эта идея реализована "почти так", но все же "не совсем так".

Авторы Taligent, как понятно из аббревиатуры PPT, разделяли множество экранных объектов на три основных класса, отвечающих за представление "людей" (для удобства использования коммуникационных возможностей компьютеров), "предметов" (для максимального сокращения дистанции между компьютеризированным и традиционным рабочими местами) и "мест" (являющихся объектами-интеграторами, объединяющими "людей" и "предметы" в удобное и уникальное для пользователя окружение). Сегодняшние штатные десктопы операционных систем позволяют при некоторых усилиях создавать неплохие имитации PPT, но все-таки это будут имитации. Одно дело, когда человек видит перед собой, например, обыкновенный рабочий стол с уложенными бумагами, блокнотом и даже телефоном и, наведя курсор мышки на папку с бумагами, выбирает нужную, "перетягивает" ее на изображение телефона, которое автоматически активирует выбор абонента, предоставив меню с фотографиями знакомых и коллег, и совсем другое -- "рытье" в файловой системе, вызов почтового клиента и прочие привычные уже операции...

Наступило самое подходящее время ответить на один "нехороший" вопрос: а может быть, реализация метафоры PPT никому и не нужна, раз о ней никто не говорит и не вспоминает? Естественно, как явление всеобщее и всеохватывающее, PPT-десктоп, вероятнее всего, необходим только небольшой прослойке пользователей, которую можно назвать "экстремальными перфекционистами", но есть целые сферы применения компьютеров, где возможности метафоры PPT подходят для решаемых задач идеально. Это, конечно же, разнообразные информационные киоски и терминалы общественного пользования, специализированные терминальные машины в системах управления, школьные ПК (почему бы и нет? -- особенно в роли "классных информаторов" для младших школьников) -- читатель может самостоятельно продолжить этот далеко не полный список.


PPT жива!

Осколки идей
Технологические элементы среды разработки DesktopX -- броузер объектов, настройки свойств объекта, управление плагинами

К счастью, существует не одна реализация метафоры PPT для современных ОС, но, выбирая из весьма обширного перечня, автор остановился на программе DesktopX компании Stardock. Несмотря на коммерческий характер, DesktopX имеет очень невысокую цену (менее $20) и активно развивается -- сказывается масштаб мира пользователей ОС Windows, в котором даже узкая прослойка "перфекционистов" насчитывает сотни тысяч пользователей. Учитывая перспективность применения PPT-десктопа в специализированных областях, скромную стоимость DesktopX можно вообще не принимать во внимание, а вот потенциальные возможности программы превосходят все ожидания, даже несмотря на некоторую ее "несерьезность" (продукты Stardock чаще ассоциируются с совершенно необязательным "украшательством" ОС Windows, чем с существенным расширением функциональности).

Итак, DesktopX... назвать одним словом эту сравнительно скромных размеров разработку трудно: она объединяет в себе инструментарий создателя "миров PPT", механизмы интеграции экранных объектов в компонентную среду ОС Windows и WSH (Windows Scripting Host -- поддержка скриптинга) и одновременно является платформой, реализующей "конечный продукт PPT" -- уникальный специализированный активный десктоп. При всем этом DesktopX выполняется в "щадящем режиме" -- она не заменяет стандартную пользовательскую оболочку Windows, но видоизменяет ее, можно сказать, до неузнаваемости.

Основа DesktopX в полном соответствии с метафорой PPT -- экранные объекты. По сути -- это статические или анимированные "картинки" (для анимации используется самый простой механизм -- последовательность различных статических изображений) с ассоциированными действиями. Создание объекта DesktopX -- процесс элементарный, осуществляемый с помощью соответствующих "магов" (wizards) встроенной интегрированной среды разработки и любого стороннего графического редактора. Система предусматривает более двадцати встроенных типов (классов) объектов, описывающих поведенческую специфику, возможно и создание собственных классов. Объекты имеют разнообразные атрибуты, в том числе характеристики положения в экранной области (как по горизонтальной и вертикальной координатам, так и по "глубине"), существуют "метаобъекты"-группы, где более удобно оперировать относительным расположением объектов. В "поведенческой" части объекты характеризуются задаваемыми пользователями реакциями на системные сообщения о событиях (перечень которых -- типовой для практически всех современных GUI -- "наезд" курсора мыши на объект, нажатие клавиш мыши и т. д.). Более того, объекты DesktopX обладают полноценным свойством полиморфизма -- они допускают множественное представление в зависимости от текущего пользователя. Полиморфизм и обеспечивает реализацию "ролевого интерфейса" (в котором интерфейс определяется ролью, "играемой" в данный момент времени пользователем), и позволяет эффективно утилизировать возможности одного ПК при использовании совершенно разными людьми.

Но порой шокирующие визуальные эффекты DesktopX на самом деле ничто по сравнению с предоставляемой системой функциональностью. Задание реакций объектов на сообщения о событиях с помощью WSH-скриптов открывает очень интересные возможности, естественно, при должной степени профессионализма "пользователя" (именно поэтому автор считает DesktopX средой разработки). "Вооружившись" каким-нибудь COM-анализатором или встроенными средствами Visual Basic, можно создавать по-настоящему Активные экранные объекты, использующие только необходимые для выполнения ассоциированных с ними действий компоненты программ. По крайней мере, экспериментальная проверка создания экранного объекта, трансформирующего "затянутые" в него операцией drag'n'drop документы Microsoft Office и html-страницы в pdf-файлы (с помощью компонентов Adobe Acrobat), показала, что полученное в результате "нечто" очень удобно в использовании. Кроме скриптовых возможностей, DesktopX предоставляет собственный API для сторонних разработчиков быстрых бинарных компонентов.

Документация на DesktopX более чем хороша и "прозрачна", а срок распространения триальной версии вполне приемлем для освоения программы, поэтому вдаваться в детали и нюансы мы не будем, единственное, о чем целесообразно упомянуть в коротком рассказе о данной программе, -- это надежность. "Издевательски-ознакомительная" эксплуатация ее в течение пары месяцев не выявила никаких особо неприятных моментов, излюбленный автором "временной стресс-тест" (запуск максимального количества приложений, включая "тестируемое" как минимум на сутки) не позволил обнаружить "утечек" памяти и "интерференций", а в целом DesktopX успешно проработала более месяца на ПК под управлением Windows 2000 без единой перезагрузки. Учитывая, что мы говорим об этой программе как о перспективной в специализированных (т. е. используемых с минимальным обслуживанием) компьютерах, подобные сведения не кажутся излишними.

0 
 

Напечатать Отправить другу

Читайте также

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT