Сделал браузерное расширение, чтобы сохранять иностранные слова прямо из статей и потом учить их в мобильном приложении

Уже примерно год я делаю приложение для изучения иностранных слов.
За это время оно довольно сильно изменилось: появились новые языки, подборки, рекомендации, игры, уроки и куча других вещей. Сейчас в приложении можно учить 12 языков.
Но основная идея все это время оставалась одной и той же: помочь человеку быстро находить любые слова и фразы, а потом давать ему возможность максимально эффективно запоминать их через интервальные повторения.
И забавно, что за год разработки я успел придумать довольно много способов, откуда эти слова брать.
Кроме самого очевидного.
В первой версии был просто поиск
Самая первая версия приложения была очень простой.
Есть строка поиска. Вводишь слово или фразу, смотришь перевод, добавляешь в свой словарь и потом учишь.

В моей голове это выглядело вполне логично и было самодостаточно. Я и сам так добавлял слова — смотрел какой-то фильм на ноутбуке, параллельно смотрел на субтитры. А когда встречал незнакомое слово, то искал его через поиск в приложении и добавлял в словарь.
Но довольно быстро от пользователей начала приходить примерно одна и та же обратная связь:
А что мне вообще искать?
И тут я понял, что допустил первую ошибку.
Поиск хорошо работает, когда человек уже знает, какое слово ему нужно.
Но не все пользователи делали так же, как я. Многие просто учили язык, но не потребляли контент на нем.
Поэтому дальше появилось много новых путей, откуда брать слова: коллекции слов, персональные рекомендации и даже уроки.
И казалось бы, способов найти новые слова уже достаточно.
Но где-то в этот момент я понял, что все это время обходил стороной один из самых естественных источник незнакомых слов для изучения.
А откуда люди вообще узнают новые слова?
Особенно если речь идет не о человеке, который только начал учить язык, а, например, о разработчике или любом другом специалисте из другой интеллектуальной сферы.
Мы читаем документацию, статьи, посты на Reddit. Да и всем понятно, что большинство свежего и важного профессионального контента выходит на английском языке.
И вот здесь существующий сценарий моего приложения внезапно начинал выглядеть очень странно.
Представим, что я читаю статью на английском. Встречаю незнакомое слово. Что я должен сделать?
Прервать чтение.
Взять телефон.
Открыть приложение.
Перейти в поиск.
Ввести туда незнакомое слово.
Посмотреть перевод.
Добавить слово в словарь.
Вернуться к статье.
Попытаться восстановить контекст статьи.
Конечно, можно и быстрее это сделать. Посмотреть значение в переводчике и читать дальше. Но тогда я не запомню это слово и в следующий раз снова полезу в переводчик. Важно именно доучивать незнакомые слова, которые встречаются больше одного раза в неделю. Это единственный путь к свободному чтению в оригинале.
Самый идеальный сценарий должен выглядеть следующим образом. Я читаю статью, прямо в этой же вкладке смотрю перевод незнакомого слова и добавляю его в словарь. А учу уже отдельно, в специально выделенное время.
Самое смешное — пользователи уже пытались мне об этом сказать
Несколько пользователей раньше просили меня сделать возможность добавлять слова с компьютера. Каким-то образом загрузить много слов за один раз, чтобы не вводить каждое вручную через поиск.
Тогда я воспринимал это буквально: людям нужен импорт.
Но сейчас мне кажется, что, по крайней мере, у части пользователей запрос был вообще не про импорт. Пользователи буквально составляли список слов после того же чтения статей или прохождения курсов, а потом шли в мобильное приложение и добавляли вручную слово за словом.
Но если они смогут добавлять их сразу из браузера, то и импорт не нужен.
По крайней мере, для какой-то части пользователей жизнь станет чуточку проще.
Стало очевидно, что такой пользовательский сценарий идеально решается с помощью браузерного расширения.
Что я решил реализовать в первой версии расширения
Основной сценарий я постарался сделать максимально коротким.
Выделяешь незнакомое слово прямо на веб-странице. Появляется небольшое окно с переводом. Если слово нужно только понять, то читаешь перевод и продолжаешь чтение. Если хочется его запомнить — нажимаешь плюс. Всё.

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

Здесь хочется уделить особое внимание тому, почему сценарий именно такой. Это расширение сделано специально для поддержки чтения на языке оригинала, а не для простого перевода. Если нужно просто перевести страницу, то это буквально встроено в браузер.
Оставалось как-то связать браузер и телефон
На этом месте появилась уже скорее техническая проблема.
В приложении у меня нет классической системы авторизации через гугл или эпл аккаунт. До появления расширения в ней просто не было большой необходимости.
Но теперь появилось два отдельных устройства — браузер на компьютере и мобильное приложение. И у них должен быть один общий словарь.
Можно было ради расширения добавить полноценную регистрацию, но мне не хотелось заставлять существующих пользователей заводить аккаунт только ради этой функции.
Поэтому я сделал более простой вариант — привязку устройства по коду. Это примерно также, как вы входите в ютуб на телевизоре.
Нужно просто внутри приложения добавить новое устройство, а потом ввести код в браузере:

После этого список синхронизируется в обе стороны. Добавил слово из статьи на компьютере — оно появилось в приложении. Добавил слово через мобильное приложение — расширение тоже об этом знает и сможет подсвечивать его на сайтах.
У пользователя получается буквально один источник истины для списка изучаемых слов.
Наконец-то приложение замкнулось в полный цикл. Из простого словарика я уже переполз в разряд полезных инструментов для профессионального развития. Начала появляться целая экосистема вокруг пополнения словарного запаса.
Рассчитываю, что это позволит получить еще больше счастливых пользователей.
В расширении нет рекламы и каких-то платных функций. И необязательно дополнительно ставить мобильное приложение, можно просто ограничиться только расширением. Тогда там будет просто собираться коллекция слов.
Но если хочется слова не только сохранять, а еще и учить через интервальные тренировки, то можно дополнительно поставить приложение на телефон.
Расширение можно скачать здесь. Оно доступно пока только для Google Chrome.

А само мобильное приложение называется VibeLing. Есть и для iOS и для Android.
P.S. Пока писал статью у расширения уже появились первые отзывы. Буду рад и вашей обратной связи.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.