Pull to refresh

Сказ о том, как я стал разработчиком софта для iPhone

Reading time9 min
Views5.1K
imageГде-то в начале 2010 года я узнал об очень интересной для меня теории, которая очень много чего объяснила для меня в жизни. Я о ней писал уже на Хабре habrahabr.ru/blogs/ui/111401.
Хотя я сам занимаюсь бизнесом сфере консалтинга и психологии, но большýю часть своей жизни был связан с IT и программированием. И вот мне пришла в голову мысль – выпустить приложение для iPhone, выпуск которого очень много всего изменил.
Ну, как и всегда, все началось с идеи. Идея приложения была следующая: дать пользователю инструмент, с помощью которого он бы смог легко распознавать модели поведения других людей, и чтобы это приложение давало конкретные ответы на вопросы «Как?» и «Каким образом?» взаимодействовать с тем или иным человеком в разных ситуациях.

Под катом в деталях описан процесс создания приложения и много всего интересного с суммами в USD и картинками.


Поготовка


В самом начале пути я подумал: «А может самому взять да написать?» и начал выяснять как выглядит процесс создания ПО для Apple iPhone. Узнав о том, что существует такой язык как Objective C, начал почитывать по нему материалы. Но очень скоро я понял, что с моим знанием объектно-ориентированного программирования – это будет очень длинный путь(до этого я писал на PHP, 1C и ассемблере). С этого момента начался поиск исполнителей.

Оказалось, что людей, которые дружат с Xcode (среда для разработки приложений для Mac OS X и iPhone OS) и Objective C, среди моих знакомых и среди знакомых моих знакомых просто нет. Мне пришлось расширять свои рамки – и я начал искать исполнителей в широкой географии. Было сформулировано первое ТЗ, которое я разместил на free-lance.ru
Параллельно я искал исполнителя среди фирм. Начали появляться первые цифры стоимости проекта — $1.500, $2.000, $3.700, $4.500, одна контора даже озвучила мне сумму в $11.000. Первая сумма – это если я предоставляю дизайн сам, остальные с их дизайном и разработкой — моё только наполнение. Я не был готов потратить такие суммы на своё, скорее хобби, чем масштабный проект, поэтому сместил свой фокус на фрилансеров.
За несколько дней объявление на фрилансе сработало – и у меня появилось несколько кандидатов. Были озвучены цифры совершенно другого порядка $500, $600, $800 USD. В конечном итоге был выбран фрилансер, котрый согласился на сумму $180. Меня это не могло не радовать. Хотя, был нюанс – это без дизайна.

И вот началась работа: прописывание детализированных тех. заданий, обсуждение способов реализации, создание интерфейсов и т.д.
Надо сразу же сказать, я до этого времени был заядлым пользователем Windows с многолетним стажем (админом работал несколько лет). И меня не особо привлекала идея перехода на Mac OS. Хотя на момент старта проекта у меня был и iPad, и iPod Touch, которых для тестирования, я так думал, что будет достаточно. Но не тут то было. Конечно, для рисования интерфейса можно было обойтись Photoshop и специализованными приложениями для проектирования интерфейсов под iPhone/iPad, но это как-то было совсем не интересно. И я начал искать способы как бы поставить где-то Mac OS X и Xcode.

Первые мои опыты были с Hackintosh – но они не закончились успехом, потому что Xcode отказывался под ним работать (процессор у меня был AMD). Далее я решил сделать ход конём. Докупил оперативки до 8 GB и поставил Mac OS X под VMWare. Опыт Хабраюзеров здесь тоже пригодился.
Mac OS X на VMWare работала вполне сносно, если не считать сильных тормозов. Первые интерфейсы приложения были подогнаны уже в Xcode и Interface Builder под VMWare. Но это был на самом деле изврат. Вот тогда-то я и начал искать где-бы это прикупить себе Mac.

Много вариантов было перебрано — и б/у, и ноутбуки, но остановился я на Mac Mini. Благо, моя подруга как раз отправлялась в Штаты, и я попросил её прикупить мне его. В итоге он обошелся мне в $830.

Не буду описывать свои первые впечатления, но могу сказать сразу — за почти полгода пользования Mac, Windows’ ом из BootCamp я воспользовался 2 раза. Тогда и началось моё активное освоение Mac OS.
Параллельно я регистрировался как Apple Developer. Особо ничего примечательного не произошло. Всё было быстро, заняло где-то 1,5 недели. Обошлось как и для всех $99. Единственное, что я сделал лишнее, как я потом понял, – это получил штатовский EIN, который, как оказалось, Apple уже не требует.

Дизайн


Теперь расскажу, как происходила саму разработка приложения. Сам я в прошлом много занимался дизайном, соответственно Adobe Photoshop и Illustrator – это родные инструменты. Начал я с разработки интересного интерфейса.
Первое, что я решил, что не буду придумывать велосипед и разрабатывать какие-то совершенно новые концепции, поэтому начал рисовать на основе рекомендаций Apple Human Interface Guidelines.
В начале были разработаны мокапы в iMockups for iPad, здесь парочку покажу.
image
Потом, я взялся за прорисовку в Photoshop. Нашел в инете готовые шаблоны интерфейса под iPhone для Photoshop и начал рисовать. Вот первые заготовки:
image
В процессе, я так же выяснил, что мне бы не помешали интересные красочные иллюстрации для моего детища. Опять же через free-lance.ru был найден художник, стиль иллюстраций которого мне очень понравился. 5 картинок в итоге мне обошлись в $150. Но именно они придают особый шарм приложению. Вот эти иллюстрации:
image

image


Разработка


После этого за работу взялся мой программист-фрилансер. Он прорисовывал програмно таблички, элементы интерфейса, переходы между экранами, а я занимался тестированием и вылавливанием багов.
Из интересных технических решений, могу рассказать несколько моментов.
  1. Приложение сразу планировалось на двух языках – русском и английском. И было решено, что языки должны переключаться в настройках программы. Поэтому родной механизм мульти-язычности iPhone OS не очень подходил. Исходя из этого мы использовали XML файлы с переводами интерфейса, что позволило переключать языки налету.
  2. Поскольку контент в данном приложении – это ключевой момент, мне пришлось разработать ещё целую систему для создания и редактирования контента.
    Для этого я использовал свои познания в PHP и MySQL. Оболочка позволяла редактировать каждый блок отдельно, как на русском так и на английском языке. При этом самое важное было то, что я часто бываю в разъездах, в том числе и по разным странам, и мне надо было, чтобы я мог редактировать и готовить тексты везде, имея свободную минутку. Соответственно я разместил базу на своем хостинге, и получил к нему доступ со своего iPad.
    В конечном итоге PHP скрипт генерировал необходимый XML код, который вставлялся в программу.
  3. Так же, очень важным моментом в разработке было то, чтобы сделать программную логику легко адаптируемой, без изменения кода программы. Поэтому был выбран, опять же, механизм XML, в котором описывались необходимые ветвления логики теста и получения конечного результата.

По ходу разработки в программу добавлялись разные элементы, которые повышали юзабалити приложения.
Так как я вначале планировал, чтобы пользователь каждый раз отвечал на вопросы относительно своего собеседника, а свой поведенческий тип он определял сам, в процессе я понял, что это не очень-то и удобно. Поэтому я добавил к ТЗ пару пунктов: базу данных собеседников и первый тест, который пользователь делает сам для себя и определяет свой поведенческий стиль, а уже потом приложение совмещает стиль поведения пользователя и его собеседника и на основе этого выдаёт результаты.
Так как было расширено, при чем значительно, тех-задание, соответственно и увеличилась цена разработки. Может забегу наперёд, но окончательно программист мне обошёлся в $600.

Далее началась стадия тестирования. У меня есть привычка, которая не позволяет мне выпускать и делать что-то некачественно. Поэтому тестировали мы приложение около 1,5 месяцев. Было выловлено несметное количество жуков(багов) и разных артефактов. Но в конечном итоге была скомпилирована версия 1.0 программы, которую в русском AppStore можно найти как DISCover, а в американском DISCover Me.

Публикация


Далее я занялся созданием полного пакета для upload в iTunesConnect. Написание описания, иконки, скриншоты, создания сайта поддержки. Сайт я создавал сам, а для работы над текстами на других языках пришлось привлечь фрилансеров. Хотя я неплохо знаю английский, но назвать себя носителем языка я не могу. А описание всё таки стоит делать на языке понятном носителю. Я нашел фрилансеров-переводчиков из Канады, которые перевели мне описания на хороший английский и французский. И наполнение сайта приложения disc-app.com на английский. Всё это мне ещё обошлось в $60.
Кроме этого ещё хороший кусок времени у меня заняло создание иконки приложения. Во первых, их там должна быть целая куча разных размеров. А во вторых такой размер как 57 на 57 — очень плохо делится на 2, а в моей задумке иконки должна была быть центральная линия, с которой пришлось очень много извращаться. Вот результат:

image

В итоге, 11 января 2011 года, я отправил своё приложение на рассмотрение в Apple. Долго ли, коротко ли, но через 7 дней или через неделю, точно не помню, мне пришло письмо из iTunesConnect, в котором говорилось, что моё приложение «Ready for sale».
Первая статистика появилась только через 3 дня. Она меня не очень порадовала. Но позже всё стало выравниваться. На момент написания статьи было около 400 скачиваний. Часть из которых была по $1.99, остальные по $4.99. При этом никаких маркетинговых ходов на данный момент ещё не применялось.

Итоги разработки


Прямые затраты:

Apple Developer Programm — $99
Программирование — $600
Художник — $150
Переводчик — $ 60
Итого: $909

Сопутствующие затраты:

Мас mini - $830
Память 4 GB к Mac Mini - $60
Клавиатура Apple Keyboard — $100
Итого: $990

Прибыль:

Пока рано подводить итоги. Но будет. Приложение долгоиграющее. На данный момент прямые затраты уже окупились.

В заключении стоит отметить некоторые моменты:
  1. Я стал приверженным пользователем Mac. И мне это нравится. (Хотя дома у меня ещё стоит сервер на Windows 2003 Server, но это скорее издержки производства).
  2. Даный проект скорее моё хобби, чем способ заработать денег.
  3. Был создан очень интересный опыт, который я планирую использовать, и выпустить ещё парочку приложений под iPhone, идеи которых уже есть.


О самом приложении



Ну и, наверное, стоить чиркануть пару слов о самом приложении и о том, как оно работает.

Алгоритм работы с приложением очень прост.
В начале необходимо определить свой преобладающий стиль поведения. Для этого есть вкладка «Мой профиль». В ней используется опросник, в который специальным валидизирован отдельно под русскоязычных пользователей, и отдельно для англоязычных. В опроснике есть 15 блоков по четыре определения в каждом. Необходимо расставить определения таким образом, чтобы их порядок максимально точно описывал Ваше поведение. Интерфейс программы имитирует металлические сатиновые таблички, на которых написаны слова. Чтобы изменить порядок, необходимо просто перетаскивать таблички, меняя их очерёдность.

На основе ответов опросника приложение DISCover определяет преобладающий стиль поведения пользователя и описывает его графический профиль (один из 16 доступных в программе).

Далее, во вкладке «Собеседники» пользователь может сформировать базу своих собеседников. В начале нужно как-то назвать человека, поведенческий стиль которого пользователь планирует определить, а далее следует серия вопросов о человеке. Вопросы предельно простые. Ответить на них можно даже после 2-3-х минутного разговора с человеком по телефону. Вопросы следующего характера: «Как человек говорит – тихо или громко?», «Спорит ли он или скорее соглашается?» и т.п.
На основе ответов приложение сопоставляет базовый стиль пользователя и стиль собеседника и выдает информацию разделённую на 5 разделов:
  • Общее — общая характеристика собеседника – цели, ценности, опасения;
  • Общение — приёмы общения с ним, совместимость его стиля с вашим;
  • НЛП-Раппорт — советы по созданию раппорта с человеком, какие слова лучше использовать при общении с этим человеком;
  • Продажи — особенности продаж людям этого стиля поведения;
  • Личности — известные люди, на которых похож Ваш собеседник.

При этом данные собеседника заносятся в мини-базу данных пользователей, в которой они хранятся, и пользователь может перечитать характеристики и советы в любой удобный момент.
Кроме этого в приложении есть мини-библиотека, в которой размещены статьи, в которых кратко и ёмко описывается сама теория DISC, её принципы и история, а также описания всех базовых стилей поведения.
Ну и конечно же бонусы. В «Настройках», есть кнопочка (i) About. Там находятся некоторые бонусы для русскоязычных пользователей. Бонусы от меня лично и компании, владельцем которой я являюсь.

P.S. По давней традиции, которая уже сложилась аж за целых несколько лет, для Хабра-сообщества выкладываю здесь некоторое количество промо-кодов. Надеюсь сей продукт вам понравится. Как и мой сказ о его создании.

Промо-коды


WRJH4MAAHYXF
NPH33PTY96XA
4LWR9XWEWPHY
PMF6KAKE4RR9
HHMEJH7LTLEN
NH36NT67MXWP
K743L794634W
WLX7PA4746XA
JXHARXLL7EAN
KJWRN47RY4YJ
6WP73KYFX79J
P9M3W44HFRF6
R7Y49HE6E3XR
3ERTXR96E3J4
R3666YAERYHY


PLEAY9Y7FTXN
6EWLYFP4F77F
W7YNF6A9HMEP
JAWHLEP7P3AW
M6FK69RF9EAX
AKFTWL6TXFR6
PTRHYRETKNLR
PYEPWKPH6W4H
ALLJ7NRHP3EW
N74NXHETANYH


HLJKMX79K7FR
TP4WXJRX74JY
6AT9WKMTNRNA
F9637LW6RXRT
7H447EXY7X9E
NNLK9KK3PF4A
KP3MXP7XW79M
349XRH6T6PTH
6EW96A9FERAE
E9ERJ7WEA39F
3K9M99H6TKEP
9YJ6MLFPXMRW
TKL4NTT3YAYT
PTMAETEPYJAY
KMMER4Y64RET
RNAWWJ347KKW
Y7WEAEMNMYJL
APM6F964R7TJ


UPD: Выкладываю последние 5 кодов:
HLA4MEALM6KW
XM44YAR4FJPJ
LT94JP7KJY9N
W3EWFJ7RFMY7
HRWW36P6YTW6


UPD 2: По поводу EIN стоит уточнить — Я с Украины, может быть это именно для Украины не требуется EIN. Просто не хочу вводить хабраюзеров в заблуждение. А получить его очень просто, не надо никуда слать факсы, проще всего это позвонить на известный номер в американскую налоговую, и в телефонном режиме получить его на 5 минут. Реально у меня так и было. В начале парился с факсами, а потом позвонил, и понял что даром форму заполнял. Хотя заполнить стоит, потому что вопросы оператор задает по ней. Заполнить только для того, чтобы была шпаргалка перед глазами.

UPD 3: Специально для Хабраюзеров на одни сутки новая цена приложения $1,99 ($4,99).
DISCover в iTunes
Сайт приложения DISCover

UPD 4: Мне в личке посоветовали сделать на эту тему web-сервис. Как вы, Хабровчане, смотрите на такое? Стоит ли очинка выделки?
У меня, вобщем то всё готово для этого — даже на PHP и MySQL база есть — осталось только оболочку сделать, и домен прикупить.

И пара скриншотов

image image
Tags:
Hubs:
+68
Comments100

Articles