Tired of outsourcing? Get hired at a top product startup from Silicon Valley 🚀
×Закрыть

Як ми розробили Android-застосунок і втратили все, крім досвіду

Привіт! Мене звати Сергій, я Director of Technology в Onix-Systems. Компанію засновано 2000 року, вона займається аутсорсингом для організацій зі США та Європи. За останні 8 років у нас було чимало різних проектів у різних напрямах. Часто в команді були люди, які, попрацювавши деякий час, говорили, що в аутсорсі нецікаво, а треба йти в стартапи й створювати свої продукти. Ми провели експеримент зі створення свого продукту всередині компанії, і я хотів би поділитися досвідом з тими, хто впевнений, що працювати над продуктом краще, ніж на замовлення.

Ми розробили YouStream ― мобільний застосунок з можливістю транслювання відео/аудіо з камер телефона й рестриму з екшен-камери. Проте виникла проблема через застосування іконки, схожої на ту, яку використовує YouTube. А потім ми й взагалі втратили доступ до облікового запису, під яким було створено проект у Google Cloud Platform для YouStream. Докладніше про це — нижче.

Експеримент проводили люди, які перебували на бенчі, для того щоб розвинути й продемонструвати нашу обізнаність у вузькій ніші. За весь час в проекті взяв участь один Android-розробник та один дизайнер. Пізніше у відділі маркетингу створили сайт проекту. Ми розраховували, що коли зможемо показати власний застосунок, до нас почнуть звертатися серйозні замовники, кому буде потрібен такий досвід, і ми можемо розробити для них потужніші рішення на базі нашої бібліотеки. Поки що до нас приходять студенти, які шукають рішення для своїх дипломних робіт і просять про допомогу.

Ідея

Колись у 2017 році в аутсорсингу часто траплялося завдання розробити мобільний застосунок, з можливістю транслювання відео/аудіо з фронтальної та головної камер Android-пристроїв + рестриму з екшен-камери типу GoPro й китайських аналогів.

Проаналізувавши готові бібліотеки й рішення на ринку, ми не знайшли жодного готового рішення, яке б задовольняло всі наші вимоги. Сирі, забаговані, написані на одному коліні бібліотеки, абсолютно не готові для продакшену. Деякі з них були платними, але працювали гірше за opensource-рішення. Основні проблеми наявних розробок були такі:

  • жодна не вміє працювати з екшен-камерами;
  • нестабільність;
  • незрозумілі витрати пам’яті;
  • відсутність типу масштабу для фрагмента попереднього перегляду;
  • керування пропорціями прев’ю камери;
  • відсутність логіки з перепід’єднаннями в разі втрати зв’язку;
  • погана робота за умов нестабільного з’єднання;
  • неправильне генерування часових міток для аудіо (на YouTube такий стрим має звукові артефакти);
  • повільна робота на будь-яких пристроях;
  • проблеми з ліцензіями тощо.

Реалізація

Після всього цього ми ухвалили рішення спробувати розробити свій велосипед. Розробляли бібліотеку декілька місяців. Увесь конвеєр кодування RTMP-протоколу зреалізовано в нативному модулі, написаному мовою C для максимальної продуктивності. Найскладніше було змусити коректно працювати одночасно два мережеві модулі для рестриму з екшен-камери, довелося дивитися підказки в соурскоді андроїду.

У результаті ми одержали aag-бібліотеку AVLib + демо + кастом-ліцензію, яка дає змогу використовувати продукт з комерційною метою без відкритого коду.

Технічні моменти, які хотілося б виокремити

Щоб одержати рестрим «прев’ю камери» з екшен-камери на RTMP-сервер, довелося патчити libRTMP і розв’язувати проблему одночасної роботи з двома мережевими інтерфейсами. Основною проблемою було змусити працювати libRTMP із сокетом, який під’єднано до вибраного мережевого з’єднання, яке створено на боці Java. У цій ситуації сокет, який створено на боці Java для визначеного мережевого з’єднання, що ми передавали в хащі libRTMP, через різний час закривала сама система, і ми не зрозуміли такої поведінки.

Довго ламаючи голову над цією проблемою, ми підійшли до неї з іншого боку: з’єдналися із сокетом, створеним усередині libRTMP через fwmarkd на задане мережеве з’єднання. Можливо, комусь це знадобиться.

Java side:

Network cellularNetwork;
// request and obtain network
// ....
int networkId = Integer.valueOf(cellularNetwork.toString()); // get
network id
// pass id to rtmp stream module
// and using fwmarkd bind socket to network

Native RTMP module:

const struct sockaddr_un SERVER_PATH = {AF_UNIX,
"/dev/socket/fwmarkd"};
int attach_socket_to_network(unsigned networkId, int socketFd) {
if (socketFd < 0) {
return -EBADF;
}
struct FCommand command = {SELECT_NETWORK, netId, 0};
int resp = send_command(&command, socketFd);
return resp;
}

Усю рутинну роботу з повертання зображення, співвідношення сторін, переініціалізації прев’ю з камери було зроблено самостійно вручну. Нині це все, мабуть, не актуально, тому що Google зовсім нещодавно (у вересні 2019 р.) в альфа-версії випустив для цього нормальну бібліотеку.

Основні фічі бібліотеки:

  1. Швидка робота стримінгу. Ядро написане чистою мовою C.
  2. Стабільна робота на всіх пристроях, підтримка застарілих і повільних пристроїв з Android 4.1+.
  3. Підтримка транслювання з: головної камери, фронтальної, екшен-камери (типу GoPro), екрана пристрою (скринстримінг).
  4. Автовизначення потужності пристрою і встановлення оптимальної конфігурації стримінгу.
  5. Стабільність роботи в мережах з поганим зв’язком, логіка реконектів.
  6. Підтримка перевертання пристрою, зміна розміру без переініціалізації стриму.
  7. Налаштування: розмір фрейма, якість, бітрейт, вимкнення аудіо тощо.
  8. Інтеграція за один клік. Підтримка Activities and Fragments.
  9. Типи масштабів, корегування співвідношення сторін, повний життєвий цикл оброблення стриму.
  10. Простий інтерфейс без зайвих залежностей.
  11. Підтримка armv7a, armv8-64 20. Фокусування на екрані тапом.
  12. Запис стриму у файл.

Для демонстрації роботи бібліотеки AVLib було створено невеликий застосунок, щоб перевірити попит на такі рішення. Лише декілька екранів, простий, але яскравий дизайн. Застосунок дає змогу за один клік миттєво створити трансляцію на свій канал у ютубі й поділитися прямим посиланням на стрим.

Дата публікації в магазині Google Play — лютий 2018 р.




Розвиток застосунку

Перші півроку все було передбачувано. Непоганий рейтинг, стабільний невеликий приріст нових користувачів, але досить слабкий ретеншен (загалом, люди недовго користувалися застосунком). Яскравий дизайн робив свою справу. Застосунок установлювали, але активно не використовували. Попри це застосунок дедалі вище тримався в списку ранжування магазину Google Play.

Побачивши, що залучення нових користувачів відбувається природним шляхом, ми сконцентрували зусилля на втриманні користувачів, дотримуючись такого процесу:

  • Генерування гіпотези на базі аналітики, результатів попередніх експериментів і зворотного зв’язку від реальних користувачів.
  • Реалізація і перевірка гіпотези.
  • Аналіз результатів.

Почали з додавання експериментальних фіч, які дають змогу втримати користувача в нашому застосунку (наприклад, чат).

Стратегія була така: формуємо беклог з фічами, одна фіча, реалізація, аналіз. Наші кроки:

  • Спочатку додали туторіал, який пояснював, що таке стрим, куди він стримиться, і що таке YouTube. Пояснення, які дозволи користувач дає нашому застосункові й для чого.
  • Декілька разів змінювали UI/UX, змінюючи іконки, кнопки й міняючи їх місцями. Чимало користувачів не розуміли, як створити стрим з екрана телефона або як змінити камеру для стрима Front/Rear. Спочатку в нас була одна кнопка перемикання всього, яку можна було клікнути, свайпнути або довго тримати, щоб перемкнути ― це було не очевидно. Не допоміг навіть екран з підказками, який ми додавали. У кінці вставили три кнопки, кожна з яких активує інше джерело стриму.
  • Додавання чату було однією з тих змін, які дали хоч і невеликий, але приріст часу користування.
  • Також спробували додати фічу запису стриму у файл, але користувалися нею зовсім мало.

Через декілька таких ітерацій, ретеншен і кількість активних користувачів збільшилися.

Потім ми зробили редизайн. Зберігаючи мінімалістичний функціонал, зосередившись на нюансах взаємодії користувачів з нашим застосунком.

Додали онбординг і розділ допомоги для користувачів, а також декілька дрібніших фіч. Після цього кількість завантажень та активних користувачів зросла. Усе було стабільно.




Проблема

Ми почали роботу над перетворенням нашої демки на повноцінний продукт, призначений для обізнаних геймерів-стримерів.

Після публікації чергового оновлення в Google Play з багфіксами, ми дістали відмову. У процесі листування зі службою підтримки в одній із чергових відписок побачили натяк на іконку нашого застосунку (яку, до речі, не змінювали від першого релізу). В одному з листів було зазначено: «Your app currently contains assets related to the app YouTube for Android TV». Ми нічого такого не використовували, але найбільш схожою на матеріали з YouTube з усіх наших небагатьох матеріалів оформлення була іконка.

Violation of Impersonation policy

Поточна іконка:

Змінили іконку ― знову реджект.

Знову листування зі службою підтримки ― причина така сама. Змінили іконку, деякі ресурси в застосунку ― реджект. Знову листування зі службою підтримки ― причина знову та сама. Нова іконка, оновлення дизайну ― апдейт прийнято.

У такий спосіб приблизно три тижні ґуґл не приймав наші оновлення. Зрештою через незрозумілі причини, приблизно за три реджекти поспіль, кількість інсталяцій, без будь-яких підстав почала пропорційно падати в усіх країнах у рази (на графіку падіння з початку квітня).

Останнє оновлення вже не врятувало ситуацію. Причина так і залишилася для нас незрозумілою. Схоже, що в алгоритмах Google Play реджекти, кількість порушень впливають на ранжування застосунків у результатах пошуку. А можливо, це звичайний збіг і проблема зовсім в іншому.

Це був крах. Апка різко опустилася в результатах пошуку, ніякі наступні оновлення не мали результату.




Втрата доступу

У застосунку YouStream використовується YouTube API для створення й керування трансляцією на своєму каналі. Від початку ми створювали демку й правильно не зберігали всі доступи. Тому доступ до облікового запису, під яким було створено проект у Google Cloud Platform для YouStream, було втрачено назавжди.

Розробляючи Android-застосунки, ми зазвичай для нових потреб створюємо новий тестовий акаунт у ґуґлі, тому що занадто велика інтеграція із сервісами, якими користуєшся особисто, і це не зручно. А також, коли ще треба комусь передавати керування, то логін з паролем від особистої пошти віддавати не хочеться. Наш застосунок використовує YouTube API v3, а це означає, що потрібно створювати проект у GCP й прописати в ньому авторизаційні дані від клієнтського застосунку (ім’я пакета й хеш ключа, яким підписано застосунок). Коли ми ще не планували такого розвитку, використали один з тестових акаунтів. Коли за три роки побачили, що є зростання і варто подивитися на статистику, чи не досягли ми лімітів ― перевірили всі тестові акаунти, до яких мали доступ, але ніде так і не знайшли дані про YouStream.

Щоб з тобою спілкувалися живі люди в підтримці ґуґл, потрібно бути платним користувачем GCP. Ми активували бронзовий пакет і на два тижні стали VIP-користувачами, яким відповідає підтримка. Після дуже тривалого листування з Google Cloud нам так і не вдалося відновити доступ до проекту в клауді для застосунку YouStream. Ми мали на руках лише ім’я пакета, хеш ключа і всі права на сам застосунок, але цього виявилося недостатньо для служби підтримки. Листування тривало близько двох тижнів. Приблизно після десятого листа служба підтримки зрозуміла, чого ми від неї хочемо й відповіла, що це неможливо, і що вони фізично не можуть відшукати в себе в клауді хеш нашого застосунку. Хоча, я думаю, що все вони можуть, але їм заборонено про це розповідати.

Висновки

Сам проект AVLib живе й надалі, але повернути популярність цьому застосункові нам не вдалося. Ознайомитися з ним можна в Google Play, а з бібліотекою, яка була використана в ньому, — на GitHub.

З набутого досвіду ми робимо для себе такі висновки:

  • Користувачам подобаються яскраві кольори. На старті будь-якого застосунку треба робити максимально красивий та яскравий дизайн, що привертає увагу. Красивий застосунок приємно мати у своєму телефоні. Також потрібна базова функційність, яку можна нарощувати в процесі. На прикладі YouStream після кожного етапу редизайну в нас зросли показники Visitors ― First-time installers.
  • За всяку ціну й максимально швидко потрібно виправляти помилки й оновлювати застосунок у Google Play після реджектів і банів.
  • Суворо дотримуйтеся правил у Google Play Market. Працюйте лише з досвідченими провайдерами або попросіть зробити аналіз когось із більшим досвідом публікування програм. Реджект застосунку може вбити органічний трафік і загрожувати вашій популярності.
  • Максимально ізолюйте ваші експерименти від зовнішніх факторiв (країна, сезонність, час доби і т. д.). Одна і та ж фіча може бути по-різному прийнята в різних країнах, в різний час. Тому необхідно враховувати це в експерименті і під час перевірки чергової гіпотези. Наприклад, викатуючи чергову фічу в період свят у вашiй таргет-країні ви, найімовірніше, отримаєте дуже спотворений результат, який може повести вас в iнший бiк від обраної ранiше стратегії.
  • Для того щоб ваш застосунок був популярний, він не обов’язково повинен бути складним. Радше навпаки: що простіший поріг входу користувачів, то ймовірніше, що користувач проведе в ньому більше часу. Безумовно, для цього потрібно, щоб ваш застосунок робив щось корисне.
  • Треба берегти ваш ґуґл-акаунт, використовувати 2FA.
  • Підтримка ґуґл, на жаль, відповідає дуже неохоче й без чітких рекомендацій, тому важливо покладатися на досвід і професіоналізм виконавців. В Інтернеті можна знайти чимало інформації про те, як підтримка реагує на стандартні запити й може через незрозумілі причини заборонити публікацію застосунку або примушувати розробників оновлювати старі застосунки, погрожуючи заблокувати весь ґуґл-акаунт. Тому тут ми не одинокі.
LinkedIn

67 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Спасибо за статью и интересный опыт.
Можете раскрыть как проводилось продвижение апы, и сколько ресурсов потратили? (+ - интересно для себя)

ми не просували наш застосунок, він був лише демкою до бібліотеки і використання росло лише органічно до якогось часу. Потім ми спробувли додавати новий функціонал, онбоардінг на разних мовах, спрощувати інтерфейс. Напротязі року витрачали на це свій вільний час, або коли не було комерційних проектів.

Порахувати загальний час не маємо змоги.

Мне кажется — авторам сего проекта стоит думать о собственных серверах и решениях, а они «понадеялись» на гигантов. Когда на кого-то надеешся, что мол должно вот так быть — то сталкиваешся с разочарованием, так как у гигантов могут быть свои мысли на такой-же бизнес, и они идут в разрез с вашими. Прочитайте статью про основателя Руби ain.ua/...​basecamp-devida-xanssona
он отлично пишет про то зачем что-то делать, как это лучше делать. Дельные вещи советует, между прочим.
А вы могли бы создать свой сервер, на котором настроить серверную часть — и те кто делали бы стримминг на платном аккаунте — делали бы его на ваш сервер с сохранением данных на сервере. А дальше можно было-бы уже с вашего сервера делать стрим в ютуб на их собственные каналы через их учетные записи. Таким образом никто никогда не смог бы заблокировать вас, ведь схема выглядит так: закачиваем контент с вашего сервера на моб телефон и далее через ПО в ютуб. Программу заблокировали — она есть на вашем сайте, можно скачать без апстора или гугл-плей. А вы все привязываете к гугл-корпорациям.
Они оттого и такие богатые, что думаю как могет привязывать вас к себе и далее своими политиками управлять вами. Будьте умнее умных, берегите себя.

Якщо ваш продукт — ліба (до речі така ліба насправді потрібна штука), то Вам треба було створоювати не додаток, а писати пости на доу, хабр, реддіт, медіум.
Якщо ваш продукт — додаток, то Вам потрібно на продакХант, доу, хабр, реддіт, медіум.
Також не завадив би форум (зараз це можна в пару кліків зробиити) де ви б могли відповідати напряму користувачам.

Щодо бану. Є простий спосіб перевірити чи справа була в іконці — створюєте новий аккаунт і там публікуєте.

Продукт, який ми хотіли просувати — це бібліотека і для неї ми

YouStream було зроблено як демо проект, який переріс у щось більше, але так і не вистрілив :)

Продукт, який ми хотіли просувати — це бібліотека

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

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

Вот например Osmand, даже если гугл его забанит, я его с родного сайта через apk поставлю или с какого фдроида какого.

Якщо чесно, як робити аналіз із боку маркетингу — ми не знаємо, тому і немає його. Якщо можете щось порадити, то буду вдячний.

ми не знаємо

Я тоже не умею в такое. Тут или угадываете или нанимаете профи-маркетолога или учитесь этому сами.

Ще кого небуть нервує слово застосунок?

А как правильно? Апплiкацiя?

Правильно «прілаженіє».

Не понял сарказма. Додаток это как раз таки калька с «приложение». Застосунок более близко к application.

Собственно о чем и речь: от «додатка» до «прілаженія» один шаг.

Ще кого небуть нервує слово прілаженія?

Тоді вже «аплікейшн».
За новим правописом 100% можна буде писати «аплікєйшн».

«Додаток» краще як на мене, але це вже справа смаку.

Да

ВКУС, -а (-у); м. [...] 4. Способность человека к эстетическому восприятию и оценке; развитое чувство прекрасного. Изощрённый, взыскательный, утончённый, дурной в. у кого-л. Музыкальный, художественный в. Полное отсутствие вкуса у кого-л. Одеваться со вкусом. На чей-л. в. (с точки зрения чьих-л. представлений об изящном, красивом).

Большой толковый словарь русского языка

А почему словарь русского языка и слово русское?

Потому что вопрос был задан на русском языке. Поскольку предыдущему собеседнику я отвечал на украинском языке, то использовал украинское слово. Вот из этого словара украинского языка:

СМАК, у, чол.
[...]
2. Розвинуте почуття прекрасного, здатність до естетичної оцінки. Все, чим він пишається і цінить у собі, його розум, смак і культура, навіть його ідеї — все згодували, усе зростили оці лани (Михайло Коцюбинський, II, 1955, 393); Вплив на вироблення у мене літературного смаку мали два вчителі: Іван Верхратський і Юлій Турчинський (Іван Франко, I, 1955, 13); Вона добре малювала, мала тонкий художній смак, розуміла все прекрасне (Оксана Іваненко, Тарасові шляхи, 1954, 270).
♦ Знати (мати, тямити) смак — добре розбиратися в чому-небудь, розумітися на чомусь; любити що-небудь. [Сотник:] Поки сто раз не поцілує, Й читать не хоче! А бурсак! Собачий сину, знаєш смак (Тарас Шевченко, II, 1963, 196); До прання я маю смак. Мати навчила (Степан Чорнобривець, Визволена земля, 1950, 213); [Петро:] Павле Павловичу, я чув, що ви й у віршах смак тямите, бо й самі їх пишете (Володимир Самійленко, II, 1958, 145).

Словник української мови

Так. А ще мене нервує написання «кого-небудь» як «кого небуть». І взагалі я останнім часом якийсь нервовий :(

Меня вначале тоже зацепило. потом погуглил — оказалось таки „застосунок” более релевантно.
uk.wikipedia.org/wiki/Застосунок
investgazeta.ua/...​gs/dodatok-chi-zastosunok
www.setlab.net/?view=application-term

без будь-яких підстав почала пропорційно падати в усіх країнах у рази

Да, именно так и работает алгоритм с отвергнутыми или «запятнавшими» себя в «нарушениях».
Об этом можно много выпить алкоголя (

Вот поэтому я уже лет 7 не ставлю ничего или гуглоплея — там в рейтинговых нынче один мусор.

Мені здалось що це був більш технічний експеримент ніж спроба зробити справді продукт.
Чи робили ви якусь бізнес-модель перед тим як почати власне розробку застосунку? Яке було розуміння value продукту? яка цільова аудиторія? яку біль кліентів ви намагались вилікувати? як планували монетизувати? Розкажіть, якщо не секрет. це було б цікаво.

Все правильно. Наш продукт — це андроїд бібліотека для стрімінгу відео. Програму ми створили для демонстрації можливостей бібліотеки і напочатку не планували розвивати його.

Так либу через гуглоплей продвигать как-то странно. Не та целевая аудитория.

Лібу ми просували через окремий сайт — а в гугл плей завантажили демку, YouStrean, щоб кожен міг протестувати як працює ліба.

Так кто у вас целевая группа. Хомячки, что качают приложения с гуглоплэя или разрабы, что их пишут? Это первый и главный вопрос.
Разрабы на то ваше приложения посмотрят только, если заинтересуются либой. И скорее скачают пример, доку, как юзать либу, а не то ваше приложение.

Ми хотіли щоб нашою бібліотекою та експертизою зацікавились клієнти, які створюють застосунки з відеострімінгом. Не розробники і не кінечні користувачі. Те що ввийшло — не входило в наші план

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

Ми провели експеримент зі створення свого продукту всередині компанії, і я хотів би поділитися досвідом з тими, хто впевнений, що працювати над продуктом краще, ніж на замовлення.

Тобто ця фраза, на жаль, немає прямого відношення до реальності? Ви створили не продукт, а

андроїд бібліотека для стрімінгу відео

Либа — это продукт. Но вот продвижение продукта у них странное было.

не зовсім. продукт це не тільки бібліотека, а ще багато чого і насамперед, це наявність business value — цінність продукту (для бізнесу або споживача).
осмислене просування продукту (або іншими словами рух від yet another lib до market product) можливе тільки при розумінні наступних речей:
— яку цінність має бібліотека
— для кого вона робиться
— яку проблему вирішує
в аутсорсі цими речами переймається замовник. у продуктовій команді це головний біль самої команди. тому й спроби аутсорсерів робити продукт йдуть важкувато, бо немає відповідної експертизи.

Думаю ви праві в тому, що продуктової екпертизи не встачає, тому ми такими методами намагаємося її отримати.

не зовсім. продукт це не тільки бібліотека

Вот для начала определитесь. Для либы и аппы совершенно разные механизмы продвижения и разные ЦА.

А може мені хтось пояснити, навіщо створювати мільйонний застосунок до забитої ніші? Навіщо мені стріміти на «YouTube» через «third party application», а не напряму? Чому мені не «летсплеїти» на «Twitch», «вложити» у «Instagram» чи «Tik-Tok»? Так ті платформи вже розкручені і люди гроші заробляють на готовій аудиторії, а сюди ще спробуй когось затягнути. Я так розумію, що коли випускаєш новий продукт, то там має бути якась «killer feature», родзинка по-нашому, яка його якісно вирізнятиме з-поміж аналогів.

Я не знущаюся і не іронізую. Мене справді цікавить відповідь на це питання, адже я бачу як люди продовжують створювати нові соціальні мережі, месенджери, відео-хостинги та ігри «три в ряд» на уже і без того насиченому ринку. Якщо ціль отримати досвід — клас. Але ж витрачаються неабиякі ресурси на подальше просування, юридичні клопоти, залучення аудиторії. Вибачте, якщо когось образив.

Наша ідея була в тому щоб створити бібліотеку для стрімінга відео з телефонів та екшен-камер, тому що аналоги, які ми знайшли на той час, мали різні проблеми. Своришви бібліотеку, нам треба було продемонструвати як вона працює. Додаток був створений спеціально для демонстрації роботи.

При цьому самою бібліотекою можна вільно користуватися не в комерційних проектах.

Тож на мою думку, у тих хто ствоює нові соціальні мережі є на то свої причини, з’являються нові аудиторії, змінюються люди, з’являютья нові технології і т. д.

Так, я звернув увагу на те, що було створено власну бібліотеку тільки не до кінця зрозумів її призначення. З огляду на майбутні проєкти це має сенс. Я певно не на тому поставив акцент під час прочитання.

Причини-то у них може і є, та тільки ж всі ми знаємо, що більшість стартапів прогоряє.

Ох нарешті слово додаток зявилося

1. Нативный ютуб клиент не разрешает создавать прямые трансляции если у тебя на канале меньше 1000 подписчиков.
support.google.com/...​IE.Platform=Android&hl=en
2. На момент публикации буквально несколько приложений кое как умели это делать. Действительно хорошо работала только встроенная камера апп на самсунгах, это и послужило идеей для этой демо.
3. На момент публикации ниша была полупустая. В сторе был откровенный неработающий шлак
Собственно это и была киллер фича.

Дякую за статтю, було цікаво читати.

Втім, викликали певні питання слова

хто впевнений, що працювати над продуктом краще, ніж на замовлення.

Справа у тому, що ваш підхід до розробки продукту дуже схожий до проектів (та відповідних проблем), які роблять суто технічні засновники: акцент на продукті, але сильне недопрацювання з клієнтами. Я не зміг знайти згадки, що ви справді аналізували потреби та проблеми своїх найбільш «бажаних» (aka high-expectation) клієнтів, навіть не впевнений, чи ви знаєте, хто це такі саме у вас. І суттєва доля цікавості продукту і полягає в цій інтеракції з користувачами. Люди нижче писали, що хтось жаліється на краші, але справа не в самих крашах (бо вони є завжди, нехай і апка 99.5% crash-free), а як команда продукту відреагує на краш, і з того, що я бачу — користувачам навіть не відповідають, не кажучи про реальні фікси (можливо, таке сталося лише після того, як на аппку «забили», але з великою ймовірністю так було завжди).

Як я і писав, основна задача була створити бібліотеку, яка вирішує конкретні задачі. Сворений застосунок був демонстраційним прикладом і нам стало цікаво з ним експерементувати лише тоді, коли ним стало користуватися багато людей. Після цього було цікаво спробувати вирішувати продуктові проблеми (як ми їх собі розуміли).

«Неоновая Белка» рулить) Цікава у вас підбірка додатків як для корпоративного google play аккаунта.

Схоже, що іконка схожа на YouTube давала гарний органічний приріст.

По запиту «youtube streaming» play.google.com/...​=youtube streaming&c=apps всі намагаються бути схожими на справжній youtube і малюють червоні іконки на білому фоні — а наша навпаки завжди була на чорному фоні, тож думаю що причина не в цьому а в хороших оцінках

могли зарегистрировать свою иконку в качестве товарного знака либо DesignPatent и пробовать отбивать реджекты тем, что вы используете свой объект интеллектуальной собственности

просто Youtube належить Google, тому без шансів :) можливо, якби іконка була схожа на суперників гугла, то все б завершилось краще :)

«this app gives you a virus my phone ever since I downloaded this app my phone has been having problems shutting off every 5 Seconds and when I deleted this app my phone worked»
(20 лайков)

Этот комментарий появился намного позднее апреля и его можно было бы проигнорировать, но:
March 31, 2019 «This app is pure garbage. it stops randomly ...»

На эти комментарии отзыва от компании нет никакого. Вы выпустили совсем неисправное приложение для ряда устройств в продакшн? Вполне вероятно из-за этого Ваш рейтинг тоже упал.

Вы должны были бы посмотреть в Google Play консоли действительно ли Ваше приложение так часто падает — на каких устройствах, при каких условиях.

98.13% crash-free users. Для того чтобы провести эксперимент, этого вполне достаточно. А какой смысл в том чтобы потратить вдвое больше времени и достигнуть 99.9%?

Отличный рисерч, на полторы тысячи комментов вы нашли пару негативных. Это случайно вышло или целенаправленно?

Заходите с веб-интерфейса. Второй комментарий — «shutting off every 5 Seconds»... поскольку он написан в августе (а Ваши проблемы начались в марте-апреле) я посмотрел комментарии которые ближе по времени к проблеме.
Второй похожий комментарий идет где-то 19, так что несложно найти.

P.S. То что касается комментариев и рейтинга — это лишь предположение, которое может быть и ошибочным.

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

1. Все креши мониторились и по мере возможности исправлялись все ошибки.
2. В крашлитиксе креши только на ноунейм устройствах внутрях MediaCodec.
3. Колебания рейтинга почти не влияет на ранжирование.
4.

Вы должны были бы посмотреть в Google Play консоли действительно ли Ваше приложение так часто падает — на каких устройствах, при каких условиях.

))) Спасибо за дельный совет

В комментариях Google Play часто встречаются психопаты с «подвальными» китайскими брендами в руках. С ними ничего поделать нельзя — это неизбежный шлак

кількість інсталяцій, без будь-яких підстав почала пропорційно падати в усіх країнах у рази

Может причина как раз в том, что раньше пользователи думали, что скачивают приложение созданное компанией Google, потому что иконка была похожа на бренд YouTube. Думали, что это официальное приложение.

Можливо, але як це перевірити ми не придумали.

вы уже проверили это
заменив иконку — рейтинг упал

все в одни голос говорят что иконка от ютюба

я о первом варианте )

Те две красные иконки очень похожи на youtube, если до них была ещё какая то — покажите нам. Хотя раз меняли то самая первая, скорей всего, вообще была клоном чистым.

что иконка была похожа на бренд YouTube

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

Подписаться на комментарии