Development for iOS
December 2012 22

О том, как выпустить отличное iOS приложение, которое никому не нужно

From Sandbox

1. Для начала нужна хорошая и востребованная идея


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

В то время я как раз был в поисках идеи для пробы пера на AppStore. Я протестировал с десяток популярных планировщиков под iOS, платных и бесплатных. Некоторые были хороши в своих аспектах (списки задач, календари), но универсального решения я не нашел. Вернее нашел, но они были страшные и неуклюжие, и, судя по всему, неудачные в плане коммерции. Поэтому было решено реализовать универсальный и, в то же время, простой органайзер с максимальным применением советов Глеба Архангельского, как самых практичных, на мой взгляд.



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

У меня не было ожидания заработать на этом приложении. Я прекрасно осознавал, что рынок не большой и переполнен приложениями конкурентов, среди которых есть хорошо раскрученные звезды.



Но я собирался сделать продукт качественно и ответственно, на уровень лучше чем у других, надеясь получить новый опыт и хотя-бы отбить свои вложения. В конце концов, мне лично нужна была эта апа!

2. Потом нужны деньги и усилия


Я не бросился с места в карьер, а в течении месяца хорошо продумал функционал. Составил спецификацию на 40 страниц. Кстати, при подготовке спецификации (именно самого документа), я столкнулся с некоторыми техническими трудностями, которые натолкнули меня еще на одну идею, реализация которой будет полезной многим людям, которые работают с объемными документами. Да, никогда не знаешь в чем окажется истинный смысл твоих действий. И та работа, которая оказалась бесполезной, может вывести тебя на новый путь в другом направлении. Поэтому нужно делать то, что считаете нужным и со временем все обретает смысл. Как правило. Но это уже другая история…

Так вот, я отфильтровал лучшие идеи Глеба Архангельского, других авторов, добавил немного своего опыта и удачно разбил это все на 5 табов приложения. Где-то неделю я думал только об иконках для табов. Они должны были быть очень лаконичными и четко передавать свою суть, как и все остальное в приложении. Мне кажется, что получилось не плохо.



Скажу, что это очень приятное ощущение, когда у тебя на экране графически помещается 5 табов и ты понимаешь, что тебе ровно столько и нужно — ни одним больше, ни меньше. Это словно само провидение подсказывает, что ты на верном пути. Советую не жалеть времени и всегда пытаться достичь такого эффекта согласованности. Пока у вас что-то не вписывается в интерфейс или в логику, не пытайтесь обойти это костылем. В таком случае всегда лучше не спешить, а еще раз трезво все продумать и добиться чувства «вот это оно!». Тогда приложение получится по-настоящему дружественным к пользователю.

Спецификация готова и был начат поиск программиста. Я сам не плохой программист и объем работ от начала до релиза оценил в 3-4 мифических человеко-месяца. Но я осознавал, что стоит начать писать код самому, как неизбежно погрузишься в трясину мелких деталей, которые полностью лишат тебя целостного видения продукта. Ты неизбежно отвлечешься на рюшечки, захочешь сделать лучше здесь и здесь, а в итоге проект затянется на годы. Я думаю, что у многих из нас есть такие проекты на всю жизнь…

Программиста долго не искал, а взял одного из первых. Вернее даже не программиста, а архитектора — так он себя позиционировал. Мы с ним поговорили, я посмотрел, что он делал раньше, и он мне сразу понравился, а ему понравился проект. Кстати, раньше он никогда не писал код под iOS, зато был довольно продвинутым в Java. Я считаю, что хороший программист быстро учится и будет хорош везде. Так и получилось. Надо сказать, что он попросил довольно высокую зарплату, но я решил не экономить на самом главном, помня, что скупой платит дважды. В дальнейшем он меня не подвел.

Сначала мы с ним работали удаленно. Я тоже писал часть кода там, где считал это целесообразным, в основном по графическому интерфейсу. Классы и алгоритмы были на программисте. Конечно же мы использовали SVN, Jira и, как ни странно, емайл. При четкой спецификации и ТЗ, удаленная работа вполне приемлема. Но не следует расслабляться, а регулярно следить за прогрессом и продуктивностью работы. При чем советую требовать не просто отчеты, а регулярно хорошенько тестировать текущий функционал. Если баги и мелкие недочеты вовремя не обозначить и не ликвидировать, то со временем они накапливаются и создают монстра, которого проще переделать заново, чем привести в порядок.

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

По части дизайна работы было не много — только отдельные задания по иконкам. Эти задания были отданы фрилансерам. Всего по данному проекту с нами работало два фрилансера: один работал с главной иконкой приложения, второй делал внутренние иконки. Они оба отлично справились с заданиями.

Четыре месяца прошли быстро и незаметно…

3. Затем нужно еще больше денег и максимум усилий


Как положено, проект слегка затянулся. Всего ничего, по общим меркам. Кстати, кто угадает длительность разработки в месяцах от начала и до релиза, получит промо код в подарок.

Процесс разработки был довольно спокойным и предсказуемым. В том смысле, что легко предсказать, что не все пойдет по плану. Технических сложностей не возникало — весь задуманный функционал был реалистичен. К счастью, Apple относительно редко выпускает обновления для iOS и, как правило, все они хорошо согласованы. Главная проблема возникла только с одной фичей, которая в нашем воображении выглядела очень привлекательной. Но когда мы ее реализовали то увидели, что она совершенно не практична и в реальных условиях неприменима потому как слишком надумана и не прозрачна для пользователя. Суть ее была в том, что каждую задачу пользователь может стартануть и остановить в нужное время и даже поставить на паузу. Таким образом достигался бы максимально верный подсчет аналитики. Но даже нам, при полевых испытаниях, было лень стартовать все задачи таким образом, скрупулезно нажимая кнопки старт и стоп в нужное время. Возникало очень много побочных проблем, например если пользователь забывает вовремя остановить задачу. Эти проблемы мы пытались решить, от чего функционал становился громоздким и неуклюжим. Поэтому, в конечном итоге, мы отказались от данной фичи и заменили ее другой, основанной на приблизительной оценке бюджета времени задачи. Аналитика становится менее точной, но все равно остается репрезентативной и при этом ничего не стоит в плане усилий пользователя.

Проект слегка затянулся не из-за неверной оценки объема работ или низкой продуктивности, а из-за того, что мы увидели как сделать некоторые вещи лучше и проще. Как известно, упрощать — сложно, но именно этим мы и занимались в последние месяцы разработки. Было еще несколько функциональных возможностей, которые резко видоизменились в процессе. Спецификация постоянно совершенствовалась и уточнялась. Все изменения функционала сразу отображались в спецификации, чтобы не потерять целостного видения. Гибкая разработка, ёпта!

И вот, когда бюджет и мотивация уже начали иссякать, мы получили финальную версию, которая работала и которая нам нравилась. Конечно, она была не идеальна и у нас был список фич на 3 страницы мелким шрифтом, которые еще нужно улучшить и доработать. Этот процесс никогда не закончится, в отличии от денег. Кстати, кто угадает сколько денег ушло на разработку, конечно же, получит промо код в подарок.

С релизом на AppStore проблем не возникло. Мы назначили классическую цену — $0.99. И, как положено, через неделю после загрузки апа появилась в продаже. Свершилось!

4. И наконец, надо отказаться от продвижения


Надо сказать я ожидал большего от органического трафика в первые дни, а он был просто смехотворный — 19 закачек! Но это еще что, дальше будет только хуже…

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



Но все они стоят не дешево. Был вариант за $2500 гарантированно попасть в ТОП-100 категории Продуктивность. Через месяц цена уже была $4000. Я бы с радостью им заплатил, но к тому моменту наш бюджет себя исчерпал и было решено оставить все как есть до лучших времен, в том числе ради эксперимента. Приложение поддерживалось, мы выпускали обновления, общались с пользователями. Это все требовало минимальных усилий.

Чуда не произошло. Наша качественная апа затерялась среди тысяч других бесполезных приложений. Конкуренция по ключевым словам просто неимоверная. За прошедшие пол года среднее количество ежедневных закачек кодируется одним битом, а в лучшем и очень редком случае — двумя. Мы экспериментировали с ценой, но при таких низких объемах закачек и так все понятно: $0.99 — лучший вариант. Сделать апу бесплатной мы не пробовали, наверное потому, что знаем ее ценность.

Самое забавное — никто не сказал, что приложение плохое. Даже наоборот — все, кто скачал, остались довольными, судя по отзывам на AppStore и письмам в поддержку. Но, к сожалению, тех, кто не скачал — подавляющее большинство.

Мораль истории в том, что разработка успешного приложения — это действительно в первую очередь маркетинг и только потом разработка. Всегда рассчитывайте потратить на продвижение хотя-бы половину тех средств, которые уйдут на разработку. Иначе вы получите отличное приложение для личного использования за бешеные деньги. Кстати, мы сами остались довольны результатом и активно пользуемся приложением. И каждый раз, когда я пользуюсь им, я вспоминаю сколько оно для меня стоит. А ведь кто-то может купить его за бакс…

Еще одной серьезной ошибкой было не выпустить русскоязычную версию приложения сразу. Мы соблазнились на объем американского рынка, а ведь российский рынок нам более понятен и менее конкурентный. Тем более приложение в первую очередь полезно любителям Глеба Архангельского, а таких у нас на много больше. Мы выпустили русскую версию совсем недавно и, как ни странно, она приносит больше закачек, чем английская. На порядок одного бита больше. Нельзя недооценивать наш рынок, друзья.

Вот так мы выпустили качественную апу, которая никому не нужна… Или нужна? Ей, кто-нибудь?

Надеюсь история получилась интересной и поучительной. Буду рад ответить на ваши вопросы, а также услышать комментарии и предложения. Спасибо.
+77
61.9k 213
Comments 185