Архив ‘AIR’

SwitchBoard - новые возможности AIR-приложений

Вторник, 17 Июнь, 2008

SwitchBoard - новая технология от Adobe, которая позволяет AIR-приложениям получать доступ к приложениям из пакета CS3. Технология, если я не ошибаюсь, очень похожа на COM - например, в Delphi-программе можно создать объект - приложение Word и проделать некие трюки с Word-документами. Видимо, что-то похожее нас ожидает и от Adobe, что довольно приятно и позволит найти AIR-приложениям гораздо более широкую область применения.

Приколы анекдоты

Каждому юзеру, который захочет использовать AIR-приложение со SwitchBoard, нужно будет поставить небольшое дополнение. Для разработчика создана соответствующая библиотека SwitchBoard.swс.

Все это богатство доступно на сайте Adobe Labs + там же есть пара примеров (для InDesign и Photoshop). Пример для Фотошопа конвертирует изображение в PNG. Там же доступна ссылка на документацию к написанию скриптов для Фотошопа и некоторых других приложений CS3. Для Flash CS3, к сожалению, скриптов вроде не предусмотрено, во всяком случае, мне найти не удалось.

Чуть не забыл: сама технология в бете, так что пользуйтесь осторожно :)

Apollo Desktop Photos 1.2

Среда, 27 Февраль, 2008

Ну, что можно сказать - ура, вышел AIR 1.0! Теперь можно писать приложения, не опасаясь за их дальнейшую судьбу - а именно, что придет время, когда не будут работать бета-версии рантаймов. Так что если кто не знает - необходимо обновить свои приложения!

Картинки на телефон

Приятно, что хотя финальная версия вышла только в понедельник, Claus Wahlers уже обновил свою библиотеку AIR Remote Updater для удаленного автообновления программ. Кстати, если будете писать AIR-приложения, очень советую - пользовать довольно удобно.

В свою очередь, я обновил свой небольшой фотобраузер, который пишу аж с тех далеких времен, когда AIR называлась словом Apollo и была в альфа-версии. Автообновление поддерживается :)

Скачать Apollo Desktop Photos 1.2

Скачать Adobe Integrated Runtime (AIR) 1.0 

Распределенные вычисления “нахаляву”

Пятница, 8 Февраль, 2008

Навеяно http://stary71.livejournal.com/5875.html и постом Роста “Две идеи на мильон”. Несмотря на то, что я буду немножко критиковать вышеупомянутые идеи, для меня это всего лишь повод рассказать о моих реальных приключениях на ниве распределенных вычислений.

Итак, идея. Есть ОЧЕНЬ БОЛЬШОЙ объем вычислений, который можно распараллелить для их исполнения на множестве машин. Соответственно, тот, кому надо эти вычисления выполнить, согласен за это заплатить. Как это можно использовать:

1. Продавать в MMORPG время машин юзеров, которые в неё играют, и таким образом окупать игру.

2. Заставить считать сложные вычисления флеш-баннеры.

Радует, что идеи очень позитивные и оригинальные :)

Начнем с того, что есть. А есть открытая (Open Source) платформа BOINC от института Berkeley, которая позволяет производить распределенные вычисления на разных машинах. Лично я принимал участие в проекте Rosetta@home в команде TSC! Russia.

Платформа имеет клиент-серверную архитектуру. Сервер раздает задания, клиент их выполняет, в порядке очереди. Особое внимание стоит уделить тому, что просчет одного задания занимает в районе нескольких часов (первое ограничение для флеш-баннеров).

Во-вторых, BOINC-платформа исполняет native-код. В свое время, во время курса “Параллельная обработка данных” мне засела в голову мысль, что можно написать более удобную платформу, чем BOINC, а именно, на базе AIR. Главным преимуществом могли стать система автообновления, встроенные примитивы для работы с сетевыми протоколами, а также универсальный клиент для разных операционных систем.

Увы, первые же эксперименты меня серьезно отрезвили. В качестве задачи была взят взлом MD5-хеша (задача: дан MD5-хеш от строки, найти строку. Решается полным перебором, обратная функция на данный день неизвестна). Задача очень легко параллелится.

Native-программа, которую я взял для сравнения, считала хеши в 1000(!) раз быстрее, чем написанная мною на AIR. Т.е. при распределенных вычислениях, когда основной проблемой является привлечение пользователей, мне для достижения той же эффективности, что и BOINC, придется привлечь в 1000 раз больше пользователей. Нереально :( Но если AS3-машину еще улучшат, я попробую :)

И, наконец, третье. Я уже упоминал, что свои вычисления проводил в рамках некоей команды (TSC! Russia). За вычисления в системе дают некоторые очки, которые создают спортивный момент мероприятия. Последнее - немаловажный фактор, благодаря чему отдельные люди объединяются в команды. Соответственно, наиболее рьяные вычислители, чтобы получить побольше очков, подключают все машины, которые находятся в их ведении, например, на работе или в институте, когда машины простаивают. И, насколько я мог судить, именно эти машины обеспечивают главную долю вычислительных ресурсов. Увы, если я прав, вариант с MMORPG тоже отпадает.

Ну, и наконец, сладкое. Считал я в Rosetta@home дней 7, подключил две машины, наслаждался вкладом в общемировой прогресс :) Однако в один прекрасный день из-за Розетты обе мои машины свалились в “синий экран смерти”, причем, благодаря тому, что программа прописалась в автозагрузке, на сервере пришлось “выковыривать” её в Safe-режиме. После чего я её благополучно удалил.

Apollo Desktop Photos 1.1.2

Пятница, 12 Октябрь, 2007

В связи с недавним выходом Flex Builder 3 beta 2 и AIR beta 2 пришлось вновь обновлять приложение.

С одной стороны, выход AIR beta 2 безусловно порадовал, ибо в Adobe поработали над отображением картинок внутри соответствующего компонента. Результат -в приложении превьюшки фотографий создаются быстрее, при этом едят меньше памяти, и автоматически используют сглаживание.

На второе я чуть ли не разозлился (цитата из AIR beta 2 release notes):

Beta 1 applications Seamless Installation after you have installed Beta 2

Trying to install Beta 1 applications through Seamless installation once you have installed Beta 2 will fail. You will need to update your Beta 1 applications to Beta 2 for Seamless installation.

Не знаю, как вам, а мне показалось, что обновлять приложение до версии, созданной в Beta 2 придется вручную. Но практика показала, что все не так плохо, а даже хорошо - приложение просто взяло и обновилось (с версии 1.1 до 1.1.2 на сайте). Так что видимо, имелось ввиду следующее:

Вы можете плавно (seamless) обновлять приложение только, если очередная версия будет создана в Beta 2. Обновляться до версий, созданных в Beta 1, плавно нельзя.

Так что все закончилось хорошо - производительность повысилась, AIR Remote Updater обновился до совместимости с Beta 2, обновление работает. А вот и новая версия:

Apollo Desktop Photos 1.1.2

Apollo Desktop Photos 1.1

Воскресенье, 16 Сентябрь, 2007

Обнаружил недавно AS3-класс, позволяющий автоматизировать обновление AIR-приложений: Air Remote Updater.

Приятное: класс использует библиотеку FZip от того же автора, что позволяет обойтись без серверного скрипта для проверки версии приложения: для обновления загружается только небольшой кусок AIR-файла, который по сути является ZIP-архивом, пока класс сможет узнать версию приложения, распаковав загруженную часть архива. После сравнения версий, очевидно, можно узнать, нужно ли продолжать обновление. Кроме того, для работы этой штучки не нужно никаких серверных скриптов.

Конечно, я не мог пройти мимо такой игрушки и попытался встроить её в свое на настоящий момент самое продвинутое AIR-приложение - Apollo Desktop Photos. Что успешно и сделал.

Для тестирования рекомендую скачать неопубликованный релиз: Apollo Desktop Photos 1.0.5, а затем нажать в нем кнопочку Check for updates. Тогда вы сможете понаблюдать, как проходит процесс загрузки и обновления до самой последней версии - 1.1.

Apollo Desktop Photos 1.0.2

Вторник, 12 Июнь, 2007

Как водится, сразу же после моего маленького релиза Apollo Desktop Photos 1.0 (см. предыдущий пост) последовал БУМ!

Adobe выпустила бету-версию Apollo, под названием AIR (Adobe Integrated Runtime). К сожалению, декларируется несовместимость с Apollo Alpha 1, на которой вышло уже не так мало приложений; более того, разрабатывать приложения на AIR можно будет только в Flex 3, бета-версия которого вышла вчера же и доступна для скачивания.

Было два сайта, которые целенаправленно собирали Apollo-приложения (программа, кстати, там была опубликована): apolloapps.com и apollohunter.com. И слово “Apollo” было красивое, и все к нему привыкли… в общем, на мой взгляд, название поменяли зря. Сейчас apolloapps.com перебирается на airapps.net… но при моей попытки опубликовать свежую версию программы сказал, что что-то там не в порядке с описанием. Ну, понятно - поменяли структуру файла описания приложения, портал еще это не отследил… в общем, на несколько ближайших дней проблемами Apollo-сообщество обеспечено.

Возвращаясь, к Apollo Desktop Photos, могу отметить две проблемы:

Во-первых, есть несовместимость версий - все новые приложения будут писаться на AIR, под который Apollo-программы не работают. Так что я лично рекомендую вам снести все Apollo-приложения, благо ценных там не так много, поставить AIR и ждать. Пока все разработчики обновятся, закачают Flex 3 (я это проделал вчера ночью) и быстренько перенесут Apollo-приложения под AIR (правка в несколько строк). Я это уже сделал:

Скачать Apollo Desktop Photos 1.02 (560 Кб)

Перед инсталляцией надо удалить Apollo Alpha и поставить AIR Beta. Кстати, в Adobe клятвенно пообещали, что такого безобразия с версиями больше не будет (см. страницу скачки).

В версии ничего не поменялось (добавилось пара глюков со стилями - т.е., интерфейсом), но она работает под AIR.

Во-вторых, (философское) я в раздумьях, что мне сделать с названием программы. Честно говоря, менять не хочу.

Apollo Desktop Photos 1.0

Понедельник, 11 Июнь, 2007

Маленький фотобраузер, написанный на Apollo. (Страница проекта, английская) - (Все записи блога про Apollo Desktop Photos)

Скачать Apollo Desktop Photos 1.0 (540 Kb) - Install Apollo Runtime first (6 Mb)

Обновления в версии 1.0

  • Сохраняется последняя посещенная папка
  • Можно использовать Space для последовательного просмотра фотографий в полноэкранном режиме.
  • Сделана подсветка по наведению на фотографию.

Мысли от автора:

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

Некая неторопливость, плавные переходы - они создают новое ощущение от просмотра. Спокойствие, последовательную (а не резкую!) смену ассоциаций.

А раз так, пока есть хоть малая надежда, что изобретено что-то новое - буду по мере сил стараться развивать проект.

Apollo Desktop Photos 0.9

Суббота, 2 Июнь, 2007

Маленький фотобраузер, написанный на Apollo. (Страница проекта, английская)

Скачать Apollo Desktop Photos 0.9 (540 Kb) - Install Apollo Runtime first (6 Mb)

Вот сама программа:

Использовать очень просто: достаточно найти папку с фотографиями (в формате JPG). По клику на маленькое изображение фотография полностью появляется. По еще одному - исчезает.

Далее…