Biggest DevOps Conference in Ukraine! Kubernetes, TensorFlow, KubFlow, Cloud solutions, Ballerina and much more. Register until August, 22!

DOU Проектор: YoutubeTutor — расширение Chrome для обучения на YouTube

В рубрике DOU Проектор все желающие могут презентовать свой продукт (как стартап, так и ламповый pet-проект). Если вам есть о чем рассказать — приглашаем поучаствовать. Если нет — возможно, серия вдохновит на создание собственного made in Ukraine продукта. Вопросы и заявки на участие присылайте на editors@dou.ua.

Привет, меня зовут Дима. Я разработчик проекта YoutubeTutor — это Chrome extension, дополняющий функционал YouTube для комфортного самообучения.

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

Идея

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

Изначально существовал сервис Nerdster.io, который делали 3 украинских разработчика. Nerdster.io был образовательным сервисом, который копировал плейлисты из Youtube и добавлял другие элементы обучения, такие как отслеживание прогресса и оценивание по пройденному материалу. Но из за отсутствия монетизации в данный момент он заморожен.

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

Реализация

Chrome extension был выбран, чтобы не «пересаживать» пользователя на другой сервис —  просто заходи на Youtube, как и раньше, и проводи время с пользой. Стоимость разработки равна времени разработчика + $5, поэтому это лучший вариант проверить идею на востребованность.

Главный недостаток Chrome extension’ов, на мой взгляд, — отсутствие шаблонов. Есть обходной путь  - внедрить JS, который подтягивает и инжектит необходимые templates. Но сейчас появился JSX и шаблонные строки, поэтому всё стало значительно приятней.

Вторая проблема — это корректное слежение за изменением URL и инжект готового HTML, так как YouTube использует spfjs. Поэтому сейчас применяется Gist с использованием setInterval, что мне не очень нравится.

Если у вас есть идеи, как сделать проверку рендера элемента лучше,  - буду рад узнать в комментариях.

Также есть проблемы с синхронизацией между устройствами. Chrome extension предоставляет chrome.storage.sync, но с большими ограничениями, поэтому этот storage использовать для хранения больших данных нельзя. Была идея уменьшить и оптимизировать данные, которые хранятся, за счет увеличения запросов к YouTube API, но со временем хранилище всё равно быстро заполняется. Поэтому решил в дальнейшем сделать авторизацию и синхронизировать данные на любой cloud NoSQL database.

Результаты

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

Буду рад поддержке проекта на ProductHunt, а также любым корректным отзывам и предложениям.

LinkedIn

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

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Классная штука!
Спасибо!
Есть предложение, позволить системе формировать лист из более чем 50 видео.
Сейчас столкнулась с тем, что больше 50 видео в список не добавляются.

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

Отличная штука! :)
Я почти все видео на YouTube смотрю на x2 скорости. Когда игрался с расширениями даже себе запилил утилитку: github.com/zu1in/ytpb-speed-control
Возможно, добавить такую ф-ю в ваше расширение было бы не лишним. Есть, конечно, «более лучшие» расширения, которые к любому видео прикручивают управление скоростью, но, думаю, через YouTube Player API это проще и быстрее будет.

Это хорошая идея. Я вскоре перенесу все тех. таски на Github Project и добавлю эту функцилнальность в бэклог.

github.com/...​t/YoutubeTutor/projects/1
Постараюсь новые фичи выпускать каждые 2 недели.

задумка неплохая, сразу себе поставил, но стоило добавить курс, и вкладка курсов вовсе пропала.

Спасибо.
Я максимально быстро решу этот вопрос, если вы поделитесь ссылкой на плейлист что вы поставили и шаги которые привели к этому issue.

Фикс был сделан в текущей версии — 2.0.1

Так же в последний момент была добавлена фича «Рекомендованные курсы». Сейчас это лишь список вручную отобранных плейлистов.
Если у вас есть классные плейлисты поделитесь ими на Github или тут в комментариях.
Буду очень благодарен.

крутая идея, только сделай плиз «рекомендуемые курсы» опциональными)

Спасибо, сейчас делаю возможность кастомизации. Можно будет настроить интересы или замьютить рекомендации вообще.

+ не могу запушить свою ветку с плейлистом, права наверное нужно немного подправить

Запушить сразу не получиться, т.к нет тебя в Collaborators. В данном случае возможно сделать форк, а потом pull request в original.
git-scm.com/...​Contributing-to-a-Project

я вроде бы все так делаю, создал отдельный бранч и хочу его запушить, а потом сделать pull request, но ругается на права

не совсем, сделать форк dl3.joxi.net/...​/335813/13/8d287b846a.jpg .
Фактически, копию проекта. В этом копии ты можешь делать что угодно и так же предложить пулл реквест в родительный проект. Посмотри гайд, что я кинул.

есть, спасибо

Подписаться на комментарии