ТЕКСТ: АРТЕМ КУДРЯВЦЕВ. Дари цветы! – приложение, которое помогает дарить цветы. Идея приложения пришла в голову моему другу. Все очень просто: приложение рассчитывает случайным образом даты, когда нужно подарить цветы. Я же как раз приобрел себе 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 по умолчанию не попадает в “Центр уведомлений”. Т.е. пользователь, ничего не подозревая, перестает получать напоминания. Баг заведен в bugreport.apple.com, принят к сведению, но до сих пор лучшие умы Apple работают над его устранением. Ждать, когда баг исправят бесполезно, поэтому мы решили показывать всем пользователям с iOS5 сообщение, чтобы они проверяли, есть ли приложение в “Центре уведомлений”. Заодно обучим всех пользоваться этой новой фичей.
Так что будьте бдительны. Если вы используете какие-либо напоминалки, то проверьте “Центр обновлений” после перехода на iOS5.
Публикация в AppStore
К концу октября все было готово. Я собрал приложение и отправил его на ревью в iTunesConnect На ревью ушло 4 дня, тут никаких вопросов.
Мы очень рады, что выпустили наше первое приложение, и надеемся, что пользователи мобильных яблочных устройств станут больше дарить цветы. Спасибо за внимание.
iPhone/iPod: Free [iTunes link]
13 комментариев
Форум →парни, очевидно что эта прога больше бы имела смысла, будь она подвязана на доставку цветов. в России пока с доставками беда, но начинать то когда то нужно.
@ganjubasoff, +1. Программа была бы намногого популярнее. Это ведь нужно. Это удобно, легко, быстро. А так.. Конечно, много проблем возникнет, но окупится, и еще как.
@ganjubasoff, заказываю цветы на AMF.ru. Все остальные сервисы по доставке близко не лежали. Однажды даже доставили срочный букет в 2 часа ночи к черту на куличках, получательница была в шоке :) Цветы у них качественные, стоят долго. Дизайн букетов тоже отменный, не какой-нибудь веник из киоска, а то, что дарить не стыдно.
Данная же прога помогает вспомнить о цветах. Со способом монетизации согласен, но тут нужен человек, который будет разруливать B2B.
Очень хорошая и качественная статья.
Лучшая статья про разработку! Есть не только пустые слова, но и полезные ссылки.
А сам я пытался писать приложения… Аж четыре раза. Но каждый раз, как только взгляну на язык C, мне дурно делается. В общем, дальше установки XCode дело не пошло.
Обидно, товарищи…. Ведь есть столько светлых идей!
А что, разве стандартный планировщик не решает? Зачем городить кучу программ, которые дублируют уже существующий функционал?
Набросок иконки с синим фоном понравился больше)
@MrHubris, однозначно, цветовая схема третьего наброска, по-моему, очень располагающая!
а фиолетовая ни в какие ворота.
П.с.: текст читал всё-таки в ожидании того, что вы реализовали клиент сервиса доставки цветов, а оказалась только напоминалка. Желаю успехов в первом направлении;)
@MrHubris, финальная иконка и иллюстрации ужасные.
Чтобы программа жила: измените дизайн, добавьте (как сказано выше) доставку и тогда она не будет жить в телефоне меньше минуты. Я уверен, что достаточно связаться с сайтами доставки указанными выше и всё заработает.
@Kotentsov, обратите внимание на иконку программы Foodily — она прекрасна и без всяких человечков и будет меняться от версии к версии. Для вас это тоже актуально ;-))
@Kotentsov, чёрт побери, обращайтесь — нарисуем ;-)))
Намой взгляд это пока лучшая история про разработку. Спасибо. Единственное, что хотелось бы еще услышать – про написание самого кода.
Нашли орфографическую ошибку в новости?
Выделите ее мышью и нажмите Ctrl+Enter.Что делать, если залипает трекпад MacBook?
Почему устройство не видит iPhone в режиме модема
Не приходят уведомления Твиттера
Как на iPhone просмотреть все купленные приложения?
Почему не освобождается место при удалении файлов с флешки в macOS
Как найти iPhone дома, если включен беззвучный режим
Почему на Mac время в ОС Windows отличается от времени macOS
Как создать дубликат приложения на iPhone?