При создании приложения не все получается идеально с первого раза. Многие разработчики сталкиваются с различными препятствиями. О возникших сложностях при создании приложения и путях их решения рассказал технический директор ЯRUS Дмитрий Илюхин.

— Как возникла идея создать приложение-агрегатор, когда на рынке уже есть крупные конкуренты?

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

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

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

— Как определяли пользовательские сценарии?

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

— С какими проблемами столкнулись?

— Мы никогда не работали с такими большими объемами данных. Понятно, что бывают проекты и крупнее, но мы постоянно прирастаем новостями: примерно 60 тысяч в сутки. И первой сложностью стало − как хранить эти новости. 

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

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

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

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

— Какие неожиданные трудности возникли при разработке приложения?

— Самое интересное, через что нам пришлось пройти, − нас долго не пропускали в AppStore. Мы не знали, что Apple не разрешает пропускать новости про кoрoнавирус. А так как мы писали приложение в 2020 году, это был пик пaндeмии, около 35% всех новостей содержали ключевые слова, связанные с кoрoнавирусом, вакцинацией и пандемией в целом.

Чтобы Apple разрешила нам публиковать такие новости, корпорация потребовала от нас наличие редакции. То есть мы должны были зарегистрироваться как СМИ и иметь физически существующую редакцию. Хотя это не очень понятно, потому что мы публиковали не свои новости, мы их не пишем, а лишь транслируем доверительный источник.

Мы отдельно написали микросервис, находящий все новости по нескольким ключевым словам типа «кoвид» в различных вариациях, и такие новости помечали флагом, что эта новость не должна публиковаться в приложении под iOS, и разделили выдачу новостей на Android и iOS. Если на андроиде было 100% новостей, то на iOS − условно 65%.

— Повлияли ли требования площадок на функционал?

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

В связи с этим Apple в приказном порядке заставила нас показывать открытое пользовательское соглашение при первом открытии приложения. Пользователь iOS не имеет возможности пользоваться всем функционалом, пока он не нажмет кнопку «принять».

— А при загрузке в маркеты были сложности?

— Много различных требований, особенно у Apple. Много требований к формату изображений, особый формат видео. У него более сложные гайдлайны по выкладке приложений, чем у Android.

Из сложностей − гугл-аккаунт покупается раз и навсегда, а за iOS приходится следить, то есть каждый год покупать подписку за 99 долларов.

Сейчас, чтобы зарегистрировать компанию в AppStore, требуется получить международный юридический идентификатор компании (D.U.N.S.). Он делается платно, но есть возможность сделать его бесплатно и быстро. Сложность была в поиске соответствующей информации.

— На данном этапе приложение выглядит таким, каким его задумывали? Планируется введение новых функций?

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

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

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

— Советы начинающим разработчикам-стартаперам?

— Нужно концентрироваться на конкретном функционале. Мы с ребятами замахнулись на большой функционал, поэтому нам очень сложно. Продукт должен развиваться поэтапно. А в идеале − если продукт концентрируется на чем-то одном. Например, как TikTok на коротких видео, Instagram на фотографиях и так далее.

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

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

Комментарии (9)


  1. SmallDonkey
    21.10.2021 11:56
    +8

    Я не понял что такое yarus и зачем его рекламируют тут


    1. tvr
      21.10.2021 13:45
      +2

      Это, похоже, как Я.Дзен, только ЯРУС`ом пониже и дым пожиже.
      PS, последняя пикча, на которой чувак сидит на огромной включенной лампе накаливания, намекает на уровень мышления авторов отдельно доставляет.


    1. MockBeard
      21.10.2021 14:52

      Есть еще кассовые системы "ярус", такое себе ... хреновое, в общем.

      Может само слово плохое? Как вы яхту назовете, так она и поплывет ...


  1. artem_larin
    21.10.2021 12:47

    Гугл тоже не знает:

    Yarus.ru

    Информация об этой странице недоступна


  1. krankenstein
    21.10.2021 13:07

    Какой-то мусор под видом статьи


  1. Zeiram
    21.10.2021 15:45
    +1

    "Мы, мы, мы, ..." плюс куча странных картинок, а вменяемо рассказать о самом продукте забыли. Эта статья - "Маркетинговый Выкидыш".


    1. Pashkevich
      21.10.2021 16:55

      Поддерживаю. Какой смысл в этих картинках? Они даже не привязаны к контексту. Сама статья написана как интервью, зачем удлинять статью в простыню?


  1. aszhitarev
    21.10.2021 22:46
    +2

    Основная трудность — объяснить зачем этот ярус.


  1. FreakII
    22.10.2021 02:13

    С какими трудностями столкнулись разработчики при создании ЯRUS

    Наверное, главная трудность - зачем этот Ярус вообще нужен, не?