Разработчик засыпает, просыпается маркетолог: как я приложение продвигал

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Когда-то давно я думал, что вот напишу приложение, выложу, а дальше оно как-нибудь само наберёт популярность, взлетит в чарт, принесёт денег. Так бывает, но готовиться нужно к тому, что придётся заниматься «выводом на рынок и продвижением», и на это потребуются время и силы.

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

Для продвижения нужен хоть какой-то план. О том, что делать в теории, уже написано много раз. Давайте посмотрим, что у меня получилось на практике.

Первый тест и кастдев

Приложение оформилось, но хотелось понять, насколько оно полезно другим — надо было дать кому-то попользоваться. В Твиттере предложил знакомым посмотреть, как оно работает на их проектах, только с одним условием: они поделятся результатами визуализации. Откликнулись ребята из Яндекса, HH.ru, Перекрёстка, Reveal.cam, Тинькофф и ещё несколько человек. 

Кастдев оказался полезен с двух сторон: появился запрос на фичи (например, добавить легенду про цвета) и показал полезность программы. Можно релизить.

Пользовались приложением и разработчики в Додо Пицце. Так, например, оно помогло при ресёрче для App Clip: смотрели, сколько кода мы можем поместить в него, что можем ещё выкинуть, что случайно попало в билд через транзитивные зависимости.

Исправил самые частые проблемы, поправил приоритеты для будущих задач и приступил к релизу.

Предрелизная подготовка

На подготовку к релизу смело закладывайте неделю — предстоит много разной работы по оформлению страницы в App Store.

Название

Самый надёжный способ найти покупателя — показаться ему в результатах поиска. Поиск в App Store должен попадать в ключевые слова, а лучше всего это работает, когда нужное слово есть прямо в названии. Раз мы визуализируем билд с помощью графика, то Build Graph вроде выглядит неплохо и это примерно то, что люди могут искать.

Ещё один вариант — попробовать сделать так, чтобы люди случайно находили приложение. Самый простой — добавить к названию дополнительные слова. Build Graph for Xcode вполне выполняет эту задачу (и даже проходит ревью у Apple).

В названии могли бы быть и другие слова: chart, dependency, log, но звучными был именно Build Graph, а эти ушли в дополнительные ключевые слова. Добавил ещё синонимов про скорость компиляции и слов из популярных соседних приложений. С этим можно будет поиграться в будущем и посмотреть, что лучше работает.

Иконка

Сначала попробовал нарисовать сам, первый вариант был такой :D Полная ерунда, но это позволило выгрузить билд в TestFlight. Понял, что у меня много других задач, лучше сэкономить время.

Предложил дизайнерам на работе попрактиковаться в рисовании иконок для Mac-приложения. Ребята воодушевились, поспрашивали про приложение, его цель и пользу для людей и ушли на денёк хакатонить дизайн. 

Первый же макет попал метафорой в точку.

Я накидал иконок-соседов от приложений, которыми пользуются разработчики, чтобы посмотреть графические рифмы, а ребята дорисовали детали.
Я накидал иконок-соседов от приложений, которыми пользуются разработчики, чтобы посмотреть графические рифмы, а ребята дорисовали детали.
В итоге — иконка!
В итоге — иконка!

Скриншоты

Для скриншотов насобирал основных фич — даже удивился, сколько их получилось в итоге. Поддержал сквозным ходом с линией. Кажется, такое оформление идёт всему приложению и можно поддержать его везде.

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

Цена

Чтобы понять, какую назначить цену, нужно определиться с аудиторией приложения.

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

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

  • Аналогов нет, опенсорс-решения намного слабее. 

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

Приложения для Mac исторически более дорогие, чем приложения для айфонов. Моё только запускается и фич немного, но оно уже приносит сильную пользу, поэтому установил цену в $30. Small Business Program уменьшает комиссию с 30 до 15%, этим надо пользоваться. 

Высокая цена приводит к тому, что даже при небольшом количестве покупок получается неплохо зарабатывать, что мотивирует поддерживать приложение:

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

Прикручивать встроенные покупки было некогда из-за ситуации в мире, поэтому я поторопился с релизом и сделал приложение просто-платным, а на запуске даю «триал» в виде бета-тестирования через TestFlight. Тестировщики мне же всё равно нужны.

Скорее всего, монетизация будет меняться: компаниям не очень удобно покупать лицензии через AppStore, а продажи через ключи и эквайринг на сайте ещё надо прикрутить.

Опенсорс

У каждого пет-проекта наступает момент, когда создателю просто надоедает им заниматься, и он идёт делать что-то другое. 

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

Ревью и релиз

Мне было интересно, хватит ли десяти лет опыта в разработке, чтобы пройти ревью с первого раза. Должен признаться, что нет. 

Причин отказа было несколько:

  • вылет на старте. Я запрашиваю доступ к файлам в DerivedData, но не обработал сценарий, когда пользователь разрешения не даёт. Это был чуть ли не первый написанный код — обработкой негативного сценарий тогда не занялся, а потом забыл; 

  • в приложении могут быть только необходимые entitlements. Когда я добавлял Firebase, то дал доступ и для client, и для server, на что мне и сделал замечание ревьювер. Оставил только client.

Ревью хотелось пройти побыстрее, поэтому, даже просыпаясь ночью, я проверял почту и правил замечания. Пройти ревью за первую ночь не успел, но за следующую приняли без замечаний.

В итоге от первого коммита 10 октября до релиза 7 марта прошло 5 месяцев. Не могу сказать, что я сильно активничал: последний месяц программа почти не развивалась и зарелизилась лишь волевым усилием, когда понял, что разработка застопорилась в отвратительном состоянии: и дальше не двигается, и пользы не приносит, хотя может. 

Зарелизил я на следующий же день: рассказал у себя в Твиттере, в канале Dodo Mobile и закинул в iOS Good Reads. Маркетолог скажет, что надо больше активностей и все за раз, но у меня хватило сил только на такой запуск.

Планы на маркетинг

App Store

Самая простая продажа, когда люди заходят в App Store, видят программу и покупают. Варианта два: либо они заметили приложение на главной странице, либо смогли найти через поиск. Важнее всего для поиска название приложения, с ним мы уже разобрались. Что ещё влияет на продвижение?

Для поиска важно количество скачиваний и оценки. Если бы приложение было бесплатным, то можно было бы попросить друзей и коллег поставить первые оценки, остальную работу сделают будущие скачивания. Для платного приложения это проблема, ведь бесплатно подарить можно лишь 100 промокодов, а они пригодятся для других задач. Критически важно добавить в приложение SKStoreViewController, чтобы запрашивать оценки у тех пользователей, которые купили приложение. 

Публичный тест дал возможность попробовать приложение бесплатно: спустя месяц в публичном тестировании участвует 200 человек. Можно будет рассказывать им о скидках или придумать какой-нибудь способ мотивировать к покупке.

Подборки в App Store

Можно податься в разные подборки: например, у Xcode есть подборка с набором инструментов для разработки, а в App Store на Mac есть целый раздел для разработчиков. Чтобы попасть в такую подборку, надо будет написать напрямую в Apple. Пока отложу это на несколько версий попозже, когда всё будет стабильно работать (смотрите, какое у меня искажение на откладывание, не надо так). 

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

Сайт

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

Я мало что понимаю в написании сайтов, поэтому сел накидывать первые варианты в Фигме. Тут же понял, что хочется тёмную тему, и чтобы скриншоты переключались под цвет окружения. Попробовал накидать разные варианты компоновки (правый позже станет десктопной версией). В это же время впервые появляется идея снять видео, в котором показываю и рассказываю про программу, как было при презентации Hey.

Минимально мне надо показать логотип, название, скриншот, дать описание и мои контакты.

Собираю прототип и публикую на GitHub pages. Mobile-first, все дела :-)
Собираю прототип и публикую на GitHub pages. Mobile-first, все дела :-)

После того как настроил сайт и написал простенькую заглушку, захотелось большего, например, рассказать про все фичи приложения. Немного flex, picture и медиа-условий, всё очень просто.

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

В конце адаптирую сайт для десктопа и красуюсь максимально большой картинкой для 5k мониторов. Просто потому что могу.

Уже запланировал переделку, снова по юзер-стори: надо взять граф неоптимизированного приложения и прямо на сайте показать, как я пользуюсь приложением, какие выводы делаю по графу, как правлю и что получается в итоге. Из этого же можно сделать отдельную статью, про это же можно снять видео. Самое сложное — создавать картинки, а форматов под них может быть очень много. 

Посмотреть на сайт. Обязательно попереключайте тёмную тему и порезиновите его :-)

Активности

В App Store приложение описал, для поисковых систем как-то показались, пора заняться активностями по привлечению людей. Теперь надо попасть в поле зрения нужных людей. Удобно, когда аудитория небольшая и все «места обитания» ты и так знаешь. 

Статьи

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

Я запланировал как минимум три статьи:

  • Как писал приложение;

  • Как продвигал приложение (она перед вами);

  • Как читать граф, какие проблемы мы увидели и как решили. 

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

Рассылки

Для iOS-разработки есть еженедельные рассылки, там часто бывает реклама приложений. Можно попробовать предложить авторам, авось получится. 

Я подал заявку Dave Verwer, в конце каждого письма есть ссылка Suggest a link. Ответил быстро, но приложение как-то странно заработало на его проектах и он пока не решился опубликовать. Надеюсь в новой версии получится исправить критичные баги, у Дейва получится построить интересный граф и в рассылке приложение появится. 

В русском сегменте стоит посмотреть на популярные каналы в Телеграме про iOS-разработку. Например, вот пост в iOS Good Reads и больше 5.5 тысяч просмотров. 

Сам я ничего не делал, но оказался в дайджесте mbltdev.ru. Если бы составил список заранее и написал авторам, то смог бы понять источники переходов, но я про это совсем забыл.

Твиттер

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

Иногда все начинает работать само собой.
Иногда все начинает работать само собой.

В Твиттере стоит и отдельный профиль завести: можно будет аккумулировать все статьи про модульность и занять целое направление про скорость билда. Для людей будет ценность не только в программе, а во всей теме, что может притягивать. 

Знакомства

Можно точечно писать хедам разных компаний: программа для них — полезный инструмент, могут рассказать о ней разработчикам и купить несколько лицензий для компании. 

Проблемы

Всему продвижению ужасно мешают внешние условаия: Твиттер заблокирован, активности там мало, новые профили создавать нельзя, а значит и доступ к иностранной аудитории отваливается. В рассылку меня могут не добавить, потому что я разаботчик из России, Setapp — украинская компания, а дополнительный эквайринг не получится подключить или он будет недоступен для зарубежных коллег. Мир тесен, лучше торговать.

Планы и идеи

Первую важную точку я прошёл: приложение появилось в App Store и можно начать заниматься продвижением. Сначала обновления, скорее всего, будут исправлять проблемы по фидбэку от пользователей (например, просят возможность менять размер шрифта). Планов на мелкие доработки навалом: хочется добавить полную навигацию с клавиатуры, проработать доступность, ускорить парсинг логов до десятых секунды.  

Есть планы и на большие фичи.

  • Хочется дать возможность раскрашивать граф, чтобы -отделить внешние зависимости от внутреннего кода или фичевые фреймворки от базовых.

  • Хочется сделать сквозной процесс по работе с билдами. Я могу мониторить DerivedData и смотреть, сколько билд занимает в сумме за день, чтобы накапливать статистику во времени и тем самым наглядно показывать пользу от работы приложения. Или можно показать, какие связи и модули появились за последний квартал или год — должно быть очень удобно для долгосрочной работы.

  • Было бы круто сделать внутри приложения TODO-лист с задачами по оптимизации. Это может приводить к прикольному процессу, когда после анализа билда у вас автоматически генерируется ряд задач на оптимизацию, а последующие прогоны самостоятельно анализируются и задачи закрываются. 

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

Вопрос из зала: сколько стоит такая разработка?

Я не измерял время, которое потратил на приложение. От начала до конца прошло 5 месяцев, работал вечерам по 2-3 часа и всего пару раз в неделю. Суммарно, наверное, набегает на 300-500 тысяч рублей, если учитывать и сайт, и статьи, и прочее. 

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

Получится или нет — пока неизвестно, но если получится, то я обязательно напишу об этом ещё. Подписывайтесь в Телеграме на Dodo Mobile или на меня в Твиттере.

Скачать Build Graph for Xcode

Источник: https://habr.com/ru/company/dododev/blog/659419/


Интересные статьи

Интересные статьи

Прежде чем приступить к автоматизации тестирования желательно проанализировать приложение. Чем больше приложение готово к автоматизации, тем меньше проблем будет в дальнейшем при разработке автотестов...
Эта история про то, как искать виновника торможения запросов, если база и бэкенд переводят стрелки друг на друга; почему при обновлении базы не стоит раньше времени завершать нагрузочное тестирование;...
DevRel как направление активно набирает популярность, и если еще лет 10 назад о таком никто не слышал, то сейчас отделы Developer Relations появляются практически во всех крупных IT-компаниях.  В...
По умолчанию считается, что хард-скиллы определяют крутость разработчика, а вот эмпатия и другие гибкие навыки почему-то не рассматриваются. В то же время без них очень с...
Рано или поздно маленькие приложения разрастаются до нагруженных production-решений, поэтому программисту необходимо заранее продумать стек технологий. Для Python концептуальный выбор сто...