У меня есть дочь. Ей исполнилось два года недавно. Когда она еще не родилась, я уже думал о том что, черт побери, кругом столько всего! Когда мне было 6 (время первых осознанных воспоминаний), источников информации было от силы четыре. Радио, печатная продукция, черно-белый телек и слухи от соседей по лестничной площадке. И так продолжалось долго, до 14 лет точно. Почему я в этом уверен? Да потому что ничего не изменилось к тому времени, только телек стал цветной. Потом в квартире появился интернет по DSL, потом широкополосный, мобильный, в кармане, в утюге и тостере. Еще 6 лет назад не было тиктока, а теперь это не просто сервис для обмена короткими видео с котиками, а платформа, которая влияет на вкусы, взгляды и мировые тренды. Тикток даже пытаются использовать как образовательную среду, но не мне его за это судить.
А что случится, когда моей дочке, как и мне, будет 6? 8? 10? Вокруг появляется и умирает такое безумное количество источников информации, что за ними просто невозможно уследить физически. Как я собираюсь подготовиться? Правильно, добавлю в эту кашу кое-что от себя. Я хочу, чтобы мой ребенок имел представление о том, как эти цифровые технологии устроены, что это не какая-то там магия, а просто 1 и 0 и немного инженерии. Ну ладно, может быть очень много инженерии, но главное - что это не магия, и если вдруг ей будет интересно в этом разобраться, то она сможет.
Этап 0. Идея: свой вклад в информационное поле
От слов к делу. Я решил записать курс по программированию для детей в возрасте как раз 7 лет. Рефлексируя над своим детством, кажется, что это отличное время, чтобы немного углубиться в какую-нибудь область. В те года в моем распоряжении были иллюстрированные энциклопедии про динозавров и всякую всячину, что позволяло узнать о предмете не слишком сильно но и не ограничиваться просто названиями. Идеальный баланс для 7 лет. И я начал искать его год назад для своей идеи.
Во Wrike мы пытались сделать курс по Dart, но в какой-то момент стало ясно, что эта технология для компании становится очередным легаси. Но лично я считаю, что Dart не самый плохой язык для академических целей, особенно в возрасте 7 лет. Почему выбор пал на него?
Классический C подобный синтаксис, который применяется во многих других языках
Возможность постепенного объяснения концепций (например, мне кажется, что Java - это классы с самого начала)
Простой и приятный онлайн редактор dartpad
Из недостатков, разумеется, довольно узкая сфера применения: в коммерческих целях только Flutter. Ну и отсутствие гарантий, что послезавтра Google не убьет и Dart целиком, как они сделали с Dart Angular и много чем ещё другим.
Последний риск довольно легко нивелировать и переписать все примеры на C#, потому что суть в целом не меняется.
И так, Dart. Но что дальше? Как вы думаете, с какой вероятностью 7-летний программист полезет читать документацию или stackoverflow? По моей гипотезе около нулевая. Поэтому надо было придумать, как можно увлечь ребенка, и предложить ему что-то новое каждый раз, но без потери контекста от прошедших занятий. Возникает две потребности:
Необходим последовательный процесс создания чего-то интересного и законченного
Нужна какая-то история за этим всем.
Трудно сказать, что из этих двух требований первично, но они очень тесно связаны, потому что от выбора легенды будет зависеть в итоге то, что мы будем создавать. Я решил остановиться на роботах и экспедиции на Марс. Суть такова: на Марс отправляется космический корабль, который управляется роботами. Главный из них, и единственный в своем роде - К.Э.Р., Корабельный Энергоэффективный Робот, просит помощи в организации экспедиции. Надо разработать программу для управления роботами, которых у нас три типа. Для старта мы хотим написать программу, которая поможет роботу перемещаться по поверхности и возвращаться обратно, на исходную точку. В целом, это и есть существующий пока что курс, длительность которого на Udemy составляет чуть больше часа, что позволило мне выложить его бесплатно, но об этом чуть ниже.
Этап 1. Создание (почти) печатных материалов
Я решил начать с презентации. Не этой корпоративной и тоскливой, на которой графики и таблички, а презентации, которую не стыдно показать ребенку, с картинками, с персонажами и минимумом текста, который только можно придумать. Полностью остаться без текста, увы, не получилось, но я старался (оглядываясь назад, возможно можно было стараться еще, но тогда выпуск был бы отложен еще на неопределенное время).
Я решил делать все сам, чтобы не оказаться в ловушке какого-нибудь авторского права. Поэтому в первой версии нарисовал всех персонажей и скудный визуал сам. Вышло так себе, но с этим уже можно было делать структуру занятий и придумывать код. Когда я закончил с первым вариантом в Google Slides, стало ясно, что визуал… не дотягивает.
На помощь пришла моя дорогая жена и поделилась контактами дизайнера, который помог перерисовать все в более привлекательном виде. Дизайнер поработал над структурой слайда, размерами, отсутпами и шрифтами, оставив иллюстрации на мой выбор, и я решил обратиться к Midjourney. Да, я слышал много про то, что все эти генеративные сети находятся в какой-то серой зоне по поводу авторских прав. Но теперь это новая реальность и сгенерированный ИИ контент совершенно точно перевернет (если еще не перевернул) всю нашу жизнь.
На создание всех материалов в печатном виде ушло около 2 месяцев, плюс месяц на редизайн. Это не идеальные часы, а приблизительное полное время, потраченное с учетом рабочих дней. Если взять момент от начала этой фазы до окончания, то он занял год. Это 6 презентаций первой версии и столько же после редизайна. Каждая презентация состоит из 30-40 слайдов и позже будет разбита на два видеоролика.
Используемые инструменты: Google Slides, Figma, Midjorney, Paint.NET, Aseprite, Inkarnate.com
Этап 2. Долгая пауза…
Я долгое время ничего не делал, точнее, медленно переделывал старые уроки на новый дизайн, исправлял ошибки в текстах.
Этап 3. Запись курса
Самая веселая часть, потому что для меня это совершенно новый опыт, записывать уроки еще и для детей. Это не совсем то же самое, что проводить лекцию онлайн (к тому времени у меня уже за плечами было больше 10 начитанных лекций в Яндекс.Практикуме) или просто выступать. Вживую, даже онлайн, можно допускать много мелких оплошностей и неточностей. А вот в записи они безумно раздражают и отвлекают. Сделал любимое "эммм", отлично, начинай с начала (в худшем случае). Зачесался нос? Зачем тебе это? Посмотрел в другую сторону, а не в камеру? Заново! Запись экрана в процессе написания кода сильно проще в этом плане, я записывал всего 2 видео с собственным лицом, и это было по настоящему непростая задача. Вот, что я узнал опытным путем:
Не начинайте говорить сразу же. Сначала посмотрите в камеру, улыбнитесь и только потом начинайте говорить. На “посмотри в камеру и улыбнись” лучше потратить секунды 2-3, иначе сводить это потом будет очень больно.
Если писаться на разные источники видео и звука, то обязательно хлопайте в ладоши перед стартом речи. На гистограмме звуковой дорожки это будет видно, и свести два разных источника будет относительно просто. А вообще, хлопайте всегда, когда делаете большие паузы или решили уже, что предыдущие минуты идут под нож. Причина все та же - раскадровка видео, скорее всего, не будет наглядна, а вот гистограмма аудио - очень даже.
Всегда. Смотрите. В. Камеру. Когда она одна, и вы один, других вариантов быть не может. Иначе - заново!
Старайтесь не издавать посторонние звуки. Цокать, чмокать, фыркать, это все лишнее. Да, это довольно просто убрать в редакторе, но полсекунды фырканья добавит вам минимум пару десятков секунд работы в редакторе.
Двигать руками - можно. Чесать нос - не стоит. Морщиться тоже. Так что следите за мимикой и жестами.
Используемые инструменты: MacBook Pro, диктофон Panasonic, GoPro 5, микрофон Razer Risen, Google Meet, OBS, Adobe Premiere Elements 13
Для первых видео с головой хватает MacBook. Я проверял, имеет ли смысл записывать звук на диктофон и видео на гоупро, но пришел к выводу, что это создает гораздо больше работы с довольно незначительным улучшением качества. Диктофон записывает в приличном качестве, но не сильно выигрывает перед маком, а возни больше, плюс для него нужна хотя бы самая дешёвая петличка. Без нее тоже можно поковырять настройки диктофона и получить хорошее качество, но это того не стоит. Гоупро дает значительное улучшение качества видео, но так как мою модель камеры нельзя просто взять и использовать, как вебку, то надо возиться с видео уже в редакторе. Я хотел сделать виртуальный фон, и не смог сделать его простым способом, поэтому первые видео с лицом я записывал просто в Google Meet, в котором сидел один (теперь на видео со мной в левом нижнем углу иногда можно разглядеть Igor Zubov, как я и представлен в Meet). Для дальнейших видео я всё-таки разберусь, как сделать фон простым способом или же просто откажусь от него в пользу заставки и качественного видео. Запись экрана делал в OBS, у которого есть неприятный баг (по крайне мере в версии для маков на ARM) - если выбрать захват экрана, и ноут потом по таймауту уснет, то надо перезапускать OBS (или вкл/выкл источник видео в настройках), иначе видео он писать не будет. Я не обратил внимание на это и мне пришлось перезаписывать 3 или 4 видео с нуля. В остальном OBS очень хорош. Я ограничивался только настройками захвата экрана и аудио и форматом вывода, но разных настроек там куча.
Мак на самом деле отлично справляется, когда надо записывать экран и речь, потому что ты находишься достаточно близко к встроенному микрофону, и качество получается весьма хорошим. А вот если хочется записать лицо, то одним маком лучше не ограничиваться. Я записывался в маленьких комнатах для переговоров, наверное 1,5 на 1,5 метра, где на одну стену наклеили небольшой кусок какого-то поролона. Но эхо все равно было, не критичное, но я его слышал. Впрочем, его слышали и на ревью в Udemy, но тоже сочли не блокирующим публикацию курса.
Как говорил ранее, я решил, что контент будет авторский. Искать в сети что-то подходящее моему видению, плюс без проблем с авторскими правами, казалось мне очень непростым. Я даже честно пытался. Один раз потратил час и ничего не нашел. Решение тут очевидно спорное, и, возможно, получилось бы найти что-то хорошее если потратить больше времени, но когда у тебя есть доступ к Midjourney, то соблазн использовать его очень велик. А простые пиксель арты с анимацией я смог сделать и сам, например вот этот калькулятор и процессор. Карту Марса решил делать в inkarnate. Это такой бесплатный (с ограниченным набором функций) редактор для создания фэнтезийных карт.
Этап 4. Публикация
Будто заполняешь анкету на визу, но очень большую. Когда собираешься опубликовать курс, то визард Udemy ведет тебя на всем протяжении процесса: тут добавить описание, здесь дополнительные материалы, здесь пройдите верификацию личности. Все очень понятно и доступно. У платформы есть ограничения в монетизации. Точнее, в бесплатном формате. Будучи уверенным, что этот вводный курс не достаточно объемный для того, чтобы его продавать, я изначально планировал выложить его как бесплатный. И мне это удалось, потому что бесплатные курсы на Udemy можно публиковать только если суммарная длина видео меньше, чем два часа. У меня вышло чуть больше часа, так что мое желание и возможности Udemy на тот момент совпали. Процесс ревью занял чуть больше одного дня, а я даже не успел запастись шампанским. Мой первый курс доступен всем!
Этап 5.1 Продвижение
Маркетинг, my a$$. Я закинул ссылку друзьям, в свой инстаграм, в LinkedIn и, как вы догадываетесь, сюда. Я не рассчитывал на успех как у Super Meat Boy, но конечно же не отказался бы от роста аудитории. Маркетинг это моя супер слабая сторона. Она настолько слабая, что если бы стороны общались между собой, то маркетинг они бы просто не заметили. В целом с момента запуска (2 августа 2023) до сегодня (5 сентября 2023) у курса 37 учеников, которые пока не отметились какой-то активностью, которая потребовала бы моего участия. Правда двое из них поставили 5 звезд. Я стою перед глубоким синим морем и до конца не уверен, что хочу тратить силы на этот самый маркетинг.
Этап 5.2 Продолжение
А вот тут я точно уверен, что продолжу работать. Курс, какой бы он ни был сейчас, еще не закончен, и я продолжу добавлять новые уроки. В планах перейти от консольного приложения к визуальному на Flutter, но в этом случае я увеличиваю влияние риска Эффекта Google, когда все это дартаньянство они могут прикрыть одним днем. Придется в этом случае подсматривать другую платформу для визуальщины.
Помимо непосредственной работы над курсом, я решил позаписывать короткие ролики про цифровые технологии и все такое для детей. Кажется, вхожу во вкус. Ну а там глядишь и монетизация, которую придется включить на Udemy после 2 часов видео, принесет пару баксов на кофе. Мелочь, а приятно.
Что ещё есть для детей на русском языке? Наверное, другой миллион разных ютуб видео и блогеров. Моим личным фаворитом является мультсериал "Смешарики. Пин-код". Если у вас есть дети, они смотрели Смешарики, но пока не добрались до Пин-кода, то рекомендую. Ну а моя розовая мечта, чтобы такие мультфильмы и правильные ролики были популярнее, чем Скибиди Туалеты (наивный).
Эпилог
На самом деле, вся подоплека раскрыта по введении - вокруг столько всего, что я точно не смогу уследить за всем через 6 лет. Поэтому сейчас уже пора готовить почву, чтобы быстро и доступно объяснять вещи ребенку, когда у него возникнут вопросы. А если в процессе обкатки этого всего я вдруг смогу помочь другим детям - это же просто великолепно. Делиться знаниями и передавать их тем, кто младше нас, наверное, одна из главных функций смены поколений. Мы же не хотим оказаться на планете, которая была нарисована в фильме “Поле битвы: Земля”?
А вот сам и сам курс.