528 дней создания плеера
Прошёл год с момента публикации «Meows.app — клиент для Apple Music» — эта статья была подготовлена к первому релизу приложения. Это время было наполнено множеством постов в моём блоге (всего 528 постов), вечеров разработки, маркетинга, рекламы и много другого, сейчас я вам об этом расскажу подробнее.
Основные отличия плеера
Не буду пересказывать всю историю создания meows.app. Основные отличия и функции:
- Сборник плейлистов (более 8к) с функцией поиска и/или рандома.
- Новый формат отображения рекомендаций Apple Music — мы собрали все рекомендации, а это около 2к треков, в 1 плейлисте, добавили возможность прослушивания группы рекомендаций, которые пересчитываются несколько раз в день при прослушивании музыки.
- Топ плейлисты других стран — можно сменить страну без изменения настроек в аккаунте Apple (но могут возникать проблемы с доступностью некоторых песен из-за лицензирования в стране вашего аккаунта Apple); Бонусом — возможность просмотреть альбомы исполнителя (артиста), которые недоступны в вашем регионе (треки будут играть редко, если не входят в другие альбомы или плейлисты).
- Новая страница управления текущего трека — лайки и дизлайки никуда не скрыты, а так же добавлено отображение списка проигрывания.
- Список любимых треков и исполнителей (для особо утонченных — раздел с тем, что не понравилось так же присутствует).
- Отслеживание релизов любимых исполнителей.
- Автоматический пропуск дизлайк песен и исполнителей.
- Рекомендации исполнителей на основе лайков и дизлайков песен (как подписаться на понравившихся так и отметить, что данный исполнитель не «зашёл» для см. пункт выше).
- Собственные плейлисты рекомендаций.
- Сохранение плейлиста между запусками.
- Фильтры: автоматический пропуск музыки с кириллицей в названии и/или проигрывание только новой музыки (на основе истории прослушивания meows.app).
Помимо функциональности, произошло изменение дизайна приложения:
Поменялся не только дизайн внутри приложения, но и оформление в магазинах приложений.
Вышла долгожданная для многих версия для Android
А так же бета версия для web:
ASO и продвижение
Первое время я пытался сделать обзоры приложения на разных сайтах входящих в «ТОП 100» приложений (списки, которые я нашел, давно устарели), я даже пытался актуализировать список, описать количество посетителей и сколько стоит публикация, но выхлопа не заметил и бросил это «гиблое» дело.
Экспериментировал с рекламой (около 15к рублей в сумме на разных платформах) — установки вышли очень дорогими. Нормальная реклама только через Apple Search Ads, возможно, Google Ads для Android дает хороший результат по стоимости, но я его еще не рекламировал, а iOS вышел очень дорогим (от 30 до 150 рублей за установку). Параллельно занимался изучением ASO. Деньги, потраченные на продвижение в ASO и его изучение, дали пока самый лучший результат.
Много информации я подчерпнул в чатах телеграмма, в частности в https://t.me/asoprivet и https://t.me/ReviewsAppStoreRU.
Инструменты для ASO:
ASO-инструменты
Агенство и платформа по продвижению и отслеживанию трафика.
У них на главной странице была возможность заказать обзор приложения (сейчас не уверен) — в результате мы достаточно долго и продуктивно пообщались по моему приложению, мне дали оценку стоимости продвижения, советы чем заниматься в первую очередь, но так как я инди-девелопер, то я их поблагодарил и пошел делать все сам.
Есть полезные статьи в блоге.
На платформе есть мотивированные установки по поисковым запросам, отзывы и аналитика по запросам. Мотивированные установки влияют на позиции, но я их много не заказывал — где-то помогли, а где-то я уперся в определенную позицию и не стал делать больше установок.
В основном, использую для отслеживания своих позиций и реже оценки частотности поисковых запросов.
В первую очередь — платформа для продвижения и анализа своего приложения, есть программа обучения и услуг по продвижению. Много полезного контента!
Наверное, они самые точные по оценке трафика, причем дают оценку по всему миру — где-то лучше, где-то хуже. Даже на бесплатном тарифе можно подбирать ключевые слова для приложения (хотя и не удобно), но тарифы у них достаточно дорогие =(
Брал небольшое количество мотивированных установок в США — толку мало, видимо надо много покупать...
По расчетам платформ надо покупать ОЧЕНЬ много установок- обычно для продвижения по нормальным словам нужны сотни и тысячи установок в течении нескольких дней, а потом постоянно небольшое количество.
Я их знаю как платформу, достаточно много функций, тарифы тоже не восторг (для инди). Для этой статьи использовал их Timeline. И мне их аналитика нравится (+опять же это бесплатно)
У них так же есть академия и статьи по продвижению, и много различных инструментов.
Есть много других сайтов/платформ, но они или без бесплатного тарифа или я пользуюсь ими совсем мало. Много пользовался appradar.com для редактирования переводов и релизов, но потом эта функция стала платной =(
Spotify
Выход Spotify дал большое количества трафика, в частности из-за высоких позиций по запросам Spotify (6) и Спотифай (1)
Работа с отзывами
Одним из важных пунктов продвижения является работа с отзывами. Я отвечаю на каждый отзыв (кроме «Я Вася» — до сих пор думаю, что ответить…) Очень радуют отзывы в позитивном ключе или с запросом какой-то функциональности, стараюсь делать такую функциональность побыстрее.
Важно работать с негативными отзывами, не только потому что они портят оценку, но и так как они могут быть очень полезны и указывать на баги или супер нужную пользователю функциональность. Я смог несколько таких отзывов превратить в положительные.
Я пытался купить немного отзывов на самом старте, но их активно чистили, поэтому я пару раз попробовал, увидел что из нескольких десятков выживший один или 0 и не стал больше пытаться работать с покупкой отзывов. Для рейтинга и отзывов встроил вызов запроса на определенное количество лайков или дизлайков песен, чтобы просить отзыв только у тех кто пользуется приложением и теоретически готов оставить хороший рейтинг или отзыв.
Medium
Я считаю мой it-challenge одним из главных факторов моих результатов. Ежедневная фиксация результатов очень мотивирует и, главное, дает результат! Я не думаю, что смог получить большое количество пользователей, но и продвижением на medium я не занимался, чаще всего у меня достаточно короткие посты (отчеты), но встречаются достаточно большие и полезные.
Социальные сети
Одним из основных каналов привлечения трафика без денег стал для меня twitter. Я завел аккаунт приложения и от его имени лайкал посты про Apple Music и Spotify, иногда отвечал на посты пользователей и давал ссылки на сайт, причем написание названия приложения meows.app автоматически конвертируется в ссылку.
Посты на Reddit много трафика не принесли, но и бесполезными их назвать нельзя, и, мне показалось, что лучше делать несколько небольших постов, чем один большой, а на vc лучше заходят большие посты (по крайней мере я на это надеюсь, так как этот пост большой)
App Store
Фактор неожиданности и закона подлости — если Вам нужен срочно релиз — Apple будет делать Reject со всякой «фигней» или зависать на недели.
Waiting for Review
Вообще эта статья должна была называться 526 дней, но AppStore решил не проверять мое приложение. Обычно «waiting for review» около суток, но версия 2.0.4 ждала пять суток, видимо, чтобы я лучше вычитал статью... опять помогло письмо в поддержку...
InReview
Приложение может зависнуть в статусе InReview — я читал, что может длится до 5 недель... После 4-5 дней я пишу через форму обратной связи аккуратное письмо:
«Здравствуйте, мое приложение долго находится в статусе InReview возможно вам нужны уточнения или я могу вам чем-то помочь?» (English, конечно же)
На следующий день отвечают, что все ок, ждите, если будут вопросы, то мы напишем. После этого в течении 24 часов приложение сдвигается с мертвой точки. Было два раза, мне повезло и все было ок, но помогает не всегда…
Reject & Bug
Не так давно мне надо было срочно обновить приложение из-за бага (жить можно, но очень неприятно), после 26 часов ожидания я отправил запрос на ускоренное прохождение проверки. Через 22 часа мне ответили, а еще через 30 часов мне прислали отказ из-за мета информации (ЗАЧЕМ они решили проверить мои ключевые слова и подзаголовки, которые я не менял несколько месяцев для меня до сих пор остается тайной). Я быстро написал ответы, что часть информации менять не буду, сослался на пункты правил, после чего снял версию, заменил подзаголовки в соответствии правилам и отправил на повторную проверку — проверка прошла.
Google Play
Я не очень доволен текущей версией Android, но все-таки отправил ее в релиз. Из ASO я знаю, что одним из самых важных параметров продвижения для Android является Retention пользователя, поэтому я пока не делал продвижения, а дописывал рекомендательную систему и другие нотификации.
Фичи и разработка
На самом деле я не занимался продвижением приложения достаточное количество времени, а больше развивал функциональность и стабильность приложения. Я только сейчас подхожу к тем функциям, которые считаю важными и особенными, все что было сделано — было подготовкой для нового рывка.
Задачи веду в miro.com в формате стены со стикерами.
На данный момент стараюсь исправлять критичные баги и развивать все, что связано с возвратом пользователя в приложение и рекомендациями.
Версия 2.0.4 от 20.07.2020 получила рекомендации исполнителей и уникальные персонализированные плейлисты для пользователей. Плейлисты обновляются при большом изменении, прослушивании плейлиста или через 3 дня.
Discover new by meows.app
Плейлист содержит только новые для пользователя треки (непрослушанные ранее), от исполнителей без рейтинга.
Your Loved songs
Подборка, которая появляется при установке лайка 222 песням, на основе которых формируется список, который должен содержать треки близкие по духу, встречаются ранее оцененные
Favorite mix
Новые треки (непрослушанные ранее), включая треки ваших любимых исполнителей. Нужно более 121 любимого трека или более 22 любимых исполнителей.
Аналитика
На данный момент остановился на связке Firebase и AppMetrica. В основном использую AppMetrica с мобильного телефона для просмотра текущего дня. Сравниваю динамику прироста новых и количества пользователей в течении дня, месяца, недели.
На данный момент лучшая платформа для получения пользователей бета версии бесплатно. Но у них очень тормозной сайт, когда вы приглашаете много людей. Пользуюсь бесплатным тарифом — смог добавить в TestFlight 1575 человек и получить сотни различных отзывов и даже подробных описаний ошибок.
iOS-виджет
Иногда меня просят сделать кнопку управления на заблокированном экране, например, вместо кнопки «Назад» сделать кнопку с рейтингом или вызов меню как у Spotify — к сожалению, я не могу так сделать, так как использую системный плеер для воспроизведения, чтобы музыка играла, даже после выключения приложения, а так же была синхронизация с системным приложением Apple Music, чтобы пользователь имел максимум возможностей по управлению музыкой. Не системный плеер плохо работает с AirPlay — даже у Spotify лаги в несколько секунд.
Flutter
Весь мой код клиента для Android, iOS, web написан на Flutter с вызовом нативного кода Apple Music SDK для проигрывания песен. За этот год я ни разу не пожалел о своем выборе и с февраля 2020 года работаю на полную ставку Flutter developer (был в Лиге ставок, а теперь в zfx.com)
Не так давно сделал оптимизацию части кода, чтобы приложение не тормозило на средних и слабых девайсах — я далек от идеала, но стало лучше, если вы считаете, что надо сделать лучше — напишите мне в личку на каком телефоне, что тормозит (видео — вообще супер), а я постараюсь сделать лучше!
Команда
Я пишу код (Flutter,. net core, Angular), принимаю кучу решений по порядку разработки, занимаюсь продвижением, ASO, серверами (Rancher2).
Моя лучшая на свете жена немного помогала с кодом клиента и сайта, но основной ее вклад — это генерация идей, тестирование результата в качестве пользователя(более 2800 любимых песен) и контроль, что мы делаем классный продукт.
Дизайнер Александр Кондратенко, который на добровольных началах помог мне привести части интерфейса к нормальному виду и создал нам новую прекрасную иконку!
Добровольный тестировщик Андрей, с которым мы начали переписку в твиттере, а теперь он мне сигнализирует, что я опять что-то сломал)
Отдельное спасибо пользователям, которые пишут свои идеи, проблемы и отзывы — спасибо Вам!
Вывод
Спасибо, что прочитали или пролистали статью. Пожалуйста, попробуйте мое приложение, напишите ваше мнение, вопрос, отзыв или еще что-то. Надеюсь, эта куча информации и цифр поможет Вам!
P.S. iOS14 сломана для сторонних плееров, issue для Apple заведены.
Ох уж эти нитакиекакфсе, истинно верящие, что в снг музыка по определению ограничивается пугачевой, ак47, моргенштерном и иже с ними, а вот в других странах в каждой строчке текста заложены филосовские размышления древнегреческих философов.
Я слушаю достаточно русской музыки в разных жанрах, но что-то мне ниразу ни вк, ни спотифай, ни дизер не рекомендовал русскую говномузыку.
Так что тех, кого напрягает "музыка с кириллицей в названии" в рекомендациях стоит задуматься, может дело в вас?
Это опция создана для Apple Music:
во-первых, чтобы можно было слушать топы России - там жесть;
во-вторых, рекомендации Apple ОЧЕНЬ своеобразно выбирают русскую музыку :D
в-третьих, эту функцию просили)
Я на самом деле хочу еще добавить фильтров, в том числе пропуск музыки с латиницей в названии, но руки никак не дойдут :D
P.S. у меня достаточно много русской музыки, в том числе на виниле дома)
Комментарий недоступен
Попробу гугл плей, тебя заебут русским репом, и прочими Бузовыми.
Но у нас действительно мало хорошего рока, мало качественной попсы, есть немного джаза, да, металлисты если не поют на английском - то их тексты таким как вы лучше и не слушать, ибо "котята - пушистые слуги Сатаны" и все такое... патриотизм - хорошо, но не где-то, витая в облаках.
в итоге не понял кто на ком стоял
Комментарий недоступен
Игорь, в самое сердечко.
Спасибо за упоминание. Но я всего лишь верхнеуровневый ux сделал. Дальше не полез — порог входа в флаттер для меня оказался высоковат, чтобы детали пилить, а твой ресурс с получасом в день слишком ценен.
а деньги приносит?
пока тратит, но я верю в светлое будущее)
Еще один плеер да еще под ios. Господи зачем?!
Често говоря я не видел аналогов) И плеер, это только основа моей работы. Зачем - вы можете прочитать в моей первой статье https://vc.ru/tribuna/74562-meows-app-klient-dlya-apple-music . Сейчас я сосредоточен на рекомендациях - индивидуальные плейлисты, артисты, похожие плейлисты(скоро) и другие задачи)
Есть на ведре.)
Я очень надеюсь, что однажды вас сожрет спотифай или яндекс. Тогда у вас получится выйти с капиталом для следущего проекта. Потому что завязывать сервис на доступ к API стороннего сервиса это бомба замедленного действия. Это было проверено и доказано множество раз как за рубежом (с фейсбуком) так и в России (вконтакте). Стриминг сервис это только 1% про интерфейс плеера. Там еще и про усидеть на четырех стульях крупнейших лейблов, которым принадлежит 95% контента, и про инфраструктуру, и про иструменты для артистов. Ну и рассуждения о том, что можно не показывать песни с кириллицей, попахивает шизой имхо.
Спасибо! К сожалению стартануть свой стриминговый сервис очень дорого, наличие данных, опыта старта, алгоритмов и пользователей - это уже неплохо. Я больше надеюсь на покупку меня Apple, но мечтать не вредно). Я понимаю всю шаткость положения, но Apple вряд ли будет делать то что делаю я(им и так норм) + они медленные. На данный момент у меня не только интерфейс, но и большое количество постоянно поступающих ко мне данных, от пользователей - обновления, рейтинги, альбомы, артисты, плейлисты, рекомендации. Минимальная инфраструктура и алгоритмы для построения своих рекомендаций и расчетов.
Про кириллицу - это один из фильтров, и это реально достаточно болезненный вопрос для многих в Apple Music( https://twitter.com/SunFoxx_/status/1285500557856301057 ). Такой же болезненный - это фильтр на жанр, но я пока еще про UX думаю - как правильно сделать)
Зачем приложению Apple ID? Например, VC app может открыть VK app и зарегится с него без ввода паролей. Крайне небезопасно вводить свои данные в левые приложения.
это вызов системного запроса на подключение Apple Music и получение доступа к музыке пользователя. Окно с вводом данных Apple ID написано Apple, я НЕ имею к нему доступа!
Комментарий недоступен
Спасибо)
Статья преследовала две цели:
1 - получить немного пользователей для meows.app,
2 - поделиться с людьми своим опытом, я подобного рода статьи очень ищу и они мне очень помогли, поэтому считаю своим долгом рассказать максимально открыто о своем опыте.
Потому что скрипач не нужен.
Какие методы монетизации планируете использовать?
рекламы не будет. Сейчас важно получить реально нужные функции за которые не стыдно брать деньги) Планирую сделать подписку на рекомендации, поиск похожих и другие advanced функции. Но для начала надо поднять вовлеченность пользователей и аудиторию.
Пиши исчо:)
Здорово! Нужно только подумать, на кого таргетировать я и в чем конкурентное преимущество. Ну и как окупить все это хозяйство...
Отличная статья, спасибо
А что с неймингом? Нечитабельно как то 🤷🏻♂️
ну, это такой прикол) мяукать + домен свободен был) на самом деле не вижу особого профита в нейминге тут. В сторе приложение называется "Плеер для Apple Music,iTunes@ - по канонам ASO, а сайт - короткий и забавный, причем не накладывает ограничений на приложение.
Разве у аппмертики есть официальный sdk для флаттера?
есть https://pub.dev/packages/appmetrica_sdk - в нем не все, но основные события ходят и краши.
Комментарий недоступен
на самом деле у меня куча задач, но это всегда выбор приоритетов. Вот вы второй кто за вс время написали про иконку дизлайка) Постараюсь поменять.
Хочу шапку плейлиста поменять. Может быть список текущих песен по-другому сделать, ближе к Spotify, чтобы дать больше возможностей управления.
Но рекомендации ,например, тут важнее) а задач куча)
НО, я буду очень рад услышать, где именно интерфейс кричит)
Спасибо за статью! Почерпнул для себя много нового.
Ваш блог на Medium открывается, а вот отдельные статьи там я уже битый час не могу открыть - timeout и 504.
оу, ну тут от меня видимо мало что зависит, видимо medium прилег.
Если трек только начался, а я сразу переключаю на следующий — это можно считать дизлайком? Я в машине только так и делаю. Несколько таких дизлайков треков от одного исполнителя — банить этого исполнителя целиком.
Я не могу слушать Apple Music, он меня достал. Я сажусь в машину, мне нужно что-то выбирать, чтобы послушать. Ставлю какую-то рекомендацию — он мне каждый день одни и те же треки играет.
Неделю назад Спотифай появился, я начал его пробовать. Они якобы купили кучу стартапов музыкальной аналитики и предпочтений — а та же фигня, либо выбери плейлист в жанре панк, либо электронику. Блин, да я хочу все свои любимые жанры слушать вперемешку, я не могу панк слушать час подряд. Ну и опять треки повторяются каждый раз как этот плейлист в течение дня включаешь.
Начинаю пробовать ваше приложение. Жалко нет Карплея.
а я сразу переключаю на следующий — это можно считать дизлайком - я могу сделать это специальной настройкой, такое поведение по умолчанию - жесть. Я понимаю ваши проблемы :D поэтому есть фильтр "Играть только новые песни" + плейлист "Discover new music" - выдает только не прослушанные песни, смешанных жанров. Рекомендации там могут быть не огонь, НО - пишите, будем делать эксперименты)
c CarPlay буду думать.
Респект за статью и приложение! Всегда завидую людям, у которых есть время и сила воли на разработку своих проектов во внерабочее время.
ИМХО, имеет смысл расширять возможность подключить другие сервисы (Google/YoutubeMusic, Yandex, Spotify, Deezer).
Кстати, а у Гугла обязательно указывать адрес в данных автора (не замечал такого раньше)? Не боитесь, что к Вам придет кто-нибудь из фанатов в гости? :)
Спасибо. Добавлять другие сервисы напряжно и не факт что там есть аудитория которая настолька недовольна клиентом. Фанатов не боюсь, на адрес убрал :D
А с CarPlay работать будет?
у меня к сожалению нет CarPlay. Насколько я знаю, приложение там не работает, но можно включить нужный плейлист, он попадет в системный плеер и будет играть. Может быть можно сделать интеграцию, но ее не просто сделать, так как у Flutter вроде бы нет поддержки CarPlay, а нативно мне тяжеловато. Если будет много запросов от пользователей - конечно, буду делать.
Комментарий недоступен
это плеер для стримингового сервиса :D по сути альтернативный клиент. В данном случае доступно большинство стриминговых функций и сверх них много функционала. Конкуренция рулит)
Комментарий недоступен
нужен стандартный плеер Apple Music, так как Apple очень жестоко защищает свои треки и для проигрывания используется стандартное приложение, без него никак, сорри.
А можно прикрутить такое к Deezer?
я не уверен что такое там надо) и это довольно сложно, в силу особенностей работы API каждой платформы. Apple Music - это корпорация, они медленные и у них большая аудитория, которой не всё нравится, поэтому я сделал решение для них.
Ахуеть какой удобный интерфейс, пацаны.
я надеюсь, что это не сарказм? :D
Комментарий недоступен
работает даже если выгрузить приложение из памяти :D, но для оценок лучше использовать приложение