У школы Skyeng есть расширение для веб-браузеров «Vimbox Переводчик», умеющее переводить английские тексты веб-страниц на русский язык. На первый взгляд, ничего особенного в этом нет, а подобных сервисов – пруд пруди, но в реальности эта штука очень важна для экосистемы школы, и мы надеемся, что она окажется полезна не только для наших учеников, но и для сторонних пользователей. Сегодня мы расскажем, почему мы так думаем, как мы разрабатывали это расширение, что оно умеет и над чем работает его команда в настоящий момент.
Планов громадье
Расширение для Chrome и Safari (Firefox и Opera пока апрувятся) существовало в наших планах очень давно. Но первым вопросом, который встал перед собранной наконец командой его разработки, был «зачем?». Мы не хотели делать «еще одно расширение-переводчик», нам нужно было придумать какую-то свою фишку.
Поэтому мы разработали обширный роадмап с классическим набором итераций, customer development, планами по развитию, описанием уникальных фич, дополняющих перевод. Самая главная из них, задуманная изначально, – синхронизация с нашим мобильным приложением, возможность добавлять слова для изучения прямо из браузера. Однако уже в момент проектирования продукта у нас было понимание того, что экосистема нашей школы пока закрытая, а интерес вокруг продукта и компании растет. Нам хотелось сделать выход на людей, которым мы интересны, но которые не имеют возможности заниматься в школе.
Разработку разбили на три стадии. Первый этап – создание базового инструмента по переводу слов, не перегруженного функционалом. На втором этапе мы планировали придумать механику вовлечения пользователя в процесс обучения, какую-то демонстрацию того, что изучение английского это здорово. Так мы хотели подтолкнуть пользователя к авторизации и подключению продвинутого функционала. Ну а третий этап – конвертация пользователя в ученика школы.
Была разработана подробная концепция, описание функционала для каждого этапа, и нам казалось, что должно выстрелить.
Возврат на землю
Однако когда мы начали делать расширение и анализировать конверсионные воронки смежных продуктов, стало очевидно, что привлечение новых клиентов школы через этот продукт – весьма нетривиальная задача: конверсия очень маленькая, а цель слишком амбициозная. Поэтому, уже начав работу над проектом, мы решили сместить фокус, упростить механику, выкинуть крутые, но неочевидные фишки, и сделать простое и понятное расширение, которое бы несло пользу в первую очередь ученикам школы; мы хотим, чтобы они все его установили. Хотя внешние пользователи тоже могут пользоваться расширением, мы перестали рассчитывать на них как на потенциальных учеников школы.
Тут история упростилась, но одновременно было ясно, что, стартуя с базовым функционалом, ничего нового на рынок мы не принесем; нам будет сложно конкурировать с аналогами, даже обладая лояльной аудиторией. Поэтому была сделана ставка на интеграцию с мобильным приложением, благо это наше уникальное преимущество: ни у кого из конкурентов нет такого набора механик по запоминанию слов.
Одновременно мы начали задумываться не только над базовыми задачами, а постарались найти более фундаментальный подход, посмотреть на наш продукт в контексте его потребления. Что еще может быть нужно пользователю, работающему с текстовой информацией? Это фундаментальное раздумье привело к концепции симбиоза дополнительных сервисов, который должен помочь нам создать уникальный продукт.
И мы начали придумывать эти сервисы.
Секретный соус
Первым из них стал режим readability, в котором с веб-страницы выкидывается весь лишний мусор, баннеры, боковые колонки и прочее. Остается только полезный контент: текст, иллюстрации, видео. В меню есть настройки визуального отображения – шрифты, цвета; там же – более глубокие механизмы взаимодействия с интерактивным переводом. Этот режим предназначен в первую очередь для комфортного чтения и перевода англоязычных текстов: перевод всех добавленных слов отображается в тексте, есть боковая панель с локальным словарем именно для этой статьи и другие опции работы с источником. Мы планируем и дальше активно развивать функционал этого сервиса.
Дальше мы подумали, что чтение на английском – трудоемкая задача, требующая времени и усилий, что приводит к проблемам с качественным управлением потоком информации. Нам пришел в голову классный пример – закладки (букмарки) и приложения для отложенного чтения. Почему бы не сделать на базе нашего приложения собственную систему виртуальных закладок? Мы можем предоставить пользователю хранилище, куда он может скидывать статьи из сети, прочитанные или запланированные к прочтению. Статьи структурируются по метатегам, к ним добавляется статистическая информация, полезная для изучающих язык – сколько времени ушло на прочтение текста, сколько слов было добавлено в словарь для изучения, насколько текст оказался сложным для понимания – здесь мы видим массу возможностей близкой и далекой перспективы, очень надеемся все реализовать.
Наконец, вся история со сбором информации о взаимодействии пользователя с текстом отлично ложится на систему рекомендаций. Если мы понимаем, что он читает и как, мы можем рекомендовать аналоги по тематике, содержанию, уровню сложности, для закрепления изученных слов и т.д. и т.п. Мы знаем уровень ученика, мы знаем, что он читает, что добавил в словарь, можем составить его тезаурус, на основании которого при открытии статьи можем предоставить ему сводку по словам, которые у него вызовут проблемы с пониманием. Тем самым мы улучшаем его взаимодействие с текстом и повышаем эффективность собственно обучения. Для нас это самое перспективное направление развития – мы будем улучшать процесс работы ученика с текстом и повышать полезность этой работы, а не просто полировать взаимодействие со словарем.
Расширение и экосистема
Расширение для браузеров – элемент экосистемы Skyeng. Экосистема, говоря грубо, это один профиль пользователя в разных сервисах, которыми может быть что угодно, где участвует английский язык и есть возможность улучшать его знание: наша платформа Vimbox, наши мобильные приложения, какие-то сторонние разработки – хоть онлайновые кинотеатры, хоть компьютерные игры. Сердцем данных и функционала этих сервисов является общий словарь, который мы планируем синхронизировать и держать в бэкенде мобильного приложения (словарь – довольно условное упрощенное понятие, на самом деле учитывается весь опыт взаимодействия с текстом). Все приложения собирают слова в этот словарик. Сервисов может быть сколько угодно, они могут быть реализованы на разных платформах в разном контексте, но везде можно добавить слова в общий словарь. У нас в планах – масса идей по персонализации, адаптации, погружению.
Сейчас расширение умеет определять части речи, научилось работать с регулярными выражениями. Грамматический перевод на данный момент использует семантику от Гугла, но в будущем все будет зависеть от возможностей центрального словаря Вимбокса.
Общая идея – чем глубже погружается пользователь, чем больше элементов экосистемы он задействует в своей учетной записи, тем больше он получает пользы в изучении английского. Сейчас учетную запись может завести не только ученик школы. Отложенный список слов будет завязан на авторизацию и храниться в облаке: можно на работе добавить слово на компьютере, а учить дома с телефона – это бесшовная интеграция.
Зоопарк и перспективы
Ясно, что наше расширение – не квантовая физика. С клиентской частью все было понятно изначально – взяли API словаря, сделали расширение, подружили. Когда же начали делать синхронизацию, полезли проблемы.
Мы (группа разработчиков расширения) представляли себе свой проект как полноценный бэкенд с историей, мета-информацией по действиям пользователя; мы предполагали, что прямо из расширения можно будет поставлять наборы слов в любые сервисы экосистемы Skyeng. Все оказалось иначе: бэкендом заведовала команда мобильной разработки, и сейчас весь этот бэкенд словаря – сущность, которая очень плотно сидит в мобильном приложении. Возникали казусы и конфликты в реализации динамической работы и авторизации. Мы полагали, что пользователь сможет вносить изменения на любом клиенте, но, столкнувшись с реальностью, поняли, что сейчас это сделать невозможно: изменения могут происходить только в нашем расширении, т.к. мобильное приложение занимается только просмотром базы. Это новый опыт, новая архитектура взаимодействия с облачным словарем, и новая задача для мобильной команды. Им надо будет научиться поставлять пользователю гибкие инструменты, чтобы мобильное приложение перестало быть просто просмотрщиком, а позволяло полноценно работать с данными: менять картинки, передвигать слова, редактировать наборы – эти задачи сформулировались по итогам нашей совместной работы, связанной с расширением.
Когда мы сделали внутреннюю тестовую версию без авторизации и раздали ее сотрудникам, чтобы изучить базовые сценарии использования, мы увидели, что локальная страница словаря неинформативна: пользователь видит просто набор слов с указанием, откуда они добавлены. Начали общаться с коллегами, выяснять, кто как использует, и выявили два паттерна: кому-то интересно распечатывать списки слов и вешать на стену, а кто-то предпочитает выгружать в другие форматы данных и куда-то это загонять. Мы быстро сделали две кнопки, теперь страницу личного словаря можно распечатать или выгрузить в виде CSV. Это быстрая реакция на первый фидбек.
Начали тестировать на аудитории школы – вроде всем все нравится, глобальных косяков нет, но у людей есть острая потребность в самостоятельной редактуре сетов, генерящихся автоматически. Если из статьи добавить два слова – получится сет из двух слов, учить его неудобно, просили возможности объединять наборы, править, разбивать. Ясно, что такой функционал очень востребован, и его реализация – главная наша текущая задача; редактор словаря мы выкатываем сегодня, сервер для хранения отложенных текстов появятся в расширении в ближайшие недели.
Как всегда, напоминаем, что мы постоянно развиваемся и активно ищем крутых сотрудников в свои команды разработки. Например, сейчас открыты вакансии нескольких full-stack (включая лида) и продуктового дизайнера на Vimbox. Работать можно удаленно, а можно будет в нашем новом офисе на Таганке!
Поделиться с друзьями
Shedar
В каких ситуациях? По статье думал, что оно по предложению понимает часть речи слова и дает только перевод слова в соответствии с частью речи.
NabaT
Shedar, спасибо за корректное замечание. Используемый технологический движок действительно умеет определять час речи анализирую контекст и структуру предложения, но сейчас данный функционал фактически ни доступен в рамках интерфейса и пользовательских сценариев.
На первом этапе, мы посчитали, что наиболее правильным будет давать пользователю самостоятельно выбирать подходящий вариант перевода, для добавления его в словарь и дальнейшего изучения в мобильном приложении.
Возможность определения части речи и предоставления однозначного значения перевода слов планируем использовать в дальнейших предиктивных фичах расширения и других сервисах экосистемы vimbox.