Трибуна Stanislav Putilov
530

MyWaves — сервис для создания и прослушивания аудиозаписей с помощью смартфона

Пример создания приложения с нуля и полным отсутствием знаний в области программирования и дизайна.

В закладки

Лет 7 назад, листая ленту какого-то уважаемого медиа в интернете, наткнулся на печатное интервью, уже и не помню кто брал и у кого. Объем текста был достаточно большой, а интервьюируемый человек был мне интересен, но читать этот лонгрид после рабочего дня совсем не хотелось. И я подумал, как было бы удобно, если бы я мог не читать , а чтобы кто-нибудь мне пересказал о чем там речь, а лучше прочитал вслух, дабы не терялся смысл. Так зародилась идея потребление печатной информации в виде аудио.

Быстрое гуление этой темы навело меня на технологию TTS (text to speech), когда синтезированный голос машинно читает текст. Изучив более менее все движки, на которых работала технология TTS, было понятно, что с таким качеством звучания далеко не уедешь, 7 лет назад качество было ужасным, резало слух и не воспринималось совсем.

Сейчас ситуация сильно лучше, далеко ходить не надо, многие статьи на vc.ru сейчас можно прослушать. Если я правильно понимаю, то для реализации используется Яндекс SpeechKit, читает уверено и относительно качественно, но слушать долго это до сих пор сложно (ИМХО).

По результатам я решил, что читать должны реальные люди и делать это нужно для смартфонов, чтобы инструмент записи и воспроизведения всегда был с собой. И тут я подошел к первой большой проблеме, я - не умел программировать и рисовать дизайн, от слова совсем. Мои 2 высших образования, конечно, дали мне общее представление о программировании, но оно было уж очень приблизительным. И вот с этим отсутствием знаний я решил нанять людей, которые бы мне все это "быстро" и "качественно" сделали точно так как я хочу :). Для начала под iOS, просто потому что у меня был iPhone.

Мной было проведено мини-исследование на эту тему, я опросил ровно 100 человек у метро будет ли ими востребована возможность послушать начитанный кем-то текст новостной статьи вместо того, чтобы ее читать самому. 83 из 100 ответили - да.

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

Итерация первая 💡

Для начала я обратился в несколько агентств по разработке мобильных приложений, они сыпали умными терминами и понятиями, а главное их ценник начинался от $ 50 000 по тому давно забытому курсу в районе 30 руб. Дальше я обратил внимание на фрилансеров, так я нашел первого программиста, уровень знаний и умений которого я никак не мог проверить по причине отсутствия знаний и умений у самого себя. Промучившись несколько месяцев мы разошлись. Итог: деньги потрачены, а к мечте я так и не приблизился.

Итерация вторая 💰

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

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

Уговоры и предложение гипотетической доли в гипотетическом стартапе в будущем не сработали. Итог: еще раз потрачены деньги, но уже бОльшие, чем в первый раз, разочарование и желание похоронить идею.

Итерация третья 👎

Дизайнер, который работал на втором этапе, заинтересовался идеей приложения и выразил желание написать код на Swift и запуститься. Оказалось, что он изучает параллельно Swift и может сделать это. Мытарства продолжались еще несколько месяцев, которые привели к логическому и неизбежному концу - он просто пропал и даже сменил номер телефона. Итог: окончательное осознание, что "стартап" мне не построить и мир не изменить.

Итерация четвертая 🚀

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

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

Переломным моментом оказалась осень 2018 года. Было принято решение довести до конца то, что задумано много лет назад. "Это будет последняя попытка и все сделаю сам" с таким настроем я сел изучать Swift и принципы программирования с абсолютного нуля. Попутно изучал Sketch для отрисовки дизайна приложения. Было придумано название MyWaves и зарегистрирован домен mywaves.mobi, к лову сказать, изначальное название сервиса было совсем другим и долго им оставалось, сейчас даже как-то неловко его вспоминать).

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

Что получилось

Сейчас MyWaves - это мобильное приложение по структуре похожее на социальную сеть. Там есть:

Обновляемая лента с контентом.

Лента mywaves

Поиск пользователей и аудиозаписей.

Поиск mywaves

Возможность создать аудиозапись, используя микрофон или гарнитуру телефона.

Запись mywaves

Возможность прослушать любую аудиозапись. Поставить лайк и поделиться записью.

Воспроизведение mywaves

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

Темой для аудиозаписи могут стать:

  • текст свежей новостной статьи
  • интервью из журнала или интернета
  • пост в социальных сетях
  • любимая сказка ребенка
  • проповеди и молитвы
  • ваши стихи или тексты
  • аудиогид для музея или выставки
  • запись в популярном формате ASMR
  • эротические рассказы
  • статьи из условной Википедии
  • чтение иностранной литературы в образовательных целях
  • просто ваши мысли

Это только приблизительный и начальный список того, что можно делать в аудиоформате. Планов по применению сервиса огромное количество и создание web-версии в том числе.

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

Цель

Глобальная цель - создать кроссплатформенный сервис, позволяющий создавать и прослушивать аудиозаписи для любого печатного текста. Доступ к записи можно получить из приложения на телефоне или через web-версию. Рядом с каждым популярным и интересным текстом в интернете должна быть кнопка от MyWaves для прослушивания.

Сейчас я стою перед второй большой проблемой, как и любой UGC-сервис, MyWaves нуждается в начальных пользователях. Выкладывать в AppStore незаполненный сервис нет никакого смысла, поэтому скачать пока можно бета-версию для iOS через сайт mywaves.mobi, используя TestFlight от Apple (кратко: сначала скачать TestFlight, затем скачать с сайта mywaves.mobi бету iOS). Понимаю, что не удобно:)

Каждый автор статьи может сделать аудиоверсию своего текста с помощью MyWaves, например, как это сделано для этой статьи в комментариях.

Буду рад конструктивной критике и предложениям по развитию в комментариях.

PS: Эту статью, конечно же, можно прослушать по ссылке в браузере или найти в приложении (скачать бета-версию для iOS, найти меня через поиск - Путилов).

#ios #мобильные_приложения

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Stanislav Putilov", "author_type": "self", "tags": ["\u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435_\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f","ios"], "comments": 16, "likes": 7, "favorites": 16, "is_advertisement": false, "subsite_label": "tribuna", "id": 74161, "is_wide": false, "is_ugc": true, "date": "Wed, 10 Jul 2019 19:15:19 +0300" }
{ "id": 74161, "author_id": 321887, "diff_limit": 1000, "urls": {"diff":"\/comments\/74161\/get","add":"\/comments\/74161\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/74161"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199116, "last_count_and_date": null }
16 комментариев

Популярные

По порядку

Написать комментарий...
1

Что ваш почтовый ящик забыл в ссылке прослушивания?

Ответить
1

Спасибо, что обратили внимание. Исправил, ящика больше нет. Новая сборка беты iOS с изменениями будет через пару дней, как Apple одобрит.

Ответить
0

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

Ответить
1

| ..было проведено мини-исследование на эту тему, я опросил ровно 100 человек у метро будет ли ими востребована возможность послушать начитанный кем-то текст новостной статьи вместо того, чтобы ее читать самому. 83 из 100 ответили - да.

Изначально неправильное исследование, которое привело к ложному результату. На вопрос "Будет ли востребована..?" - автоматически потребитель ответит "ДА!" лишь бы отвалил.. Пользователь не думает, а дает ответ, который вы и хотите слышать.

Дальше, тут можно легко, заинтересованному человеку собрать БЛОГ в телеге и других соцсетях, где будут публиковаться аудиостатьи (по запросу пользователей) начитанные фрилансерами за копейки и который поломает пополам все ваши потуги с проектом. Походу такие даже есть, видел на youtube.

Третье: прочтите книгу на 150 страниц "Спроси маму" Фитцпатрика и вы поймете как проверять идеи раньше всех ваших мытарств с разработкой. Однако, вы уже какой-никакой разраб, поздравляю))

Ответить
0

По делу, спасибо. Если отталкиваться от первого пункта, что все-таки идея была проверена неверно, и того факта, что подобных сервисов нет и популярных блогов/аккаунтов в соцсетях/мессенджерах особо тоже нет, лично ваше мнение: идея скорее жизнеспособна или нет?

Ответить
1

Если оглянуться вокруг себя, то мы поймем, что все чем владеем и пользуемся было создано людьми. На многое мы можем сказать: Да это бесполезный ХЛАМ! Однако и на это есть свой покупатель/потребитель, который решает этим свою проблему.

Ваш сервис должен РЕШАТЬ ПРОБЛЕМУ. Чтобы ее решить, вам надо узнать КТО ваш потребитель и чем ваше решение ему поможет. "Спроси маму" как раз шире раскроет понимание. Это не панацея, но для вас более чем достаточная. Пример: Чел купил картину и хочет ее повесить на стену. Для этого ему нужна дрель, чтобы просверлить дыру в стене. Сделать дыру - проблема! Дрель - Решение/Продукт!

Решение: вам нужно посидеть и расписать портрет вашей ЦА, чтобы понять, кто бы чаще пользовался вашим сервисом? Как собрать портрет ЦА в Гугле полно инфы. Как распишите, идите общайтесь с ваще незнакомыми людьми, похожими на ваше ЦА и ищите проблему, которой вы можете закрыть своим решением. Возможно вы что-то даже новое найдете, это тоже круто! Идея ваша может оказаться жизнеспособной, если проработать проблемы потребителей: ЧТО им НУЖНО? Как ВАЖНО? Может им горит но не очень? ЧТобы ЧТО?

На данном этапе думаю идея бессмысленна. Нет Явного Продукта, решающего проблему! Однако, можно поковырять тему и выявить что-то другое, достаточно важное..

У вас прямые конкуренты: подкасты и сайты-статейники типа ВСру. Даже заявленные БЛОГИ, которые могут пилить все, что вы предлагаете. Да и рынок не сильно развит, а значит конкуренция слабая, а это значит, что на ЭТОМ рынке мало бабла, мало интереса пользователей, мало проведенных продуктовых исследований. Это как с чатботами - они как бы есть, разрабатываются, но кэш раскачивается тяжело и сложно. Все оттого, что основатели горят идеей, разработкой, но не понимают где бабки лежат. Не спрашивают пользователей, нужно ли им это? Может им ваще плевать?

Ответить
0

Перефразирую вопрос: вы пользуетесь функцией Аудио для прослушивания статей на vc.ru и почему?

Ответить
0

Да и цель у вас какая? Зачем вы это делаете? Тратите время, деньги, ресурсы, напрягаете себя и людей для чего? Чтобы что?)))) Самый интересный вопрос!

Ответить
0

Зачем: думаю, это распространенный случай, когда тебе что-то нужно, ты думаешь, что это точно будет востребовано и другими. Изначально мне былы нужна возможность слушать, а не читать, в силу усталости, лени, не любви к чтению или еще что-то. Я и сейчас уверен, что не только у меня часто возникает потребность слушать, а не читать, я/мы перегружены визуальной информацией, почему бы не побороться за внимание пользователя в момент этой потребности: во время движения (метро/общественный транспорт, авто, вело, ходьба, самолет), спорт, длинные лекции студентов. "Чтобы" создать полноценный сервис, забирающий на себя может и непродолжительное, но регулярное ежедневное внимание большого количества пользователей. Деньги: в платные расширение функционала (фичи) приложения для пользователей я не очень верю, для брендированных каналов - возможно. Рынок аудио-рекламы достаточно мал, но он есть (радио, приложения, подкасты). И мне интересно этим заниматься.

Ответить
1

Вечный вопрос "Научиться все самому или научиться контролировать людей, которые являются профессионалами в своих областях".

Ответить
0

Замечание абсолютно верное. Я верю, что основатель должен хоть немного разбираться в предмете своего "основания".

Ответить
0

Разбираться в рынке - да, делать все самому - сомнительно.

Ответить
0

Кто-нибудь сталкивался с подобными сервисами?

Ответить
0

В современном океане информации хочется не тонуть выходя сухим из воды, т.е. вот бы ещё нейросети оставляли только саму суть.

Ответить
0

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

Ответить
0

Неплохо, молодцы, хорошо постарались.
Надеюсь, что с nyancatio будет также, а то и лучше, удачи парни!

Ответить
0
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Команда калифорнийского проекта
оказалась нейронной сетью
Подписаться на push-уведомления
{ "page_type": "default" }