ТЕКСТ: ДИМА КЛИЧИНСКИЙ Приветствую посетителей айфонса. Меня зовут Дима и я расскажу вам один забавный случай, который связан с аппрувом. Хотел бы поделиться с вами опытом, и пусть он вдохновит вас на написание первого приложения. Согласитесь, что App Store – это та первая вершина, к которой стоит идти.
Аппрув – это особое событие для разработчика, требующее тщательной подготовки. Но везде есть исключения из правил, а порой нужно простое везение. Иначе, как можно объяснить успешную модерацию с первой попытки сырого материала? Или это все-таки закономерность? Яблоко мне на голову не падало, и вещего сна тоже не было. Были энергия, терпение и Идея.
1. Начало начал
Итак, как же все начиналось? Как и многие пользователи девайсов Apple, я увлекся этими устройствами и загорелся идеей создать собственное приложение для iOS. Прежде, чем взяться за нечто масштабное, я решил набить руку с простым проектом. С другой стороны разработка под мобильную платформу требует взвешенного подхода и с наскока ничего путного не получится. Другими словами: либо делать хорошо, либо не делать вообще.
Для этой задачи мне нужны были помощники, а еще лучше – несколько. Проведя мозговой штурм своим приятелям-программистам, я обзавелся командой и бросился в атаку на ветряные мельницы игровой индустрии. И не надо фыркать, что мы выбрали наиболее предсказуемую цель, потому что здесь тоже пришлось приложить некоторые усилия. Например, существенно осложняло задачу отсутствие в нашей обойме толкового дизайнера.
На самом деле основная трудность состоит в достаточной мотивации, которая заставит заработать весь коллектив эффективно и получить результат. Все остальное – лишь отговорки и следствие недостаточного желания. Если чего-то хочешь, действительно хочешь, то найдешь и время, и возможность для занятия любимым делом. У всех нас есть семья и работа, но мы все равно смогли выделить временные ресурсы для хобби.
2. Какой выбрать жанр?
Мы решили остановиться на онлайн викторине и тому есть несколько причин.
Банальное отсутствие профессионального дизайнера.
Если навыки в программировании еще можно подтянуть, то здесь включиться в тему, прочитав пособие для чайников в стиле «Как стать дизайнером за 10 дней» вряд ли получится.
Лично я против бездумного убивания времени вообще и с помощью гаджетов в частности.
Считайте меня идеалистом и ботаном, но я скорее буду отвечать на вопросы, чем монотонно стрелять птичками или резать фрукты на экране.
Не люблю быть вторым номером и подражать, кому бы то ни было.
Также я против создания аналогов какой-то популярной игры. Копирование чужой идеи, чтобы выдать еще один клон – это не для меня. С другой стороны этим не брезгуют даже мастодонты электроники. И все равно, это не мой путь.
3. Закулисье разработчиков
Итак, на «военном совете» было решено работать над онлайн – викториной с множеством в меру сложных вопросов, динамичным чатом и старым добрым ботом-ведущим.
Постепенно нам удалось создать более-менее приличное с точки зрения дизайна приложение. Что касается программного обеспечения, то мы взяли за основу HTML5 & javascript. Дополнительным преимуществом данного решения было возможность создать единое приложение для всех платформ.
Игру мы научили общаться с системными функциями каждой платформы через колбэки (callbacks). Например, покупка виртуальных вещей осуществляется через механизмы App Store, GooglePlay, Facebook (credits).
Рабочим фрэймворком стал Titanium, а клиентский код был написан на GWT. IPhone и Android общаются с сервером посредством стрингов через веб-сокеты. Если их нет, то общение происходит через флэш-сокеты. Для сервера мы выбрали набирающий популярность java web server Netty, прикрученный к Amazon. Функцию базы данных выполнил MongoDB.
Всего месяц регулярной работы и мы уже имели первый рабочий вариант Trivi Online. Пусть он выглядел аскетично, но чат и движок викторины функционировали, а это главное.
4. Закон Мерфи
Не знаю, как получилось, но нам дали зеленый свет с первой попытки! Я отослал приложение в App Store, чтобы только бросить пробный шар. Мы хотели получить оценку, а пришло письмо с темой: “Your app status is “Ready for Sale”. Сказать, что мы были ошеломлены – значит, ничего не сказать. В течении следующих двух дней Trivi загрузили более 200 человек без какой-либо рекламы и маркетинговых ухищрений с нашей стороны. Мы решили пустить приложение на самотек до большого обновления стабильной версии.
Было очень стыдно, что программа вышла на сцену с букетом детских багов. С другой стороны, команда получила допинг для более энергичной работы, чтобы все исправить. Улучшенную версию мы отсылали со спокойным сердцем, но не тут-то было! Именно в ночь проверки сервис подвис, и игра не запустилась!
Соответственно, нам прислали холодный отказ со шлейфом критических замечаний. Главный минус модератор увидел в дизайне, хотя предыдущий его пропустил. Но мы не опустили руки и вступили в переписку с Большим Братом. Наше ответное письмо апеллировало к аппруву старой версии и содержало подробное разъяснение используемых технологий. То ли снова вмешался закон Мерфи, то ли вышел на смену первый модератор, но нас пропустили.
5. Начинающему разработчику
А теперь несколько банальностей для тех, кто хочет решиться начать создавать для iOS и Android. Звучит это на самом деле тривиально. Но поверьте, без этих основ не стоит даже начинать.
Не бойтесь мечтать
Плох тот солдат, который не хочет стать Наполеоном. Главное поставить себе цель и идти к ней. Поверьте, вы можете многое, если приложите определенные усилия.
Оптимизируйте свой ежедневный график
Правильная организация своего времени – это залог успеха. У всех нас только 24 часа в сутки, только используем мы их по-разному. Кто-то и на работу опаздывает, а кто – умудряется выкроить дополнительные ресурсы для любимого дела.
Учиться и еще раз учиться
Неважно, если у вас не хватает знаний – их всегда можно получить. Намного хуже, если нет соответствующего желания. И потом, в процессе работы обучение идет намного эффективнее, потому что вы наглядно видите результат применения новой информации. Мы, например, давно хотели GWT освоить. А в процессе написали ещё и свой протокол общения клиент-сервер.
Боритесь за свое детище
Порой надо простое упорство, чтобы прийти к финишу. И помните, что взгляд со стороны – это очень важно, не закрывайте глаза на конструктивную критику. Не бойтесь показывать ваши наработки.
Не делайте ничего наполовину
Тут как с похуданием. Приложение, как и тело, нужно ненавидеть и любить одновременно. В процессе, наверняка, придется чем-то жертвовать. Жертвуйте не в ущерб общей задумки.
Не останавливайтесь на достигнутом
В то время, когда модераторы Apple слали нам свои отказы, мы продолжали разработку. Сразу же после обновления мы запустили приложение на Facebook. А очень скоро выйдет и Android версия в купе с новым дизайном. После публикации статьи о Триви на одном тематическом IT ресурсе на нас вышел талантливый дизайнер и предложил безвозмездно помочь. Пути девелопера неисповедимы, знаете ли.
iPhone + iPad: Free [iTunes link]

4 комментария
Форум →Всегда было интересно, каким образом создаются сие удивительные интерфейсы.
К сожалению около 60% приложений в Apple Store никогда не были загружены.Такие дела.
@buyzilla, даже поболее.
http://habrahabr.ru/company/apps4all/blog/143470/
Нашли орфографическую ошибку в новости?
Выделите ее мышью и нажмите Ctrl+Enter.Как передать большой файл с iPhone на Windows
Почему iPhone греется возле кнопки Home
Можно ли включать бесшумный режим на Apple Watch по геолокации
Почему iPhone издает странный звук во время работы
Почему зависают приложения на Mac?
Почему iPhone очень долго заряжается
Почему в меню AirDrop дублируются устройства
Как просматривать сохраненные пароли Safari в iPhone