Доступна запись вебкаста “Palm WebOS: Application Basics“, который проходил 9 сентября 2009г. Скачать можно здесь.

Описание

This session begins with an overview of the basic webOS application structure and a demo of the core SDK developer tools, and includes detail presentations on the application launch lifecycle, and Mojo controllers and methods. We’ll create the initial version of News application with a single story view which will use many of the elements described in this segment including appinfo.json, sources.json, basic scene styles, stage and scene controllers, pushScene and swapScene methods among others.

Previous ArticleNext Article
Технический директор IT-Dimension, компании-разработчика кросс-платформенного программного обеспечения

Leave a Reply

Your email address will not be published. Required fields are marked *

М.

Мой путь в Motorola SHOP4APPS или “Где здесь деньги?”

Таки-да, позавчера произошло Событие – мое Android-приложение PDFMyWeb Pro наконец-то пропустили в Motorola’овский SHOP4APPS. И это после 7ми месяцев мучений, более десятка попыток его туда запостить, кучи потраченного времени и нервов. Но, в общем, это случилось и сейчас я попробую провести небольшой анализ того, стоилоа ли игра свеч.

Начало

А началось все давно (черт возьми, почти все посты о попадании на различные площадки по продаже мобильных приложений у меня начинаются именно с этой фразы. Супер-просто ни разу не было, на сколько я помню). В декабре прошлого года вышла первая версия моей утилиты SMSMyFile для обмена файлами через SMS и после успешного попадания в Android Market решено было покорять новые горизонты. Одним из таких “новых” стал мотороловский маркет Shop4Apps. информации о нем было очень немного (в основном потому что у моторолы какая-то странная политика по поводу новинок – они доступны только по предварительной регистрации, акцептования кучи NDA и найти информацию о чем-то на их сайте не так уж и просто), но я нашел как все-таки зарегистрироваться в их программе для разработчиков. Регистрация там, скажу я вам, не такая уж и простая. Мало того что выспрашивают кучу личной информации, чуть ли не группу крови и кличку любимой собачки брата жены, так им еще и обязательно нужен валидный PayPal-аккаунт, без наличия которого о сабмите платных приложений (да и вобще каких-либо приложений, как я понял) не может быть и речи. К чему бы это? Я бы может бесплатный софт без PayPal’а постил, а ведь нет, нельзя.

Но ладно, PayPal – штука наживная (как обзавестись американским PayPal-аккаунтом я уже писал ранее), поэтому регистрация прошла более-менее гладко (но долго, помнится ответа о том, что мою информацию рассмотрели и пустили в Developer Program, я ждал около полутора недель, еще тогда меня это жутко бесило, и, как потом оказалось, не спроста).

В общем, через полторы недели недели наконец-то получил доступ к ресурсам для разработчиков. Из приятных моментов можно отметить только то, что для разработчиков доступны спецификации всех мотороловских телефонов, включая те, которе только планируются к выпуску, а также add-on’ы для Android-эмулятора для всех устройств от моторолы.

Первый блин комом

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

Процесс сабмита приложений оказался не менее долгим и утомительным чем регистрация. Итак, что они хотят:

  • Инсталлятор (.apk файл)
  • Указать тип приложения (программа, виджет или программа+виджет)
  • Название приложения на английском (ограничение – от 3 до 50 символов)
  • Адрес Web-страницы службы поддержки o_O
  • Полное текстовое описание (ограничение – не менее 200 и не более 400 символов, тоесть просто “Моя программа делает такую-то штуку” нельзя писать)
  • Короткое описание (ограничение – не менее 100 и не более 200 символов)
  • Категория приложения (надо обязательно указать 3 категории)
  • Перечень поддерживаемых языков
  • Указать перечень площадок, для которых будет доступно приложение
  • Для каждой площадки указать цену
  • Указать типы устройств, для которых будет доступно приложение (можно выбрать все типы или чекбоксами отдельно CLIQ и BACKFLIP – судя по всему, только для этих устройств доступен их маркет)
  • Указать откуда будут браться скриншоты o_O (доступен только один вариант почему-то, который указывеает что скриншоты будут загружаться при сабмите приложения… так и не понял глубинного смысла этой опции)
  • Еще раз для каждого маркета название
  • Еще раз для каждого маркета адрес службы поддержки
  • Еще раз для каждого маркета полное описание
  • Еще раз для каждого маркета краткое описание (фак мой мозг! мне уже надоело набивать все эти тексты руками!)
  • Лицензионное соглашение (по умолчанию предлагается стандартное, но можно указать свое. Это нововведение появилось недавно – раньше надо было свое вводить)
  • Splash-screen 240×240 PNG
  • Три (обязательно именно 3) скриншота сразмером минимум 203×176 (во-первых, откуда такие адские размеры, во-вторых, а если у меня всего один скрин и программа с одной кнопкой “Пыщь!”, что тогда делать?)

На то, чтобы разобраться с их формой сабмита (вся эта немерянная куча информации находится на одной странице и чтобы найти что-то, что, возможно, забыл, надо быть очень внимательным), у меня ушло часов 6! И это при всем том что я уже хорошо освоился с муторной процедурой сабмита в Palm’овский маркет… Но ладно, время уже не вернешь, данные я успешно заполнил и теперь пришло время постить.

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

Сам факт тестирования меня лично заставляет нервничать. Мне почему-то сразу вспоминается App Store и товарищи, которые пол-года ждали аппрува приложения от Apple. На самом деле Motorola оказалась в этом плане ни разу ни лучше.

Тестируют они с помощью DeviceAnywhere. Тестирование заключается вот в чем – скачать программу, запустить, проверить что появилось главное окно. Скрыть приложение, проверить что окно исчезло, переоткрыть приложение, проверить что окно появилось, закрыть приложение, проверить что закрывается, удалить приложение – проверить что удаляется.

Собственно, процесс не опасный.

После тестирования есть еще Content Review – не знаю что они там смотрят, но это было… ДОЛГО!!!!

Первая сборка приложения ожидала ревью 2 месяца! Черт возьми, я не могу поверить что у них там целая огромная очередь желающих запостить программу в их никому не известный маркет и что из-за этого мне пришлось ждать 2 месяца! На ревью оно попало 2го февраля, ответ пришел 30го марта! И ответ заключался в том что вот они добавили сплеш-скрин (когда я сабмитил приложение, его не надо было указывать, иначе информация была бы неполной и я не смог бы отправить н атестирование), но так как его нет, то они отказались принимать приложение в маркет.

Ок.. сплеш-скрин тоже дело наживное. Добавил. К этому моменту уже ышла новая версия SMSMyFile и я поменял бинарник. Снова отправка на тестирование (оно длится от 10 до 14 рабочих дней, то есть 14 – раньше этого срока нет смысла надеяться, обычно на 14й день присылают ответ). И ога! Не прошло тестирование – приложение не запустилось в эмуляторе!

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

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

Второй блин… тоже комом!

Снова желание у меня появилось когда выпустили приложение PDFMyWeb. Снова пришлось проходить муторный процесс ввода информации о приложение, снова ждать тестирования и снова приложение не прошло тестирование. На этот раз это была моя проблема – приложение падало при запуске на Android 1.5. Поправил, запостил снова. Хотелось бы также отметить что кроме всего прочего у моторолы очень жесткая политика по поводу подписи .apk файлов.

  • Вы собираете приложение в Eclipse
  • Затем создаете бинарник через Android Tools -> Export Signed Package
  • Этот бинарник принимается Android Market’ом
  • А вот Motorola его не примет потому что помимо вашего сертификата там еще лежит отладочный сертификат

Правильный Workflow для Motorola

  • Вы собираете приложение в Eclipse
  • Открываете его 7-zip’ом
  • Удаляете папку META-INF
  • Руками через командную строку и jarsigner подписываете .apk файл
  • Делаете оптимизацию через zipalign
  • И только после этого Motorola примет ваше приложение

На то чтобы узнать правильный Workflow у меня ушло еще 10 дней ожидания результатов тестирования 🙂

До всего пришлось додумываться самостоятельно. Тексты с описанием результатов тестирования какие-то у них мало содержательные, но люди говорят что можно писать в службу поддержки и общаться с теми кто тестировал приложение, они, теоретически, могут подсказать что именно было не так (но мне в это слабо верится, а еще более слабо верится в оперативность ответа).

И вот таконец-то мое приложение приняли!

Да, все классно, но где же Profit?

Ну да, приняли, и что дальше? Да, действительно, что дальше? Где отчеты по продажам? Как, черт возьми, я могу узнать что те деньги которые (возможно), мне пришлют – это именно та сумма, которая мне причитается?

Отчетов нет как таковых в принципе! Приходится полагаться на честность Motorola, но исходя из прошлого более чем полугодичного опыта пользования их сервисом, мне кажется что это просто непаханное поле для махинаций с их стороны. Они вполне могут сказать что за месяц не продали ни одной копии прилжения а обратного я никак не докажу!

Хотя да, эфемерные обещания каких-то отчетов у них на форуме проскакивают время от времени, но… это только обещания и многих это бесит.

Выводы

И вот после всего я сижу и думаю, а стоила ли игра свеч… Как по мне, раз уж вендор так вставляет палки в колеса и создает проблемы для разработчиков, то может не морочиться с ним, а дать им благополучно загнуться?  Хотя Motorola Droid и является одним из самых продаваемых Android-устройств, но судя по всему этот маркет для него недоступен и шансов что приложение будет супер-продаваемым здесь нет? С другой же стороны хочется иметь какой-то дополнительный поток продаж, а, соответственно, прибыли…

В общем смешанные чувства после всего этого, но негатива в разы больше.

Если у кого-то из читателей есть успех в маркете от Motorola, то хотелось бы услышать что-то по этому поводу.

В.

Впечатления от вебкаста по Palm webOS

Palm PreПоучаствовал в вебкасте по разработке для Palm webOS.

Как это было? Это было ммм.. довольно странно. Видео тормозило просто жутчайшим образом, а звука вобще не было. Вернее вместо этого был только шум. Как вариант предлагалось позвонить по телефону и послушать таким образом о чем там идет речь, но… как-то межлународный звонок в течении часа.. ну не каждый осилит.

Но в общем ладно. Теперь о хорошем. Как-то так постараюсь тезисно свое мнение изложить:

  1. Palm OS это прикольно. 😉
  2. Т.к. приложения пишутся на JavaScript, то для разоаботки GUI кроме текстового редактора ничего не нужно.
  3. В вебкасте чудо-человек разработчик демонстрировал все под Mac OS но т.к. JavaScript отрабатывает на клиенте, то писать можно и под Windows и под Linux
  4. JavaScript как и реньше не имеет доступа к системным ресурсам, зато для этого предусмотрен серверный функционал. Для получения, например, данных о GPS координатах из JavaScript выполняется запрос к локальному Web-сервису (URL начинается как-то так с “palm://…”, целиком не запомнил)
  5. Архитектура приложения на вид напоминает MVC. В подробности особо не вдавались, вебкаст короткий.
  6. Форматирование и GUI-контролы реализуются с помощью предустановленных CSS-стилей. На вид выглядит довольно аккуратно и юзабельно.
  7. SDK будет включать (по крайней мере по обещаниям) какое-то подобие веб-сервера, реализующего эмуляцию серверной части API для webOS (тех веб-сервисов, которые доступны в самой OS и которые можно использовать из JS).
  8. Не очень понятно пока каким образом можно реализовывать свой серверный функционал (т.е. например какой-нибудь сервис, который могут дергать все приложения, запущенные на устройстве, это пока загадка).
  9. Не очень понятно как поучаствовать в закрытом бета-тестировании SDK (оно пока не доступно для широкой общественности).
  10. Записанный вариант вебкаста обещали выложить (не знаю пока, в публичном доступе или только для участников) и прислать адрес в почту. Если пришлют, обязательно выложу информацию здесь на сайте.

Ну вот как-то так. Жаль, конечно, что из-за недостаточного качества организации мероприятия не получилось узнать больше, но тема сама по себе очень интересная.