Долгий путь в App...
Сначала было слово
И слово было «iPhone». Когда я увидел прототип, то сразу понял (дядя Джобс рассказывает обычно ведь так, что всем понятно, что вот именно этого им и нехватало всю жизнь), что это именно тот девайс, который мне нужен (используя к тому времени КПК/телефон и плеер, было очень заманчиво получить одно устройство и пару свободных карманов). Я решил, что надо писать под него программы. И написал «болванку», читалку книжек. На Java, полагая, что уж Java-то там точно будет. Ага, размечтался. Когда понял, что моего основного средства разработки там нет, расстроился и забил. Но вдруг появился App Store и iPhone SDK. Сердце забилось чаще…
Потом был SDK
SDK (Software Development Kit, инструментарий разработчика по-нашему) — это набор программ который помогает делать программы для «чего-то». «Чем-то» в нашем случае является iPhone. Ну, и iPod Touch за компанию. Когда оно появилось, выдохнули все. Вы не почувствовали ветер, поднявшийся в этот момент? Это они выдохнули. Сайт Apple, как известно, лежал напрочь в течение нескольких суток. Сдуло. Потом пробиться смог и я, и попробовал. Поначалу — не понравилось.
Почему? Проблема в том, что все программы Apple делаются для людей. А средства разработки (и XCode, как самое главное, остальные в гораздо меньшей степени) — сделаны для разработчиков. Видимо почему-то считается, что это не люди. По-крайней мере мне так показалось после IntelliJ Idea. Нареканий было много (но, справедливости ради, можно заметить, что все они сводились к простому «это не Idea»). Поэтому на несколько месяцев все было отложено.
Возвращение
Они всегда возвращаются. И эта навязчивая идея вернулась. Руки зачесались с прежней силой, было закуплено пиво и было решено. Надо. После выяснения того, что действительно надо, пиво закончилось, пришлось бежать и брать еще. В результате план боевых действий стал вырисовываться с пугающей точностью.
- Отдача денег в пользу бедной Apple. 99 долларов за возможность тестирования программ на самом девайсе и возможность закачивать их в App Store. (И продавать! Что еще нужно начинающему бизнесмену?)
- Получение какого-то ключа и какая-то процедура его встраивания в iPhone. Чтобы тестировать программы и закачивать в App Store.
- И всё! (как я был наивен).
Вроде бы все просто, поехали. Зарегистрировался, ждем ответа… Две недели в сад. Приходит ответ «разрешаем дать нам денег». Есть у меня друг, он помогает мне оплачивать всякие программки, ибо у него есть нормальная карточка и PayPal, а у меня нет. Прошу его, он деньги перевел, я ему отдал, ждем ответа… Приходит ответ «Вы не тот, за кого себя выдаете. Не дадим разрабатывать проги.» Ну, приехали. Имя им мое не понравилось. Дальнейший разговор был примерно таким:
- Я: Это я, а этот человек тут просто деньги давал.
- Apple: Да не вопрос, дайте паспорт.
- Я: Ну, вот вам паспорт. Видите — я не верблюд.
- Apple: Ууу, действительно не верблюд. Нижайше просим простить, вот ваш аккаунт.
Надо сказать, что в целом общение по телефону производит приятное впечатление. Сама ситуация несколько «комична», но все очень четко и достаточно оперативно. Да и в общем-то сам виноват. Надо было думать, когда оплачиваю не своей картой.
Дальше — больше. Приложение уже пишется. И хочется (раз уж столько сил потрачено) добить всех до конца. То есть продать (именно продать, так как это связано с дополнительными трудностями, а я все это затеял для выяснения трудностей) копию приложения.
Смотрим, что нужно для этого. Нужно всего ничего — заполнить несколько форм. Согласиться с условиями и выложить приложение.
Знал ли я, что это выльеться в три месяца ожидания…
Путь к звездам
Для начала, вот список документов, которые я увидел:
- Контактная информация.
- Банковская информация.
- Налоговая информация.
Первое — я быстро переварил. Второе — ну, я понял, что типа бы надо, хоть и не сталкивался. Но вежливый визит в свой банк с копией этой формы — решил проблему. Мне выдали необходимые буквы. Третье — ммм, а вот тут я как бы и не думал. Что там им надо-то… Посмотрел на форму, испугался, закрыл. На следующий день посмотрел еще раз. Уже дольше. Ничего не понял, закрыл. Обложился Интернетом, стал читать. Почитал, вроде бы все не так страшно…
В общем, с какого-то захода я понял, что все не сильно страшно. Но нужно получить какой-то EIN. Что это? Это типа ИНН нашего. Но американский. Зачем? Для того, чтобы не платить налоги в двух странах. Поскольку «они» в США, а мы тут, в России, а сторы — вообще «чертигде», то получается, что вроде бы нужно платить налоги везде… Ну, не везде, но хоть где-то. Отличие первого от второго варианта — в этой бумажке. Не заполнил, возьмут налогов и там и тут. Заполнил — можно от налогов «там» отмахаться.
Чтобы его получить — нужно позвонить в Америку. Цирк, происходящий в момент звонка — наблюдало пол офиса. Мужик на другом конце провода имитировал робота с такой уверенностью, что я сначала думал, что он действительно робот. Человек так говорить не может. Но я продрался. Этот гад, кстати, сделал ошибку в названии улицы, где я живу. Слава богу не ошибся с самим номером, который продиктовал по телефону (бумажку я получил через месяц по обычной почте) и который по моей просьбе тоже записывало пол офиса. За всеми этими действиями прошло еще полторы недели.
Ура, всё заполнено. Приложение к тому времени — написано. Настал томительный миг «тестирования на айфоне», «закачивания в App Store» и ожидания мирового господства. Тут я ошибался во-второй раз. До продажи программы оставались какие-то полтора месяца.
А теперь «по-пунктам»…
Уже через неделю я получил ответ из App Store. Почему уже? Потому что ответа можно и месяц ждать. Вот такая вот latency у них. Ответов бывает два типа. Первый — вежливо объясняет, что ты сделал не так. Второй — коротко говорит «Your application is ready for sale». Желанный второй пока можно отставить, а про первый — наоборот, поговорить.
Всем, кто разрабатывает для iPhone — внимательно читайте соглашение. Внимательно читайте требования к приложению. Никого не волнует, если приложение не будет выполнять свою основную функцию (в смысле, будет серьезная ошибка), но если нарушена хоть буква из «Этого Текста», если есть хотя бы намек на мысль о том, что что-то может быть нарушено, то приложение не будет принято никогда.
Я прошел через:
- «Нужно сообщать пользователю о том, что нет соединения с интернетом»
- «После выбора в таблице остается выделение, что противоречит…»
- «Данная функция может смутить пользователя, поэтому ее нужно переделать, так как по соглашению…»
- И, наконец «В программе не должно быть мата, порнографии и другого содержания, которое может быть сомнительно понято».
Последнее было особенно больно. Почему? Просто в программу, которую я написал — это простой просмотрщик цитатников интернета: русский «баш», английский «баш» — в числе первых. На английском баше известное слово из четырех букв встречается часто. И, естественно, оно появляется на экране iPhone. В моей программе. В результате остался только русский «баш». Из чего можно сделать вывод. По-русски там никто не читает. Тоже интересный тест. :)
Вроде бы моя программа ничего такого не содержит. В ней текста — 15 фраз. Ан нет. «Показывается? Показывается. А откуда — нам все-равно. Вот доказательство — скриншот. И попробуйте только скажите, что это не ваша программа.»
Начало мирового господства
Прошло полтора месяца. Сначала ожидания, потом раздражения, потом безразличия. После чего — приходит письмо о том, что «угу, обобрили и выложили». Ура! Ща заработаю миллион!
Миллиона не получится, так как к тем факторам, которые известны, понятны и прописаны в соглашении, есть еще.
Во-первых, таки да, пиратство. Я свою программу писал не для заработка. Просто для того, чтобы разобраться во всей процедуре разработки для iPhone. От желания до получения чека. Но, почитав отзывы других разработчиков, увидел, что это таки проблема. Порой до 95% клиентов — пользуются сломанной версией. Если программа — это основной доход, на который рассчитываешь и ради которого уже пожертвовал чем-то (взял кредит, например), то это очень больно. И с этим пока ничего не решается. Кроме решения от RIPDev вроде бы и нет ничего. Но, решение RIPDev'а тоже мало подходит для мелких, баксовых, программ.
Во-вторых, любая хорошая идея тут же распространяется. Написал программу за $10, через неделю появится такая же, но за $5. А еще через неделю — такая-же, но за ничего. Кто будет покупать за $10? Это тоже решается. И я, например, не считаю, что это плохо. Конкуренция — это великолепно. Она действительно приводит к тому, что выживают сильнейшие и лучшие. И это очень, очень хорошо.
Об этом нужно знать. Если писать программки просто так, для души — это не важно. Просто пускай болтается на задворках сознания. Если же заниматься разработкой для заработка (о, рифма почти), то нужно защищаться от первого и думать о втором на этапе проектирования. Иначе — кирдык башка. Есть примеры, когда вопрос ставится не «получить больше или меньше», а «выжить или нет, как коммерческий разработчик».
О чем это я?
В статье рассказано глазами очевидца, как все это происходит. От начала и до конца. Думаю, что при необходимости я ее дополню тем, как именно нужно получать EIN (это не сложно, но есть где растеряться) и что именно нужно писать в формах для распространения платных программ. Если вдруг это кому-то понадобится. А пока — вот так. Прочитали? Ну и отлично. Программа, о которой я говорил называется BashOr. В версии, которая сейчас аппрувится (уже полторы недели) — будет поддержка http://onsentence.org, http://bash.org.ru, http://ithappens.ru. Стоит ажно бакс. Любите «баш» — добро пожаловать.

