Разработка
Сколько стоит сделать приложение?
Разработчик Брайан Конклин делится затратами на разработку своей первой игры.
Сколько стоит сделать приложение? Мне часто задают этот вопрос. Многие люди не знают об этом ничего, и я их не виню. Когда я только начинал разработку SiK Robot, у меня было несколько совершенно наивных представлений о будущих затратах и том, сколько я должен заработать по справедливости.
Я думал, что просто заплачу кому-нибудь за помощь с кодом на всех платформах и все займет несколько недель.
И я не был новичком. Я был страстным фанатом технологий уже 26 лет и только получил степень магистра в Computer Science. И все же я еще был зелен.
Я быстро понял, что проект не будет дешевым. Каждый раз, когда я отправлял свои требования в потенциальное агентство и спрашивал, во сколько мне обойдется разработка приложения, они называли невиданные цены: 15, 20 и даже $50 000 за разработку и развертывание на iOS и Android.
Путь к просвещению
Цены за разработку приложения, которые мне называли, были для меня неподъемными. Еще я узнал, что пользователи iOS тратят больше на приложения, чем пользователи Android. Так что я решил переработать план и сосредоточиться на приложении для iPhone. Я собирался выучить Objective-C и сделать его самому. На это я заложил пять месяцев и сказал всем, что точно закончу задолго до этого срока. Я проглотил бесконечное количество туториалов по Xcode и Objective-C. Я даже купил новый Macbook Air примерно за $1300.
Попутно нужно было научиться как следует работать в Photoshop. Я даже не представлял себе, сколько графического дизайна заключено в разработке кнопок, фонов и всего прочего. Мне пришлось потратить $500 на разработку некоторых персонажей и фонов для того, чтобы начать.
Взять полностью на себя разработку и дизайн — отличный опыт, но это отняло вечность.
И тут вдруг прошли пять месяцев, и я пропустил дату, которую задавал с большим запасом. Я очень недооценивал, сколько времени нужно на разработку приложения. В то же время Apple представил свой новый язык программирования Swift. Я начал пытаться его выучить, чтобы код моего приложения был релевантным. Вскоре я понял, что с таким подходом я не справлюсь. Мне нужно было привлечь еще кого-то, чтобы когда-нибудь закончить все это.
Хотите помочь мне сделать приложение?
Уже не такой наивный, я взялся за найм со всей серьезностью.
Очень важно отметить две главные составляющие создания приложения: дизайн и разработка.
Дизайн включает в себя весь пользовательский опыт: разумное использование таких графических элементов как кнопки, меню, навигации и фонов. Все это составляет пользовательский интерфейс, ключевой элемент приложения.
Разработка это программирование. Здесь очень важны эффективность используемых алгоритмов и исполнение дизайна.
Я быстро осознал, что все разработчики и дизайнеры не созданы одинаковыми. Вы всегда получаете то, за что платите. С моими новыми установками и с учетом всего того, что входит в разработку приложения, я мог эффективно оценить портфолио и примеры работ, сделанных другими. Многие приложения, разработанные «доступными» агентствами, выглядели и функционировали очень похоже друг на друга. Они были скучными, не творческими. Другие агентства и разработчики-одиночки, просившие больше, показывали более интересные приложения. Было очевидно, в какую сторону двигаться.
После поисков и интервьюирования в течение нескольких недель, я собрал команду индивидуалов. Это было начало моей команды по разработке приложений здесь, в Zylo.
Дизайн
Я потратил около $4200 на графический дизайн за три месяца. Сюда вошло создание цельного пользовательского интерфейса, включая кнопки, элементы меню и навигации, фоны, графика шэров в социальных сетях и проработки персонажей. Поскольку мое приложение было игрой, графика была более, чем важна. Недостаточно разработать прототип на Xcode с минимальной графикой. Для игры очень важно погрузить пользователя в свой мир, а для этого требуется придумать новый уникальный способ взаимодействия с игрой, который вместе с тем укладывается в привычные рамки.
Скачок в июне — это плата за первый дизайн, который позволил мне начать. Сюда входит разработка SiK Robot и овечек, а также фоны, пока я пытался закодит приложение сам.
Как видно на диаграмме, в течение октября я потратил много времени на изменение туда-сюда требований к графическому дизайну и привыкание к совместной работе с дизайнерами. Как только вы с этим справитесь, в следующие 30 дней будет сделано очень много.
Ноябрь стал месяцем больших трат. Также в этом месяце возникла необходимость полной переработки UI. На половине разработки я вдруг понял, что существующего пользовательского интерфейса недостаточно: он не работал как следует. И я заплатил за помощь с переделкой интерфейса, что привело к созданию убойного интерфейса для SiK Robot.
Разработка
Я потратил около $6200 на разработку за три месяца, и все еще не закончил. Не забывайте, это после того, как я потратил пять месяцев на попытки разработать приложение самому. Программистам пришлось добавить очень многое к моим начинаниям.
Выброс в июне на графике — это покупка Macbook Air. О, как я был тогда амбициозен! Можно заметить, что работа несколько застопорилась в ноябре из-за того, что переделывался UI. Декабрь прошел за внедрением нового UI, и мы до сих пор вносим финальные штрихи и параллельно отвечаем на пользовательские отзывы, которые прислали нам во время бета-тестирования.
Диаграмма показывает, что на декабрь выпала львиная доля всех затрат на разработку. Теперь, после появления новых размеров экранов в iOS, нам нужно писать для iPhone 4,5 и 6. Очень дорого обходится только то, чтобы все было правильно расположено на каждом экране.
В январе указаны неполные траты, поскольку мы все еще продолжаем разработку. Мы все еще погребены под исправлением багов. Ничего нового не реализуется.
Разное
Я не буду подробно останавливаться на дополнительных затратах, но игнорировать их тоже нельзя. К ним, например, относятся звуковые эффекты, музыка, сервисные сборы и судебные издержки. Сейчас мы решаем юридические вопросы с Apple, потому что кто-то уже использует название SiK Robot в AppStore. Мы потратили $500 на регистрацию торговой марки и это значительно задержало дату запуска.
Кроме судебных издержек мне пришлось потратить около $1000 на вышеупомянутые вещи.
Продолжающаяся разработка
Штука в том, что все это никогда не заканчивается. Мы проходим бета-тестирование и каждый день находим баги.
Исправление багов — это как пытаться заткнуть постоянно возникающие в дамбе пробоины. Только заделаешь одну, как появляются две другие.
Сколько стоит сделать приложение: полученные уроки
Я многое понял с тех пор, как решил создать приложение и захотел узнать сколько стоит сделать приложение. Вот четыре главных вещи:
1. Создавать список требований
Жизненно важно иметь подробное описание всего функционала, который вы хотите иметь в вашем приложении. Это полезное упражнение, потому что оно заставит вас оценить ваше приложение в целом. Просто запишите все, что вы хотите от приложения: одно предложение за раз. Этот процесс называют спецификацией требований к ПО. Это целая отдельная наука, но необязательно описывать все в очень технических терминах. Чтобы начать, нужно иметь хотя бы 10 элементов. Вот три примера из моих требований к SiK Robot.
1. Пользователю представляется случайно сгенерированная мысль робота, которая помещается в верх экрана
2. Пользователь может двигаться влево и вправо для скроллинга опций или свайпом выбрать другую мысль робота.
3. Если пользователь находит кажущееся ему забавным совпадение, он может свайпом вниз заклеймить им овечку
2. Сделайте макет
Очень мощным подспорьем может оказаться изображение вашей идеи. Из него начинается вайрфрейм. Вайрфрейм — это набор изображений, которые соответствуют последовательности экранов в вашем приложении. Не нужно быть излишне точным. Начать можно с draw.io. Нужно показать то, как пользователь будет продвигаться по вашему приложению. Вы сможете выявить противоречия, потому что вы вам придется столкнуться с ограничениями при визуализации ваших идей на последовательности маленьких экранов.
3. Оттачивайте до тех пор, пока не получите минимально жизнеспособный продукт (MVP)
Если вы такой же как я, то вы тоже хотите сделать «простое» и «маленькое» приложение. Это не предполагает такой большой работы, правда? Как только вы закончите первые два урока, у вас получится около 20 экранов. Нет? Есть ли в ваших идеях пользовательские аккаунты? Что если пользователь забудет пароль и ему нужно будет его сбросить? Вы сделали эти скрины? Создание экранов пользовательского аккаунта для логина/регистрации/сброса — целый самостоятельный процесс.
Итак, теперь у вас есть полновесный план вашего приложения. Время осознать, что вы не имеете ни малейшего представления, будет ли это работать, а еще очень важно получить одобрение остальных. Я знаю, что вы прекрасный генератор идей, но попробуйте забыть о своем эго ненадолго. Самый быстрый способ валидировать приложение — сделать его как можно меньше. Без какого функционала вы не сможете обойтись совсем? Минимальное число экранов? Это и будет ваш minimum viable product — MVP. Как только вы все это выясните, вернитесь и переделайте требования и макет для отражения MVP. Это то, над чем вы будете работать в ближайшие 3-6 месяцев разработки вашего приложения. Вот пример MVP SiK Robot, который я сделал в октябре. На нем представлен начальный UI, который я в конце концов отбросил и теперь могу спокойно смотреть на него.
4. Если вы делаете игру, создайте документ для дизайна игры (Game Design Document — GDD)
Я даже не подозревал о его существовании, когда начинал приложение. Было бы очень полезно, если бы я подготовил его в самом начале. GDD позволяет вам детализировать сюжет, персонажей, уровни/среду, геймплей, арт, музыку/эффекты, пользовательский интерфейс и элементы управления. Он сочетает в себе что-то от требований к программной части и вайрфрейма в контексте игры. Для облегчения жизни можно воспользоваться онлайн-шаблонами.
Заключение
Ответ на вопрос «Сколько стоит сделать приложение?» таков — суммарные затраты составили $12,000 и будут еще расти. Теперь мы прошли полный круг. Первоначальные оценки оказались довольно точными. Но вообще, когда я делал прикидки, я надеялся на гораздо более крутое приложение, чем получившийся MVP.
В итоге: если у вас есть идея приложения, создание MVP, скорее всего, обойдется вам как минимум в $10,000.
Выпустите его на рынок и посмотрите, что получается. Если люди захотят тратить на него деньги или оно монетизируется через рекламу и внутренние покупки, начните расширять функционал. Если же оно потонет… по крайней мере, вы пытались!