ТЕКСТ: АННА ТЕРЕЩЕНКО (CREANNCY). Здравствуйте, меня зовут Аня и я хотела бы поведать вам о своем опыте разработки приложения для iOS. Идея начать разработку долго терзала мою светлую голову, и наконец, примерно 4 месяца назад я решилась. 1 марта свет увидело приложение Резюме PRO.
Первые шаги
Для многих первой проблемой при разработке под яблочные девайсы является необходимость наличия компьютера с Mac OS для полноценной работы. К счастью, мне эту проблему решать не пришлось, так как имелся новый Mac Mini в топовой конфигурации, недавно привезенный из США. С тестированием также проблем не было – под рукой были iPad и iPad 2.
У меня уже имелся небольшой опыт программирования (5 лет технического университета прошли не совсем даром и опыт работы тоже имелся), однако этого было совершенно недостаточно, поэтому пришлось начинать практически с нуля. Единственное, что я умела делать хорошо на данный момент из того, что могло помочь при разработке – это рисовать. Основной проблемой было изучение нового языка – Objective C. Он был абсолютно не похож на Borland Delphi с Турбо Паскалем, изученные в университете.
Скачав и установив Xcode 4, я немного растерялась в сложном навороченном интерфейсе, но смогла привыкнуть к нему достаточно быстро, благодаря отличному справочному руководству по Xcode от Apple. Что касается самого языка, то обучение шло практически интуитивно, на примерах и видеоуроках. Главное было понять основной синтаксис языка и разобраться с принципом работы, а найти ответы на большинство возникающих вопросов можно было на замечательном сайте www.stackoverflow.com.
Идея и ее воплощение
Идея написания приложения для составления резюме появилась практически сразу. Изучив рынок американского и российского App Store, я заметила, что в российском сегмента приложений такого рода не существует совсем, а в USA сегменте имелся лишь один серьезный конкурент – программа Pocket Resume. Но мне совершенно не нравился дизайн программы конкурентов и непродуманная, неудобная навигация в ней.
Что хотелось получить в итоге: удобное приложение, позволяющее пользователю составлять резюме, заполняя составленные разработчиком разделы и пункты: личную информацию, сведения об опыте работы, образовании, рекомендации, навыки и способности и другую важную для работодателю информацию. Плюс ко всему должна была быть возможность отправки резюме в pdf и html форматах на email. Чтобы не отставать от единственного конкурента было решено добавить возможность загрузки резюме в Dropbox. Также ключевым моментом должна была быть возможность создания неограниченного количества резюме, их редактирования и удаления. Программу я решила делать только под iPad, так как заполнять резюме (а тем более потом просматривать) на небольшом экране iPod Touch и iPhone было бы очень неудобно (хотя программа конкурентов являлась универсальной и поддерживала все устройства).
Проблем во время разработки возникало много. Все они были из-за банального незнания языка и решались многочасовыми битвами девушки-программиста и XCode. Каждая задача, начиная от занесения данных в БД (программа использует CoreData) при изменении полей, и заканчивая созданием превью резюме с помощью HTML отнимала очень много времени, поэтому на разработку приложения ушло около 4 месяцев. В конце разработки в приложение была добавлена поддержка русского языка (изначально программа разрабатывалась на английском), для чего пришлось переделывать большую часть графики, не говоря уже о переводе всех надписей и текстов. Как только появилась первая стабильно работающая версия, был создан дизайн в Adobe Photoshop, придумано название и нарисована иконка, которая в последствие была перерисована 2 раза. Запуск долго откладывался именно из-за последней.
Начальную цену приложения я решила сделать минимальной в 0,99$ (и поднять ее в случае успешности приложения), так как в первую очередь меня интересовали позиции и популярность приложения, а не прибыль.
Результат
Приложение удачно проверили так, что оно запустилось перед выходными (в пятницу) из-за чего оно несколько дней было на странице Бизнес раздела, пока его не сдвинули вниз новые приложения (в выходные новых приложений публикуется гораздо меньше, чем в будние дни). В день запуска была куплена рассылка пресс релиза о приложении на американские веб сайты и СМИ через сервис PRMac.com за 20$.
В первый же день продаж приложение попало на 9 место категории Бизнес в российском AppStore, и на 11 место в Американском. Это было очень неплохим результатом, тем более для моего приложения, рассчитанного на узкую аудиторию.
Через пару дней после старта продаж приложение было добавлено Apple в раздел New (Новинки) в российском и американском AppStore, что дало неплохой рост продаж и удержало позиции приложения, так как оно уже пропало из видимой области списка приложений. Примерная прибыль составляла около 50$ в день, продажи в США составляли около 70%, на Россию приходилось около 10%.
Еще через день на мою почту написал пользователь приложения – француз, говорящий на английском языке, и предложил свою безвозмездную помощь по локализации приложения на французский язык. Я выслала ему все тексты для перевода, и через пару дней была готова новая версия приложения – с мелкими поправками старых багов, и добавлением полной поддержки французского языка.
В данный момент приложение постоянно совершенствуется и планируется введение многих новых функций. Актуальная версия на момент написания статьи 1.2 (в ней добавлена поддержка Air-Print, темы оформления для резюме и многое другое).
Сейчас я занимаюсь продвижением своего приложения, поэтому следующую статью я планирую посвятить вопросам продвижения приложения в российском App Store и рассказать как этому способствует создание бесплатной версии приложения.
Что хотела бы посоветовать таким разработчикам, как я, напоследок:
– Главное – понять важность и нужность того, что вы разрабатываете. Нужно обязательно изучать рынок, иначе без этого ваши труды могут пропасть даром.
– Работать как можно быстрее. Сегодня вы создали идею, завтра еще пара одаренных программистов займутся этой же проблемой.
– Ищите нестандартные идеи. Это то, что я всегда говорю себе. Одинаковых приложений миллион – надо выделяться.
– Не жалеть сил и времени. Работать.
– Заботиться о красоте создаваемого приложения. Человека подкупает яркость и уровень дизайна.
– Планируйте дату запуска ближе к выходным или на них. Это позволит дольше удержаться на видимом месте.
Full: $1.99$ [iTunes link]
Lite: Free [iTunes link]
Бесплатная версия приложения немного отличается дизайном, и требует внутренней покупки для доступа к функциям экспорта.
Буду рада выслушать вашу критику и замечания в комментариях.
29 комментариев
Форум →Почему дата в американском формате? И нет возможности редактировать уже готовое резюме (переносить и править элементы) – одна из причин, которая остановила меня от покупки данной программы.
@Whilser, Что вы имели ввиду под “Править элементы”? Вы можете редактировать любую запись в любом разделе программы и удалять их. Перенос (сортировка) добавлена в новой версии, которая скоро выйдет. Про даты ответила чуть ниже.
@Anna Creanncy, Адрес телефон и почта в одной строке, нельзя подписать “адрес, контектный телефон, e-mail, тел.” или добавить их ниже по тексту. И еще один большой минус, который я забыл написать – нет возможности вставить личную фотографию!
@Whilser, Добавление фото уже сделано в новой версии, ждите обновления. То, как пишутся адреса и телефоны, взято из стандарта оформления резюме в США и зарубежных странах (так как изначально программа заточена под этот рынок). Возможно добавим для России другой формат вывода резюме и настройки.
Вы не первый кто задает такой вопрос, поэтому эта поправка уже сделана в новой версии, которая выйдет через неделю в AppStore. Формат даты будет выбираться на основе региональных настроек iPad. Также там добавлены некоторые новые и интересные функции. Мы всегда прислушиваемся к мнению пользователей и добавляем в программу то, что им интересно там увидеть.
Желаю вам всяческих успехов!
@Костик, Спасибо)
Мне не нравится, что каждого новое слово начинается с Заглавной буквы.
Дата смешно выглядит: дата1 По дата2 – “по” пишется с маленькой буквы.
Уходите от цифр. 2012-03-20 – это 20 марта 2012, так красивее.
При экспорте в html при отсутствии почтового аккаунта прога вылетает.
@Артур Малосиев, От, По и т.п. уже исправлено в новой версии, ждите обновления. Про даты был ответ выше. Про баг с email проверим.
@Артур Малосиев, У вас при отсутствии email вылетает? В окне просмотра экспорта или при нажатии какой-то еще кнопки? Только что проверили на двух устройствах и в симуляторе – даже если вообще ничего не заполнено вылета нет.
@Anna Creanncy, iPad 3, учетную запись Mail.app не делал.
При нажатии на экспорт HTML/PDF прога вылетает.
@Артур Малосиев, Очень странно, к сожалению на других устройствах все работает, а iPad 3 пока достать негде. Немогли бы вы нам прислать текст CrashLog приложения (он находится в Настройки>Основные>Об этом устройстве>Диагностика и использование (внизу)>Данные>Название_программы. Откроется окно с текстом, скопируйте его и вышлите нам пожалуйста через форму контактов, чтобы вам не заводить учетку почты: http://creanncy.com/contact-us/ ). Спасибо!
@Anna Creanncy, дело не в iPad 3, а в том, что Вы тестировали на тех устройствах, где почтовая учетная запись не настроена, поэтому и вылетает. Прежде чем показывать форму отправки сообщения, следует проверить, есть ли возможность отправить сообщение,
if ([MFMailComposeViewController canSendMail]){//открыть форму для отправки сообщения}
else
{//вывести какое-нибудь сообщение}
@Tuggen, Спасибо. Странно то, что так не должно быть ДО нажатия кнопки отправки на почту. Так как до нажатия никакой инициализации MFMailCompose не происходит, а следовательно и вылета быть не должно (а у человека вылетает просто при входе на форму экспорта).
@Anna Creanncy, отослал.
Однозначно нужна интеграция с Linkedin
Да польется масса “клоновых” резюме в урну HR :)
А чем вам не угодил Word ?даже если нет своих Templates, то всегда можно воспользоваться стандартными и бесплатно)
Сохраняй себе в PDF и в Word и рассылай по компаниям :)
@iGeorG, Ну как бы вам сказать, Word, iWork и прочие программы тоже не бесплатны и стоят куда дороже двух баксов. Плюс понядобятся конвертеры в PDF, я уж не говорю про умение обычного человека всем этим воспользоваться. А тут чик и готово ;)
Почему то подумалось, что на фоне экономического кризиса на подобной программе можно озолотиться )))
@zMaster, ну вот если у вас есть iWork на iPadе, то незачем эта прога. :) в PDF сразу сохраняется :)
@iGeorG
Аполитично рассуждаете. Так можно поставить под сомнение целесообразность половины а то и больше прог в АппСторе.
Мы живем в Post-PC world, как сказал Тим Кук.
@heximal, вот именно, пришло время облаков :) гугловский ворд
Исправьте в иконке слова Empoyee на EmpLoyee (Вы пропустили одну букву) :)с каждым бывает
@illyzoren, Да в программе давно исправили, это тут старая картинка попалась в статью случайно.
@Anna Creanncy, какую прислали, та и попала :)
@Артур Малосиев, Об этом и говорю, что в статью кривую случайно прислали =)
А напишите на счет паблишинга. Вроде вы не со своего аккаунта публиковатли. Как выбирали? Какие условия? Профит? :)
@viaphone, Публиковали со своего аккаунта, паблишера на программное обеспечение (если это не игра, и не какая-то супер сложная программная система, нужная всем и везде) вы никогда не найдете. Паблишеров на данный момент интересуют только игры, причем узкий круг их жанров (речь идет о США).
Хочу интеграции с hh.ru, moikrug.ru и linkedin.
Не хочу по-новой заполнять резюме.
Сделаете, куплю :)
прогу не видел, но очень удивили слова:
“В конце разработки в приложение была добавлена поддержка русского языка (изначально программа разрабатывалась на английском), для чего пришлось переделывать большую часть графики, не говоря уже о переводе всех надписей и текстов. ”
Как совет на будущее. Я не знаю как локализация сделана в objective c, сам только взялся за него, но как вариант можно сделать класс, который будет содержать элементы всех менюшек. Т.е. например есть у вас кнопка и выпадающий список, в зависимости от языка, надо менять текст на кнопке и внутри выпадающего списка. Создаем в классе 2 статических объекта: SomeButton и SomeCombo(разумееца тип и название объектов делаем под себя). Далее делаем в этом классе загрузку XML файла в зависимости от выбранного языка. Например для русского грузите RusElements.xml, для англ EngElements.xml. Далее парсим этот файл и заполняем наши поля. В дальнейшем используем ClassName.SomeButton. Не надо никакой прорисовки.
Если что неправильно понял, сорь.
Нашли орфографическую ошибку в новости?
Выделите ее мышью и нажмите Ctrl+Enter.Как удалить загруженные на iPhone рингтоны
Как отключить активные подписки App Store на Windows
Где порядок воспроизведения в приложении музыка на iOS 10? Пропала сортировка треков.
Не получается обновить прошивку на iPad, iTunes выдает ошибку. Как быть?
Ошибка при наборе номера в международном формате. Что делать?
Почему старый iPhone начинает плохо работать
Как отключить предпросмотр вкладок в Safari на Mac
Как использовать iPhone, если сломалась кнопка блокировки