https://www.duolingo.com/profile/FieryCat

Рецепт отключения мотивационных сообщений для web-версии

Если вас не интересует как это работает, вы можете просто прочитать рецепт в конце этого поста.

Некоторое время назад в английской части форума стало появляться много сообщений о новой функциональности в веб версии duolingo: мотивационные сообщения, и, как всегда это бывает, кому-то это нравилось, кому-то нет. Пока я не видел этого на своем аккаунте, меня оно не тревожило. Но однажды, поздним-поздним вечером, в тишине и темноте ночной комнаты, с нижней части экрана внезапно и без предупреждения вылезло это! Первое, что я подумал, было: "Что за н Что это такое? Как это выключить?" Я даже не скажу, что оно мне не нравится, скорее свою роль сыграла внезапность этой штуки и тот факт, что я сбился с темпа во время урока. Конечно, я знал, что это такое и знал, что в настройках аккаунта нет никакого выключателя для этого, т.к. ранее на форуме это упоминалось, но первые мысли были именно такими, только немного более, хм, менее сдержанными. В общем, после того, как я закончил свою минимальную дневную норму, я решил выяснить как это работает и как можно избавится от этих сообщений, которые ломают мой темп обучения и мои наработанные привычки (answer, enter, enter). Информацию, которую мне удалось раздобыть, можно прочитать ниже.

Эта функциональность называется "CoachDuo" (внутреннее название, полагаю), и она связана с A/B тестом "lesson_coach". В настоящий момент подобных тестов ровно 5:

  • android_56_lesson_coach_v2
  • android_48_lesson_coach
  • android_49_lesson_coach
  • growth_ios_in_lesson_coach
  • web_lesson_coach_duo

Мой - последний, названный "web_lesson_coach_duo". Существуют три типа таких мотивационный сообщений:

  • wrong_streak (3 три неверных ответа подряд);
  • small_right_streak (5 правильных ответов подряд);
  • big_right_streak (10 правильных ответов подряд);

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

Как избавиться от них в web-версии?

  • Использовать только тренировку на время (эти сообщения там не появляются).
  • Не использовать duolingo или использовать только приложение, предварительно отключив соответствующую опцию там (не действует на web). Как мне подсказали в комментариях, оказывается, опция в приложении не работает, по крайней мере не во всех версиях работает. Спасибо @Algarve11 за эту информацию.
  • Попробовать поманипулировать датами последнего показа этих сообщений, которые проверяются перед тем, как сообщение будет отображено. Напомню: каждый тип сообщения раз в день, значит три даты.

Я решил пойти по третьему пути, т.е. попробовать поманипулировать датами. Эти три даты должны где-то храниться. Где, на сервере? Я тоже так думал, но реальность оказалась проще: разработчики решили использовать для этого локальное хранилище браузера пользователя! Упсь, уточнение: один тип сообщения в день только в том случае, если вы не занимаетесь на разных браузерах в течении одного дня.

Небольшое отступление: Пока я занимался своим маленьким исследованием, я нашел маленькую, но неприятную ошибку в JavaScript коде, которая может быть причиной зависания урока или практики (кнопка "Далее" перестает работать). На случай, если это читают сотрудники duolingo: не могли бы вы глянуть на мой багрепорт #1471724 в багтрекере? В нем я дал больше информации об этом баге.


Рецепт: Если вы хотите избавится от этих сообщений на один день (не 24 часа), вы можете запустить этот код, находясь на главной странице сайта, там где дерево, или просто добавьте этот код в ваш пользовательский скрипт, если не хотите лазить в консоль каждый день:

window.localStorage["duo.session.coach_duo.last_shown_big_right_streak"] = window.localStorage["duo.session.coach_duo.last_shown_small_right_streak"] = window.localStorage["duo.session.coach_duo.last_shown_wrong_streak"] = Math.floor(new Date().valueOf() / 1000);

Happy learning!

August 4, 2019

20 комментариев


https://www.duolingo.com/profile/Skazanie

Кстати, да - меня это тоже сбивает. Эдакое изящное издевательство... Причем независимо от "подбадривания" или "восхищения". FieryCat, спасибо за Исследование)))

August 4, 2019

https://www.duolingo.com/profile/AVATAR_HOKAGE

Как удачно, что вы создали новый форум Fiery Cat. Как вы смотрите на то что я использую вас в роли злодея своей истории. Такая идея у меня появилась когда я просматривал форумы. Вы будете богатым владельцем особняка у которого мы похитим линготы.

Если есть пожелания по описанию особняка и охране оставьте их тут)

С уважением AVATAR HOKAGE.

August 4, 2019

https://www.duolingo.com/profile/FieryCat

Я польщен и не против: злодей - это я, несомненно! Что касается особняка - что-нибудь не сильно роскошное, ничего такого, что бросается в глаза чрезмерной роскошью и безвкусием. Охрана? Так это один из главных этапов правильного ограбления - рекогносцировка, так что с этим вы как-нибудь сами :) А я могу поучаствовать путем умножения премиального фонда для победителей, если желаете.

August 4, 2019

https://www.duolingo.com/profile/Algarve11

Спасибо за рецепт! Мне, правда, эти сообщения не очень мешают, но может со временем это изменится.

использовать только приложение, предварительно отключив соответствующую опцию

Ее можно отключить, но от этого ничего не меняется, сова продолжает выпрыгивать.

August 4, 2019

https://www.duolingo.com/profile/FieryCat

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

Ее можно отключить, но от этого ничего не меняется, сова продолжает выпрыгивать.

Я это знаю, от того и написал "Использовать приложение", а не "Использовать приложение, для того, чтобы отключить", да и в скобочках уточнение есть, там же. Считаете, что нужно перефразировать?

added: Или вы имеете ввиду, что оно и в приложении продолжает выпрыгивать после отключения соответствующей опции?

August 4, 2019

https://www.duolingo.com/profile/Algarve11

Я имела в виду, что в самом приложении ничего не меняется от отключения этой функции. У меня все отключено, но когда занимаюсь там, все равно получаю эти "мотивирующие сообщения".

August 5, 2019

https://www.duolingo.com/profile/FieryCat

Странно, сломали что ли? Не знал об этом. Но у меня и приложения то нет. Спасибо за информацию.

August 5, 2019

https://www.duolingo.com/profile/Algarve11

Пожалуйста. :)

August 5, 2019

https://www.duolingo.com/profile/E-chan.

Кстати да, я давно не обновляла приложение. И, видимо, не буду)

August 6, 2019

https://www.duolingo.com/profile/E-chan.

Странно. Я регулярно пользуюсь приложением на андроиде. Отключила эту штуку как только она там появилась. С тех пор ни разу не появлялась.

August 6, 2019

https://www.duolingo.com/profile/Algarve11

Видимо, мы пользуемся разными версиями.

August 6, 2019

https://www.duolingo.com/profile/Watching_Void

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

August 4, 2019

https://www.duolingo.com/profile/EVzj5

Спасибо за пост и очередное исследование, FieryCat. Лично у меня данные сообщения начали появляться около недели (или две) назад, лично мне кажется, что это никоим образом не сбивает с темпа, наоборот - даёт некоторую передышку и радость от того, что совёнок верит в нас.

Вот только верят ли в это создатели сайта, вставляющие кучи багов и странных решений и по сути редко читающие просьбы - другая история (c) :)

P.S. Зато хоть совёнок будет навещать хоть разочек (:

August 6, 2019

https://www.duolingo.com/profile/FieryCat

Я понимаю, что у всех нас разные предпочтения, так что если кому-то не понадобился рецепт, то можно что-то полезное из моего исследования почерпнуть, если оно там есть :)

P.S. Зато хоть совёнок будет навещать хоть разочек (:

Собственно, если немного подправить мой рецепт, то можно сделать так, чтобы сова появлялась чаще. Просто замените это: Math.floor(new Date().valueOf() / 1000); этим: 0; и запускайте код перед каждым уроком.

August 6, 2019

https://www.duolingo.com/profile/EVzj5

Я понимаю, что у всех нас разные предпочтения, так что если кому-то не понадобился рецепт, то можно что-то полезное из моего исследования почерпнуть, если оно там есть :)

Это уж точно, каждый раз что-то новое от старожила без отпуска :)

За рецепт спасибо, как-нибудь попробую на досуге.

August 7, 2019

https://www.duolingo.com/profile/KostrovSky

Очень крутая тема и пост, спасибо!)

August 5, 2019

https://www.duolingo.com/profile/E-chan.

Меня тоже очень раздражают и отвлекают это сообщения. Настолько, что я в последнее время уже перестала проходить уроки, только тренируюсь на время, прохожу stories или сижу в приложении (где у меня они не выскакивают). Так что большое спасибо за рецепт, надеюсь, что сработает.

А вот, кстати, очень интересный пост, где один умелец описывает, как сумел избавиться от этих сообщений совсем с помощью скрипта
https://forum.duolingo.com/comment/33108198$from_email%3Dcomment&comment_id%3D33203388

August 6, 2019

https://www.duolingo.com/profile/FieryCat

Тот способ опирается на определенное имя каскадных таблиц стилей (CSS), а эти имена, к сожалению, регулярно меняются. Гораздо проще обернуть мой метод в скрипт, даже имитация нажатия кнопки не потребуется. Пойти, подсказать, что ли?

August 6, 2019

https://www.duolingo.com/profile/filma_duo

FieryCat, спасибо за рецепт! А что, у пользователей есть доступ в багтрекер? А то я тут тоже косячок отловила https://forum.duolingo.com/comment/33610982, как бы его до разработчиков донести - пользователям-то лог ни к чему :)

August 13, 2019

https://www.duolingo.com/profile/FieryCat

Пожалуйста. На счет косячка и багтрекера - отвечу там, по вашей ссылке.

August 13, 2019
Изучайте язык всего по 5 минут день. Абсолютно бесплатно.