Dev Story Дари цветы! История о внимании

ТЕКСТ: АРТЕМ КУДРЯВЦЕВ. Дари цветы! – приложение, которое помогает дарить цветы. Идея приложения пришла в голову моему другу. Все очень просто: приложение рассчитывает случайным образом даты, когда нужно подарить цветы. Я же как раз приобрел себе Macbook Air 11″, вдоволь наигрался с ним, и уже рвался попробовать написать что-то под iOS.

Далее мы посмотрели, что сейчас уже предлагает AppStore: есть приложения для покупки цветов онлайн, есть красочный справочник по цветам, есть даже приложение для выращивания виртуальных цветов. Но нет приложения для того, чтобы непосредственно подтолкнуть человека к дарению цветов. А в большинстве случаев именно этого и не хватает: мы забываем, откладываем на следующий раз, и в итоге наши девушки/жены получают цветы только на 8 марта.

В итоге мы решили, что делать такое приложение нужно. Оно будет полезным, позитивным и бесплатным.

Для порядка и серьезности мы сразу разделили обязанности. Разработку я взял себе, т.к. я программист по профессии (flash/flex, web), а у друга все равно нет Mac. Ему досталось написать ТЗ, придумать профили (о них чуть ниже), тексты подсказок для подарков. Также мы подумали, что нужно найти дизайнера, который нарисует профессионально иллюстрации и иконку. Мой коллега по работе согласился помочь нам безвозмездно, т.к. ему понравилась идея и вообще он хороший парень.

Более детальная идея приложения выглядела так: пользователь может создавать записи, где ключевыми элементами являются его профиль и тип девушки.

После сохранения записи приложение высчитывает дату следующего события случайным образом. Т.е. грубо говоря, если в профиле выбрано “дарить каждые 2 недели”, то следующая дата может быть в промежутке от “завтра” до “через 2 недели”. От типа девушки зависит, какой цветок будет ей предлагаться. Причем первый подарок всегда ее любимый, а далее для разнообразия ей предлагаются и другие. В день события пользователь получает уведомление, открыв которое, он попадает на экран с деталями: что подарить, совет и иллюстрация.

Если же вы Чак Норрис, то и для вас найдется профиль. С ним вы лишь будете получать напоминания, что дарить цветы не надо.

Теперь о разработке. Итак, я скачал себе XCode. И нашел ресурсы, чтобы обучаться. Что я читал для обучения:

  • iOS Developer Library – тут можно прочитать про азы Objective C и т.п. (я никогда не писал раньше на C), можно скачать примеры, ну и, конечно, просто обратиться к документации по любому классу.
  • How to create simple iphone app – отличная пошаговая статья про создание простого приложения. Сам туториал я целиком не проходил, просто брал оттуда то, что нужно именно мне.
  • iPhone Programming Tutorial – Local Notifications – статья про то, как работают Local Notifications (не путать с Push Notifications) в iOS.
  • Ну и больше всего мне помогал stackoverflow.com. Вводим в гугле любой вопрос, типа “ios string concatenation”, смотрим результаты, ведущие на stackoverflow. Там почти всегда находятся грамотные и подкрепленные рейтингом ответы.

Первую неделю было довольно тяжело использовать своеобразный синтаксис Objective C, но привыкаешь ко всему, и где-то через 2 недели вечерних погружений в разработку первая рабочая версия приложения была готова.

Как тестировал
Следующим этапом было тестирование непосредственно на устройствах. Для этого я купил лицензию iOS Developer Program. Естественно повылазили мелкие баги. Также при взаимодействии с реальным устройством сразу видно, что улучшить в пользовательском интерфейсе. В общем, работа шла.
Через пару дней мне надоело высылать приложение на тестирование по почте, после чего каждый еще должен был поставить его через iTunes. Поэтому я нашел замечательный сайт testflightapp.com. Теперь после обновления приложения, я заливал файл на этот сайт. Потом тестировщики получали email, открывали его на своем устройстве, и там же устанавливали новую версию. Все это бесплатно, и в реальном времени можно наблюдать у кого какая версия.

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

В итоге мной был сделан корявый набросок иконки. После чего дизайнер подхватил идею и отлично ее оформил своей мастерской рукой. Ушло на это правда около двух недель.

На ожидание иллюстраций подарков ушло еще около 3-х недель. Но время не пропало зря. В ожидании я шлифовал приложение и потом сделал простенький промо-сайт.

Выход iOS5 и проблема с уведомлениями
В середине октября выходит новая версия iOS. Мы встречаем новую замечательную систему уведомлений. И тут обнаруживается большая для нас проблема: любое приложение, которое использует Local Notifications при обновлении на iOS5.0 по умолчанию не попадает в “Центр уведомлений”. Т.е. пользователь, ничего не подозревая, перестает получать напоминания. Баг заведен в , принят к сведению, но до сих пор лучшие умы Apple работают над его устранением. Ждать, когда баг исправят бесполезно, поэтому мы решили показывать всем пользователям с iOS5 сообщение, чтобы они проверяли, есть ли приложение в “Центре уведомлений”. Заодно обучим всех пользоваться этой новой фичей.

Так что будьте бдительны. Если вы используете какие-либо напоминалки, то проверьте “Центр обновлений” после перехода на iOS5.

Публикация в AppStore
К концу октября все было готово. Я собрал приложение и отправил его на ревью в iTunesConnect На ревью ушло 4 дня, тут никаких вопросов.

Мы очень рады, что выпустили наше первое приложение, и надеемся, что пользователи мобильных яблочных устройств станут больше дарить цветы. Спасибо за внимание.

iPhone/iPod: Free [iTunes link]

Данная история опубликована в рамках рубрики Developer Story, где разработчики делятся секретами своей внутренней кухни.
Источник: iphones.ru

Читайте также  Разработка Показываем таймлайн Twitter
TRAVEL