У меня есть дочь. Ей исполнилось два года недавно. Когда она еще не родилась, я уже думал о том что, черт побери, кругом столько всего! Когда мне было 6 (время первых осознанных воспоминаний), источников информации было от силы четыре. Радио, печатная продукция, черно-белый телек и слухи от соседей по лестничной площадке. И так продолжалось долго, до 14 лет точно. Почему я в этом уверен? Да потому что ничего не изменилось к тому времени, только телек стал цветной. Потом в квартире появился интернет по DSL, потом широкополосный, мобильный, в кармане, в утюге и тостере. Еще 6 лет назад не было тиктока, а теперь это не просто сервис для обмена короткими видео с котиками, а платформа, которая влияет на вкусы, взгляды и мировые тренды. Тикток даже пытаются использовать как образовательную среду, но не мне его за это судить.

Как я буду ощущать себя, когда появится ТикТок 2 или что-то похожее (Midjourney)
Как я буду ощущать себя, когда появится ТикТок 2 или что-то похожее (Midjourney)

А что случится, когда моей дочке, как и мне, будет 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 видео с собственным лицом, и это было по настоящему непростая задача. Вот, что я узнал опытным путем:

  1. Не начинайте говорить сразу же. Сначала посмотрите в камеру, улыбнитесь и только потом начинайте говорить. На “посмотри в камеру и улыбнись” лучше потратить секунды 2-3, иначе сводить это потом будет очень больно.

  2. Если писаться на разные источники видео и звука, то обязательно хлопайте в ладоши перед стартом речи. На гистограмме звуковой дорожки это будет видно, и свести два разных источника будет относительно просто. А вообще, хлопайте всегда, когда делаете большие паузы или решили уже, что предыдущие минуты идут под нож. Причина все та же - раскадровка видео, скорее всего, не будет наглядна, а вот гистограмма аудио - очень даже.

  3. Всегда. Смотрите. В. Камеру. Когда она одна, и вы один, других вариантов быть не может. Иначе - заново!

  4. Старайтесь не издавать посторонние звуки. Цокать, чмокать, фыркать, это все лишнее. Да, это довольно просто убрать в редакторе, но полсекунды фырканья добавит вам минимум пару десятков секунд работы в редакторе.

  5. Двигать руками - можно. Чесать нос - не стоит. Морщиться тоже. Так что следите за мимикой и жестами.

Фото постановочное, но смысл в целом передан. Коробка для того, чтобы камера была на уровне глаз
Фото постановочное, но смысл в целом передан. Коробка для того, чтобы камера была на уровне глаз

Используемые инструменты: 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. Это такой бесплатный (с ограниченным набором функций) редактор для создания фэнтезийных карт.

Сделано в Aseprite, канвас 64 x 64 пикселя
Сделано в Aseprite, канвас 64 x 64 пикселя

Этап 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 лет. Поэтому сейчас уже пора готовить почву, чтобы быстро и доступно объяснять вещи ребенку, когда у него возникнут вопросы. А если в процессе обкатки этого всего я вдруг смогу помочь другим детям - это же просто великолепно. Делиться знаниями и передавать их тем, кто младше нас, наверное, одна из главных функций смены поколений. Мы же не хотим оказаться на планете, которая была нарисована в фильме “Поле битвы: Земля”?

А вот сам и сам курс.

Картинка с используемыми инструментами
То, чем пользовался я
То, чем пользовался я