• Когда имеет смысл писать кроссплатформенные приложения: появление и исчезновение React Native в Lingualeo

      В приложениях Lingualeo сложился довольно редкий кейс. Их создали до того, как появились кроссплатформенные технологии, но через несколько лет туда добавили модули на React Native. Кроссплатформенные модули прожили в приложениях примерно четыре года: в ближайшем релизе мы их уберём.

      Мы попросили лидера мобильной разработки Артёма Рыжкина (phoenix_rav) рассказать о том, откуда в нативных приложениях Lingualeo появились модули на React Native, какие они вызывали проблемы и когда вообще имеет смысл делать кроссплатформенные приложения. 

      Читать далее
    • «В карантин нагрузка выросла в 5 раз, но мы были готовы». Как Lingualeo переехал на PostgreSQL с 23 млн юзеров

        image

        Проекту Lingualeo уже 10 лет. Более 23 миллионов человек из России, Турции, Испании и стран Латинской Америки учат с помощью нашего сервиса английский.

        LinguaLeo создавали в конце нулевых – начале десятых годов и использовали передовые на тот момент технологии и методы. Но прошло время, и они сильно устарели. Так что мы решили, что систему пора обновить.

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

        Проблемы зрелого продукта


        «Я пришёл в Lingualeo в августе 2018 руководить бэкэнд разработкой. Тогда бэком занималась команда из 8 разработчиков и 2 админов, которые обслуживали монолит на 1 миллион строк кода преимущественно на PHP. Чтобы внедрить даже небольшую новую фичу, уходило 2 месяца. А затраты на инфраструктуру на 10 000 активных пользователей превышали 1 000 $ в год.

        Как это произошло? Дело в том, что за 10 лет в проекте сменилось несколько команд разработки. Приходили новые люди, как и я, они по-своему добавляли новые модули и фичи. Команды менялись, новички не всегда понимали, как работают старые части системы, в итоге код Lingualeo постепенно превратился в чёрный ящик: непрозрачная логика в бэкенде, перегруженный фронт, обилие костылей, большие пробелы в документации.

        Всего у нас в штате было 20 разработчиков, но развивать продукт было невозможно: если что-то добавить, вылезали неожиданные проблемы. У команды уходило 2–3 недели, чтобы всё починить. Разработчики занимались поддержкой кода из 2013 года, и ресурсов на обновление функциональности не было.
        Читать дальше →
      • Email — не воробей, вылетит — не поймаешь или как мы сделали email-маркетинг машиной

          Более 40% выручки Lingualeo приходит из email — канала. В 2015 году мы отправили 300 млн писем. Для нас крайне важно, чтобы этот канал продаж работал эффективно: прогнозируемо, масштабируемо, а ROI рассылки максимизировался.



          Сегодня мы в общих чертах расскажем о нашей непростой системе email-маркетинга, о переезде с одной платформы на другую, о системе локализации и о технических нюансах переезда. В этой коллективно подготовленной статье (Роман Домрачев, Backend Team Leader Lingualeo; Иван Зеленин, ex-руководитель отдела email-маркетинга и CRM Lingualeo, ныне операционный директор классного агентства по CRM-маркетингу WIM.Agency; Владимир Витковский, менеджер по монетизации Lingualeo; Константин Шиманаев, ведущий менеджер по маркетингу Lingualeo) есть интересные вещи и для маркетологов, и для технарей!

          В 2015 году Lingualeo столкнулся с необходимостью перехода на новую платформу и технологию отправки писем, так как текущий ресурс (агентство, которое работало с платформой ExpertSender) уже не справлялся с нашими объемами и “хотелками”. Это была хорошая качественная платформа. Но Lingualeo уже из нее вырос. Плюс нам было важно контролировать весь процесс e-mailing’a: от дизайна до отправки. Поэтому мы решили перевести работу на другую платформу и начать готовить рассылки in-house. Мы хотели сделать email-marketing машиной.
          Читать дальше →
          • +3
          • 10,7k
          • 6
        • Деревья, у которых нет листьев

          • Tutorial

          Результат мечта


          Facebook опубликовал статью о так называемом aha-moment, в которой утверждалось, что если пользователь добавляет 7 друзей в течение 10 дней после регистрации, то этот пользователь остается на сервисе.

          Почему этот результат (aha-момент) такой притягательный?
          Потому что он:
          а) простой
          б) осмысленный
          в) actionable


          Когда есть такой результат, сервису остается просто сделать все, чтобы мотивировать пользователей добавлять 7 друзей в первые 10 дней, и тем самым идти к более высокой цели: “увеличению retention rate”.

          А сможем ли мы повторить?


          Читать дальше →
        • J.A.R.V.I.S. — невидимый помощник Leo

            Рано или поздно IT-проекты сталкиваются со сложностями поддержания высокого качества кода и/или увеличивающимся временем доставки изменений в production. Lingualeo испытала на себе все проблемы роста и готова поделиться своей историей повышения эффективности разработки. О том, как это происходило, рассказал teamlead инфраструктурой команды Lingualeo Михаил Кабищев.
            image

            Как и любая другая технологическая компания, Lingualeo проходила через несколько этапов:

            • Начало разработки продукта. Разработка и отладка происходит на одном-единственном сервере, где запущено все, что нужно проекту. Ошибки бывают часто, но это не страшно, т.к. это все лишь прототип, и живых пользователей там еще нет.
            • Появление первых пользователей. Компания начинает ощущать цену ошибок и проблем на продакшене. Уже нельзя править все на продакшене, приходит понимание того, что нужно мыслить релизами. Разработчики внедряют workflow для работы с кодовой базой, появляется что-то вроде stage-сервера, на котором тестируются релизы.
            • Рост проекта и команды. В разработке одновременно находится большое количество задач. Требования к процессу и качеству кода сильно возрастают. За всем очень тяжело следить: кто-то забывает запустить юнит-тесты, кто-то не знает, куда и как нужно задеплоить очередную задачу для тестирования.

            В итоге рутинные операции начинают отнимать очень много времени, и компания думает, как автоматизировать эти процессы.
            Читать дальше →
          • Локализация продуктов или еще один пост с заголовком «Трогни чтобы начать»

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

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

              Процесс локализации продукта рождался в Черногории, куда команда Lingualeo выезжала для интенсивной работы над новыми фичами. По первоначальной оценке на локализацию должно было потребоваться всего пару недель разработки перед тем, как систему можно будет отдать переводчикам. Оценки оказались чересчур оптимистичными, команда “встряла” на 1,5 месяца. Lingualeo прошла сложный путь и столкнулась с целым рядом проблем, которых другие могут избежать, прочитав этот пост до конца. Мы попросили Игоря Любимова, Head of localization, почетного ветерана локализации Lingualeo, пересказать сюжет в деталях.
              Читать дальше →
              • +11
              • 7,3k
              • 9
            • Реакция на долголетие: как мы обновили фронтенд Lingualeo

                image

                «Если вам не стыдно за первую версию своего продукта, то вы опоздали с выходом на рынок»

                Эти слова оправдывают развитие фронтенда Lingualeo с самого начала, с 2010 года. В сложном многоплатформенном продукте с 5-летней историей код наслоился чуть толще, чем пласты почвы над археологической Трипольской культурой. И вот, этот день настал: мы решили разбежаться и прыгнуть как следует, обновив платформу web-клиента. Ниже мы расскажем, что сделали, чтобы приземлиться как можно дальше от точки отсчета.
                Читать дальше →
              • Подражай-повторяй-применяй! Английская грамматика на счет три



                  Кажется, нас давно тут не было, и мы возвращаемся и возвращаемся не с пустыми руками: та-дам! До определенного момента Lingualeo был отличным способом пополнять словарный запас свежими идиомами и «живой» лексикой спикеров TED. Вы могли развивать навыки, изучая интересный контент. Но сегодня все изменилось.

                  За следующие 7 минут вы узнаете, чему мы научились у самих себя в детстве, про NLP-парсинг предложений, современные фишки front-end разработки и про новый способ изучать грамматику онлайн.
                  Читать дальше →
                • Практическая польза небольшого словарного запаса

                    image

                    Представьте, через неделю вам уезжать в Веллингтон, где основным языком является английский, а вы его знаете на уровне «Ландн из э кэпитал». Идея выучить новый язык кажется абсурдной, куда уж тут за 7 дней освоить все эти знания. Но вспомните закон Парето, который обещает 80% результатов за 20% усилий. Лексика любого естественного языка очень хорошо вписывается в данный принцип. Вопрос — сколько слов нужно знать, чтобы общаться на повседневные темы?

                    «Максимум сотню, – говорит Фабио Капелло, бывший тренер сборной Англии по футболу. – Когда говоришь о тактике, не требуется большой словарный запас». Капелло, конечно, преувеличивает, и тем не менее он проработал в Англии три с половиной года, зная язык на поверхностном уровне. И это, по его мнению, не помешало ему тренировать команду.

                    Так может быть стоит ограничиться сотней слов?
                    Читать дальше →
                  • Интервальное повторение на LinguaLeo

                      image

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

                      Хорошая новость: для того, чтобы поддерживать словарный запас уровня Upper-intermediate (4000 слов) на протяжении 73 лет, достаточно уделить повторению всего лишь 29 часов. Если разделить это время на количество дней за 73 года, то получится 3 секунды в день. Цифры могут показаться нереалистичными, но в модели интервального повторения такое возможно.

                      В этой статье мы расскажем:
                      1. О методе интервального повторения, который позволяет помнить слова при сокращении общего количества повторений до минимума;
                      2. О специальной тренировке для интервального повторения, с которой можно повторить до 100 слов за три минуты.

                      Читать дальше →
                    • Хабр, знакомься — новый LinguaLeo с персональной системой обучения иностранному языку

                        image

                        Мы видим в персонализации будущее образования, ведь каждый человек учится в собственном темпе и преследует личную цель. Кто-то предпочитает заниматься по одним материалам, а кто-то — по другим; у кого-то время на обучение есть днем, а у кого-то — вечером. Наша команда почти год ударно трудилась над тем, чтобы учесть все это и предоставить своим пользователям возможность учить английский по персональному плану. Итак, мы рады анонсировать Новый LinguaLeo! Новая версия сервиса каждому пользователю представляет индивидуальный план обучения, который отображается на новом Dashboard, а также интервальную тренировку и UGC перевод.

                        Проведённые тесты новой системы уже показали эффективность нового формата — выросло вовлечение. Теперь Саша, брат вашего друга и будущий выпускник, будет готовиться к ЕГЭ только по тем материалам, которые будут ему и полезны и интересны. Любитель путешествий Валера, наконец-то, сможет произнести сотруднику аэропорта: «What's the charge for excess baggage?», а ваша любимая подружка, красотка-хирург Тамара из Уфы, поймет, о чем говорят коллеги на международном симпозиуме.

                        Довольно простая с виду система «под капотом» прячет технологии, которых больше нигде нет, как говорит Артем Логинов, наш VP of Product. Если мы сумели вас заинтриговать — идем под хабракат, там вы узнаете подробности о наших ноу-хау.
                        Читать дальше →
                      • Mobile only: английский от LinguaLeo для гаджетоманов



                          По данным исследователей, которым мы склонны верить, к концу текущего года ¼ всех жителей Земли будут пользоваться смартфонами. Бойкое шествие мобильных устройств по планете подталкивает производителей технологий к переносу своих веб-продуктов на портативные гаджеты. Вопрос в том, как грамотно перенести фичу на мобильный? Руководитель мобильной команды LinguaLeo Константин Дегтярев Rirus рассказал, как выстроить этот процесс, и какие возможны подводные камни.

                          У нас в LinguaLeo мобильные приложение существуют уже 2 года: iPhone-приложение вышло в январе 2012, WinPhone — в мае, а Android — в октябре того же года. С момента релиза до 2014 года в приложениях развивалось только одно направление — тренировки слов. По факту, приложение было не самостоятельным продуктом, а лишь вспомогательным инструментом для пользователей сайта. Несколько месяцев назад мы начали уходить от концепции «дополнение к сервису» к концепции «Mobile First». Цель, которую мы решили реализовать — это наполнение приложения необходимым минимумом для изучения иностранного языка по методике LinguaLeo.

                          Прежде всего был определен список функций, которые реализовать нужно было 100%: тренировка слов «Брейншторм», видео с интерактивными субтитрами, «Грамматические курсы» и «Грамматический тест».
                          Читать дальше →
                        • Запоминайте эффективно: два важных принципа в изучении языка

                            image

                            В июне к команде LinguaLeo присоединился Артур Думчев, рекордсмен «Книги рекордов России» по запоминанию, признанный эксперт в области развития памяти, тренер и консультант. Артур помнит число «Пи» до 22 528 знаков после запятой и является автором книги «Помнить все. Практическое руководство по развитию памяти».

                            В настоящий момент Артур работает в LinguaLeo над внедрением дополнительных эффективных методов запоминания слов и фраз. Мы попросили его поделиться советами по быстрому и качественному изучению языков с читателями нашего блога, и Артур расказал про такие хаки, как «разумное применение мнемотехники» и «систематика в обучении». Итак, что же это такое, и поможет ли оно в развитии памяти и изучении языка? Давайте разберемся.

                            Разумное применение мнемотехники


                            Мнемотехника — это совокупность приемов, облегчающих запоминание. Пример использования мнемотехники: нам нужно занести в память слово Shrug — «пожимать плечами». Чтобы это сделать, достаточно представить какой-нибудь визуальный образ, который позволит вам вспомнить слово и его перевод. Например, Шрек пожимает плечами. Когда вы услышите Shrug, вам тут же вспомнится этот образ, а затем перевод слова.
                            Читать дальше →
                          • E-mail маркетинг как продукт



                              В LinguaLeo email-маркетинг – это продукт. Такой подход к данному каналу возник по ряду причин. Во-первых, нам важны не столько метрики, сколько самочувствие и настроение пользователя. Во-вторых, email-маркетинг влияет на огромное количество факторов: на продажи, узнаваемость, а также на лояльность пользователей, что нам как клиентоориентированной компании очень важно.

                              Что же подразумевает под собой продуктовый email-маркетинг? Давайте пройдемся вместе по всем аспектам, не вдаваясь в стандартные подробности. Мы поделимся нашими наработками и реальными вкусными кейсами о самом интересном. Итак, поехали!

                              Наш подход


                              Обычно email-рассылка воспринимается пользователем как что-то навязчивое и раздражающее. Происходит это потому, что письма чаще носят информационный характер — новости продукта, сроки акции, горячие предложения. Однако, у нас получилось добавить ценность в письма. Мы поняли, какие у пользователя возникают проблемы и решили их, в результате чего на нашу рассылку появился спрос. Давайте разберем три основные проблемы, которые возникают у наших пользователей.
                              Читать дальше →
                              • +10
                              • 10,2k
                              • 3
                            • Прокачай английский с LinguaLeo: cоздавай тематические словари, тренируй память и занимайся в группе!



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

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

                                Под катом мы расскажем, что получилось и как оно работает.
                                Читать дальше →
                              • Адаптивный тест грамматики английского языка — учитесь по персональным рекомендациям c LinguaLeo

                                  image

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

                                  Читать дальше →
                                • Хроники LinguaLeo: как мы сделали «Диалоги на английском» с Node.js и DynamoDB



                                    Пользователи LinguaLeo начинают изучать английский язык в Джунглях — хранилище тысяч материалов разного уровня сложности, формата и тематик; шаг за шагом учатся слышать и понимать речь носителей языка и расширять словарный запас. Кому нужна грамматика — идут в Курсы. Словарный запас пополняется не только из Джунглей, при добавлении незнакомых слов в Личный словарь, но и с помощью подготовленных Наборов слов, доступных для индивидуального изучения. В разделе Общение можно вести Диалоги на английском, чтобы практиковать язык с другими пользователями LinguaLeo в режиме real-time, выбирая темы для общения. Общение только на английском!

                                    Для создания Диалогов на английском мы использовали Node.js, DynamoDB (все на AWS). Сейчас поделимся нашим опытом.
                                    Читать дальше →
                                  • Диалоги на английском — знакомьтесь, общайтесь и повышайте уровень языка!



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

                                      С сегодняшнего дня выражения «языковой барьер» больше не существует. У обитателей «Саванны» на LinguaLeo.ru появилась возможность общения в формате диалогов. Вся переписка — исключительно на английском, с интересными собеседниками и только на любимые темы. Уровень языка значения не имеет.

                                      Готовы обсудить последние новости? Тогда вперед!
                                      Читать дальше →
                                    • Расширение Lingualeo для Opera и Internet Explorer: переводите слова в один клик и улучшайте ваш английский



                                        На прошлой неделе расширение Lingualeo для Google Chrome 23 и 24 получило 100-тысячного пользователя при средней оценке 4.8! Людям нравится, что им легко и удобно пользоваться: два клика по незнакомому английскому слову — перевод.

                                        Теперь насладиться удобством расширения Lingualeo для браузеров могут пользователи Opera и Internet Explorer:
                                        LinguaLeo для Opera 12
                                        LinguaLeo для Internet Explorer 9 и 10 32-bit

                                        Подробности и скриншоты с описанием возможностей расширений — далее…
                                        Читать дальше →
                                      • Учить английский язык с LinguaLeo теперь можно и на Android!

                                          Случилось! Мы готовы презентовать долгожданное приложение для Android. Пока его видели всего 200 человек — журналисты, участники бета-тестирования, команда проекта. Наступило время официального релиза!

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



                                          UPD: Ура, мы выпустили новую версию! Теперь приложение можно перенести на карту памяти и оно занимает меньше места.

                                          Читать дальше →