Развитие RIA-технологий – широкая тема, полное освещение которой не втиснуть в рамки журнальной статьи. Это явление сопровождается шквалом оригинальных идей, нацеленных на завоевание умов и сердец массового пользователя, а мы сконцентрируемся на одном из его аспектов. Речь пойдет о подкупающей простоте, присущей концепциям и интерфейсам современных RIA-проектов. По-видимому, не за горами то время, когда они станут настолько доступными, что буквально каждому захочется создавать с их помощью свои собственные RIA...
Известно: простота – хуже воровства. Но с другой стороны: все гениальное – просто.
Интерактивный перечень любимых фильмов в стиле RIA – визитная карточка синефила |
* В переводе с «языка» ИТ-аббревиатур это означает: «Rich Internet Application? Do It Yourself!». |
На фоне присущих ИТ тенденций к усложнению простота – достоинство, традиционно внушающее подозрения (один из законов Мэрфи гласит: «Создайте инструмент, которым может пользоваться любой дурак, и лишь дурак захочет им пользоваться»). Однако интуитивность интерфейса (к примеру, как у iPod) – важнейший приоритет любого разработчика.
Итак, простота может быть злом или благом в зависимости от обстоятельств. Но в Интернете, где важнейшим строительным материалом является информация, порождаемая пользователем (User Generated Content, или UGC), простота – не просто благо, но необходимое условие выживания: всякая новинка, подкупившая рядового серфера простотой своей концепции и интерфейса, получает высокий и стабильный приток UGC, а ее конкуренты – отбраковываются.
Рассмотрим же ряд RIA именно с такими характеристиками, начав с одного из самых наглядных примеров.
«Скажи мне, с кем ты дружишь (а также что ты ешь, какие фильмы смотришь и т. д.), – и я скажу, кто ты». Ряд психологических школ воспринимает эту поговорку всерьез и низводит понятие личности до набора личных предпочтений. Такое упрощение играет важную роль в социально-экономическом моделировании и, конечно же, в работе социальных сетей. Подобно матери-природе, объединяющей муравьев в муравейники на основании сходства выделяемых ими феромонов, социальные сети группируют своих участников исходя из близости их предпочтений, и потому привлекательно оформленный список любимых фильмов – не менее важный компонент виртуальной личности, чем фотопортрет с биографическими данными.
Упрочивая свое и без того прочное лидерское положение, администрация кинопортала International Movie Data Base предоставляет всем желающим инструмент для создания веб-виджетов, нажатием кнопки встраиваемых в популярные платформы социальных сетей и блогов.
Интерфейс редактора виджетов sproutbuilder, построенный на основе технологии Flex от Adobe, не лишен досадных изъянов – в нем, например, начисто отсутствует кириллизация |
Этот DIY-RIA-инструмент позволяет составлять списки фильмов, характеризуемых набором ключевых слов (анализ которых поручается нетребовательной к синтаксису поисковой системе imdb). Таким образом, любой блоггер-дилетант в течение пяти минут справляется с задачей, решение которой «с нуля» поглотило бы целый рабочий день профессионального Flash/Flex-дизайнера. При этом полученный список автоматически форматируется, не занимает много места в окне браузера (поддерживается прокрутка), позволяет в интерактивном режиме просматривать постеры и краткие сведения о фильмах, а также переходить по соответствующим им ссылкам, потребляет минимум ресурсов. Последнее качество – следствие того, что информационное наполнение каждого экземпляра виджета состоит всего лишь из нескольких чисел, являющихся индексами в глобальной базе imdb.
Идеи веб-виджетов, кочующих из одного блога в другой, «заражают» сознание пользователей подобно инфекции, и потому их способ размножения часто называют «вирусным». При этом своеобразным «репродуктивным органом» служит кнопка Get this widget, нажатие на которую загружает в окно браузера инструмент для создания очередной копии.
Мода на виджеты, смещающие по мере своего распространения веб-дизайн в сторону RIA и успешно рекламирующие RIA-инструменты для своего собственного воспроизводства – экспансивный процесс с положительной обратной связью и труднопрогнозируемой динамикой. Момент, в который удельный вес RIA-технологий в Интернете достигнет некоторой критической массы (в предсказаниях Рэя Курцвейла называемый «точкой сингулярности»), может вызвать стремительную цепную реакцию, в результате чего традиционные приложения быстро превратятся в анахронизм.
Виджеты стартапа sproutbuilder.com, само название которого (sprout переводится как рассада) располагает к углублению биологической метафоры, имеют более универсальное назначение и, соответственно, более развитый инструментарий для создания. Тем не менее освоиться с ним можно за пару десятков минут. Рабочее пространство онлайнового редактора sprout-виджетов разделено на три зоны, обычные для подобного Photoshop ПО и визуальных сред программирования: слева находятся палитры инструментов и компонентов; в центре – «холст», куда их можно перетаскивать; справа – панели для редактирования их свойств (впрочем, кроме расположенного сверху меню, все блоки можно перемещать по экрану).
Помимо стандартных графических примитивов и интерфейсных элементов имеется и несколько более примечательных компонентов:
Имеются и другие стимулирующие креативность объекты, ассортимент которых, согласно заверениям разработчиков, будет постоянно пополняться (кроме того, в скором будущем обещается выпуск SDK для создания своих собственных компонентов).
Искателям творческого вдохновения предоставляется галерея наиболее удачных виджетов, пригодных для использования в качестве «заготовок», а честолюбцам и разработчикам с коммерческой жилкой – инструменты слежения за процессом распространения их детищ в Интернете.
Однако некоторые ограничения затрудняют применение sproutbuilder для разработки полноэкранных RIA – например, «холст» имеет фиксированный размер, не превосходящий 1024×1024. Возможно, введены они преднамеренно с целью стимулирования среди пользователей коммерческой активности (ведь если виджет от imdb служит делу популяризации самого imdb, то виджеты от sproutbuilder и подобных ему провайдеров пригодны для продвижения чего угодно, что, конечно, очень импонирует маркетологам).
Но что отличает sproutbuilder от традиционных офлайновых редакторов флэш-приложений?
Во-первых, освобождение пользователя от хлопот, связанных с установкой и обновлением ПО, а также потенциальная возможность организации распределенной работы – словом, все те преимущества, что отстаивались в 1990-х гг. идеологами Netscape, пророчившими скорое превращение ПК в тонкие клиенты. Нынешние тенденции показывают, что несвоевременные и неточные их прогнозы в целом все же сбываются – неслучайно с выходом RIA-платформы AIR глава Adobe Брюс Чизен (Bruce Chizen) пообещал, что в течение предстоящего десятилетия все продукты компании станут доступны в онлайне.
Во-вторых, онлайновым редакторам присущи подкупающая простота и отсутствие избыточной, ненужной рядовым пользователям функциональности. Это – достоинства, которые не могут себе позволить производители традиционных тяжеловесных пакетов, ожесточенно конкурирующих между собой за профессионалов. В противоположность им Sproutbuilder – среда не для коммерческой разработки, а, главным образом, для приятного времяпрепровождения.
Впрочем, простота и дилетантизм – отнюдь не синонимы: разве не простота поискового сервиса Google стала одним из факторов его взлета? «Игрушечные» онлайновые приложения не стоит недооценивать – они вот-вот наступят на пятки многим своим «серьезным» офлайновым прототипам.
Последний тезис прекрасно подтверждают проекты, имитирующие традиционные офисные приложения. Некоторые наиболее интересные уже попадали на страницы «Компьютерного Обозрения», но, поверьте, список их практически нескончаем! Ведь в Интернете допускаются самые смелые эксперименты – можно даже попытаться привлечь внимание пользователя заведомо меньшей, чем у конкурентов, функциональностью (а значит, большей простотой).
Приз авторских симпатий принадлежит текстовому редактору Zoho Writer, обладающему настолько быстрым интерфейсом и столь тщательно воспроизводящему функциональность Microsoft Word, что очень скоро забываешь о том, что находишься в онлайне. К тому же в случае обрыва связи он позволяет продолжить работу с документом (это же вскоре обещает и Google Docs), а это особенно актуально для мобильных пользователей. Для блоггеров решающим аргументом в пользу Zoho Writer могут оказаться возможности публикации новых записей и редактирование старых в LiveJournal.
Кстати, о блогах: эволюционный характер развития онлайновых приложений сделал их наиболее естественным средством общения разработчиков с пользователями. Большинство вышеупомянутых проектов, помимо традиционного форума технической поддержки, имеют собственный блог, значение которого не ограничивается ролью виртуальной книги жалоб и предложений. Там разработчики зондируют отношение сообщества как к планируемым, так и к уже реализованным нововведениям, размещают обучающие видеоматериалы и побуждают пользователей к взаимному обмену опытом.
Пример высокой оперативности интернет-среды – едва ли не одновременное появление в нескольких онлайновых графических редакторах функции осветления желтых зубов (наряду с устранением эффекта «красных глаз»). Кстати, это сравнительно новый класс RIA, где приблизительно из дюжины проектов, доступных в момент написания статьи, уже выделяются:
Наконец, никак невозможно обойти вниманием интригующий проект под названием Aviary (т. е. «птичник»), включающий 18 (!) приложений, охватывающих едва ли не все практикуемые с помощью ПК способы самовыражения. Посетителям сайта a.viary.com предлагаются: векторный графический редактор Raven; 3D-редактор Hummingbird; аудиоредактор Myna; генератор музыки Roc; редактор нелинейного монтажа Starling; редактор Penguin, «ориентированный на креативную работу с текстом»; генератор ландшафтов Tern; редактор шрифтов Horus; «биржа» цифрового мультимедийного контента Hawk и т. д. В настоящее время проект находится в фазе закрытого бета-тестирования, участникам которого предоставляется возможность опробовать только два приложения: Photoshop-подобный растровый редактор Phoenix и генератор текстур Peacock. Файлы, которыми можно обмениваться друг с другом в среде Aviary, будут содержать детальную информацию о своем происхождении, что позволит полностью автоматизировать соблюдение авторских прав в этой отдельно взятой области Интернета.
Впрочем, RIA вторгаются не только на исконную территорию традиционных приложений, они способны сообщить новые качества и различным онлайновым службам.
Эта неожиданная формула породила как минимум два проекта – Searchme и Tafiti.
Первый демонстрирует найденные страницы с выделенными ключевыми словами, как бы парящими в 3D-пространстве (зрелище, привычное пользователям последних версий Mac OS X). Дополнительное отличие этого поискового сервиса – функция лексической классификации, отделяющая автомобили «Чайка» от одноименных птиц, спектаклей и шоколадок. При этом пара минут работы с Searchme вполне могут «съесть» несколько мегабайтов трафика для пересылки изображений. Налицо некоторое противоречие между довольно высокими запросами к скорости доступа и стремлением разгрузить сеть, мотивировавшим развитие RIA-технологий на начальных этапах. К моменту написания статьи проект находился в стадии закрытого бета-тестирования, а объем базы проиндексированных документов исчислялся относительно скромным миллиардом страниц.
В свою очередь Tafiti (на суахили это означает «исследовать») представляет собой RIA-надстройку над поисковой машиной MSN, угождающую вкусам пожилых пользователей (кого еще может привлечь фотореалистичное изображение газетных вырезок?), а попутно демонстрирующую возможности активно продвигаемой Microsoft технологии Silverlight (т. е. для экспериментов потребуется соответствующий подключаемый модуль). Конечно, популярность Silverlight пока не идет ни в какое сравнение с Adobe Flash (2–3% интернет-аудитории против 98%), однако она довольно молода, и к тому же у Microsoft имеется множество рычагов влияния на рынок.
Вообще, выход редмондского гиганта на арену борьбы между AJAX и Flash/Flex свидетельствует, что RIA-технологии перерастают сферу развлекательных и экспериментальных приложений и становятся серьезным бизнесом. Вроде виртуального гламурного журнала top4top.ru, рекламный бюджет которого, по слухам, составляет 15 млн долл., а штат журналистов и редакторов – 150 человек. Или проекта mos2.ru, представляющего собой гибрид векторной картографической системы с социальной сетью. Все еще сомневаетесь? Тогда стоит взглянуть на...
Флагманское интерактивное приложение Temple, демонстрирующее возможности Away3D (), выглядит довольно старомодно – хотя вынужденный отказ от использования GPU заставляет разработчиков бороться за эффективность каждой строчки кода, им все же не удается добиться интерактивной визуализации сцен, состоящей более чем из пары десятков тысяч полигонов. Между тем по принятым в современной игровой индустрии меркам это – сложность модели одного-единственного второстепенного персонажа |
Показательным примером в данной области может служить DIY-проект Coghead (coghead.com), недавно отметившийся выходом версии 2.0 и миграцией оболочки с AJAX на Flex. Он представляет собой IDE с WYSIWYG интерфейсом и поддержкой drag-and-drop, позволяющую предпринимателям разрабатывать и использовать (в некоторых случаях не вводя ни одной строчки кода и не платя ни единого цента) умеренно сложные программы для нужд своего бизнеса. Впрочем, коммерческие инициативы пользователей также всячески приветствуются администрацией Coghead во главе с бывшим руководителем компании Red Hat Полом Макнамарой (Paul McNamara).
Галерея «заготовок», которые можно брать за основу при создании собственных приложений, включает системы управления взаимодействием с клиентами, учета финансовых расходов, управления процессом разработки ПО, базу данных кадрового отдела и т. п.
Готовые решения (как и данные, с которыми они манипулируют) размещаются на устойчивом кластере серверов Amazon – это обстоятельство призвано успокоить тех, кто озабочен возможностью утраты критически важной информации. Для обозначения столь радикально оторванных от аппаратной базы пользователя деловых приложений в материалах Coghead применяются неологизмы webware и coglet. Последний представляет собой род виджета, позволяющий встраивать интерфейс приложения в любую веб-страницу.
Увядание Shockwave 3D от Macromedia/Adobe, а также различных проектов на основе VRML обусловлено многими факторами. Вероятно, отчасти им не повезло из-за того, что они слишком опередили свое время. Как бы то ни было, в сегодняшних условиях, когда ни одна из распространенных RIA-технологий не поддерживает аппаратной 3D-акселерации, разработчику, желающему придать интерфейсу своего приложения трехмерность, остается реализовать ее программными средствами. Наиболее распространенный подход состоит в применении Flash/Flex 3D-платформы Away3D или аналогичных ей. Правда, результирующее качество графики не превосходит смехотворного по нынешним меркам уровня Quake One 12-летней давности.
Однако сейчас для внедрения полноценных 3D-элементов в веб-интерфейсы созрели все необходимые предпосылки. По мнению экспертов, вопрос уже не в том, будет ли аппаратная акселерация поддерживаться очередными версиями RIA-технологий, а в том, насколько полно она будет реализована. Очевидно, что придется искать некий компромисс между производительностью и демократичностью: ведь страница, задействующая всю мощь графической карты современного игрового компьютера, рискует оказаться недоступной для пользователя мобильного устройства со скромным (а то и вовсе отсутствующим) GPU. Предусмотрительность, которую сегодня проявляют в этом направлении Microsoft и Adobe, в значительной мере определяет расстановку сил между Silverlight и Flex в долговременной перспективе.
Сайт scene.org – мекка демо-мейкеров, т. е. программистов, самовыражающихся на поприще компактных и зрелищных приложений для ПК. Творения энтузиастов довольно объективно отражают мультимедийные возможности доступных им аппаратно-программных средств (и потому нередко включаются в различные пакеты для тестирования системной производительности).
Результаты же творчества их собратьев с flashscene.org, предпочитающих создавать веб-приложения, разительно напоминают происходившее на демо-сцене примерно десятью годами ранее.
С другой стороны, в истории развития ПК-интерфейсов можно условно выделить четыре вехи:
Веб-интерфейсы прошли пунк-ты 1–3 примерно с десятилетним запаздыванием, так что наблюдаемый ныне всплеск интереса к RIA можно считать признаком их исторически закономерного вступления в четвертую фазу. Это еще одна причина не доверять мнению тех, кто считает RIA лишь маркетинговым словом-паразитом и преходящим капризом моды.
Тяга к самовыражению в ходе коллективного творчества – основное психологическое «топливо» Open Source движения. Жажда конструктивной деятельности, годами запертая в пределах сообществ профессиональных программистов-нонконформистов, благодаря распространению DIY-RIA-проектов вот-вот вырвется на свободу и охватит рядовых пользователей интернета. На фото – участники международного проекта Away3d, возглавляемого киевлянином Александром Задорожным (в центре). Активно развивающаяся открытая платформа Away3d, позволяющая задействовать Flash/Flex для построения трехмерных RIA, в последнее время успешно теснит конкурентов (в частности, PaperVision3d.org и FlashSandy.org). Недавно Александру удалось заключить стратегически важные партнерские соглашения с компаниями Strata и Worth1000: первая будет использовать платформу Away3d для интеграции популярных графических 3D-пакетов с веб-дизайнерскими приложениями, а вторая положит ее в основу онлайнового 3D-редактора Hummingbird, входящего в состав чрезвычайно амбициозного RIA-пакета Aviary.
На иллюстрации – демонстрация возможностей изометрического движка Alternativa3D (позволяющего создавать для браузеров игры в стиле Diablo) Антона Волкова. Стоит отметить, что на переднем крае развития RIA вообще звучит непропорционально много славянских имен: Алексей Гаврилов – разработчик самого цитируемого в интернете сравнительного теста производительности RIA-технологий; Дмитрий Свиридов – автор анимационной библиотеки для Flash/Flex 3D-приложений Cast3d.
Недавно Украина стала одной из нескольких десятков стран, где действуют официально поддерживаемые Adobe группы Flash/Flex-разработчиков – 15–18 марта в Харькове состоялась учредительная конференция UAFPUG (Ukrainian Adobe Flash Platform User Group).