Pull to refresh

iMakeCard. История разработки новогодней программы

Reading time 4 min
Views 918
Когда на дворе декабрь, за окном валит снег и сердце начинает биться сильнее в предвкушении предстоящих новогодних праздников, начинаешь задумываться, что же такое подарить родному, любимому человеку или просто знакомым, которые заполняют бесчисленный friendlist в той или иной соцсети. Разумеется, на всех подарков не накупишь, но уделить внимание хочется каждому.

Так и родилась идея создания приложения “iMakeCard”. В нем можно выбрать любую понравившуюся открытку и пожелание для получателя, а затем отправить по e-mail, либо разместить на странице в Facebook или в Твиттере.


Идея


Ориентировка была выбрана на американский рынок, соответственно “iMakeCard” стал англоязычным. Конечно, мы понимали, что подобных программ в App Store есть немало и главным заданием было найти ту “изюминку”, которая станет нашей отличительной чертой. Таких “изюминок” нашлось много, но так, как времени на разработку был всего 1 месяц и хотелось до праздников разместить приложение в App Store, мы выбрали наиболее полезные и интересные из них, а главное – такого ни один из конкурентов не предлагал.

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

Во-вторых, подборка готовых поздравлений с Новым годом и Рождеством. Данное новшество позволяет без особого труда найти понравившееся пожелание буквально за несколько секунд, что избавляет от длительного выдумывания замысловатых фраз, или от шаблонных текстов. Наличие в базе около тридцати поздравлений дает возможность подобрать нужные слова для любого родственника, друга, или коллеги. Если все же у пользователя появится желание написать что-то от своего имени – в “iMakeCard” предусмотрена опция набора текста вручную.

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

Дизайн


Дизайн придумали сами, собравшись вечером после работы в одной из пиццерий. Как говорила моя бывшая начальница: “Дизайн разработан профессиональными программистами”. Решили оформить все под дерево. Вот примеры того, как это все выглядело на бумаге:


Художника для открыток и дизайнера интерфейса, который должен был выдать красивую картинку из наших каракуль, нашли на фрилансе. Вот так преобразились наши рисунки:




Все это сопровождается красивыми анимациями.

Разработка


Особых проблем с разработкой у нас не возникло, в команде 3 опытных iOS разработчика, а я писал на Objective-C еще до выхода первого айфона. Вся разработка программной части заняла около 2-х недель в свободное время. Больше всего времени ушло на разработку красивого интерфейса. Мы всегда отказывались от сторонних библиотек и решили написать все сами, исключением стал фреймворк для шаринга в соцсети.

Одним из сложнейших заданий оказался импорт в gif, стандартные методы позволяют сохранить gif файл, но он получался гигантских размеров, пришлось написать сохранение самим. Дело в том, что стандартный CGImageDestination не умеет сохранять разницу между кадрами, а сохраняет каждый кдр полностью. Кроме того, для завершения создания анимации он выделяет очень большое количество памяти, иногда программа даже падала на этом месте. Попробовали использовать библиотеку ImageMagic, но это оказалось зря потраченным временем — сохранение занимало до 2-х минут.

Второй задачей было загрузить анимацию в твиттер, а он этого не позволяет. Был выбран сторонний сервис — twitpic. Но тут тоже все оказалось не просто, после аплоада на последнем кадре были заметны жуткие артефакты. Письмо в саппорт, ответ, но проблема так и не решилась. Случайно заметили, что если пройти по ссылке full для загруженного файла, то там все работало как часы.

Программа разрабатывалась без использования ARC. Эффект coverflow был реализован наследником UIScrollView, для отражения создается дополнительный леер, которому ставится CATransfrom3D со скейлом -1 по оси Y. History так же реализована на основе UIScrollView из интересного тут механизм повторного использования ячеек как в UITableView и погрузка картинок в отдельном потоке. Все анимации интерфейса, такие как перелет картинки в конверт или вылет из History реализованы на стандартном механизме UIView animations.

Продажи


Теперь немного о плохом. После успешной регистрации iMakeCard в App Store был создан сайт с кратким описанием программы и возможностью обратиться с предложениями и пожеланиями в службу поддержки. Чуть позже сняли ролик и разместили его на Youtube.



Уже 13-го декабря программа была доступна в AppStore. Сразу занялись продвижением, были куплены твиты у популярных сайтов, заказаны обзоры. Но это не принесло больших успехов:



Последние два дня программа распространяется бесплатно, собираемся так и распространять ее дальше.

Будем рады услышать ваши отзывы, вопросы и комментарии!
iMakeCard: itunes.apple.com/app/id486368622
Tags:
Hubs:
+5
Comments 10
Comments Comments 10

Articles