La science d'une réussite de live
Hier, à la fin du live sur le Puissance 4, je sentais que j'aurais pu mieux faire. Beaucoup mieux faire.
A la fin de chaque live, pendant que je prépare le replay, je réfléchis aux choses que je pourrais améliorer la prochaine fois. Sauf qu'hier soir le nombre d'améliorations à apporter étaient tellement importantes que j'ai dû déterminé un cadre pour éviter de refaire les mêmes erreurs. J'ai pu déterminer 3 éléments nécessaires pour un bon live.
Disclaimer : je vais affirmer un tas de choses qui sont tirés de mon expérience et de mon intuition depuis 1 an. Mais dans les 12 prochains mois, rien n'empêche que je change totalement d'avis.
Les 3 éléments pour un bon live de programmation
Les 3 éléments à exclure de l'analyse
Ce qui peut être amélioré
Préparation
En général, je prépare pas ou peu un live. Et ce pour 2 raisons :
- Montrer ce qu'est la programmation
- Beaucoup de temps passé sans valeur ajoutée
Montrer ce qu'est la programmation
J'ai démarré les lives pour montrer que programmer n'est pas inné. J'entends beaucoup d'apprenants penser que c'est de la magie parce que je fais code rapidement un exemple que j'avais préparé la veille.
Faire un live qui est pour la majeure partie improvisée, permet d'avoir une vision un peu plus juste du processus de réflexion.
Beaucoup de temps passé sans valeur ajoutée
J'ai pu passer 8 heures à préparer un live de 2h. Avec le temps je me suis rendu compte que ça n'aidait pas et que surtout en 2 heures, je ne pourrais jamais montrer ce que j'ai fait en 8.
Avec le temps, je me suis rendu compte que ça m'a permis de me rassurer en amont, mais le nombre de problèmes/blocages pendant le live restaient le même avec ou sans préparation. Et parce que c'est un live, je me suis appuyé sur la force du format en demandant de l'aide aux viewers.
Au final, ce temps de préparation, je le passe après le live pour publier le replay pour le lendemain matin et je trouve que c'est une meilleure utilisation de mon temps.
Gestion du stress
Quand j'ai commencé l'année dernière, à la fin des 2 heures j'étais en nage. Heureusement ce n'est plus le cas, mais aujourd'hui, lorsque je fais une erreur, je perds tous mes moyens. Et plus l'erreur est simple, plus je perds mes moyens. Le fait de rater quelque chose aussi simple devant du monde est sûrement synonyme de honte. Alors au lieu de dire que j'ai fait une erreur, j'essaye de passer rapidement à autre chose. Je pense que ça passera avec le temps.
Le programme
La manière dont j'attaque le code fait toute la différence et le live d'hier soir sur le puissance 4 en est la parfaite illustration.
J'ai décidé de suivre le plan suivant :
- Afficher la grille de jeu dans la console (un visuel sans aucun charme) (20min)
- Créer l'algorithme qui vérifiera s'il y a un gagnant (1h)
- Afficher la grille de jeu avec des couleurs (1h)
Mais en faisant une partie avec un viewer juste après le live, je me suis rendu compte que l'algorithme de vérification, que j'avais fait qu'à moitié par manque de temps, était optionnel. Puisque comme dans le vrai jeu, il n'y a pas d'algorithme de vérification du gagnant.
Mon plan aurait dû être le suivant :
- Afficher la grille de jeu avec des couleurs
- Proposer par vote la prochaine feature (fonctionnalité) :
- algorithme de vérification,
- jouer en ligne entre viewers,
- animer les jetons et les voir rebondir comme si on y jouait en vrai
Ces features je les avais en tête mais je voulais montrer un code compliqué. Et c'est bien ça le problème. Alors que j'aurais du me concentrer uniquement sur 3 éléments.
Les 3 éléments pour un bon live de programmation (les 3E)
A bas les intuitions ! Un bon live se mesure sur des faits scientifiques !
Une seconde s'il vous plaît : je vais mettre ma blouse de laborantin achetée en seconde qui me sert encore. Oui, j'ai pas grandi depuis, et alors ?
Vous connaissez peut-être ces modèles de représentation d'un bon projet ou d'une photo bien exposé ?
Pour réaliser un projet, vous devez garder en tête ces 3 éléments, car ils influent sur le reste. Plus vous voulez de la qualité, plus le projet coutera cher, et plus vous aurez besoin de temps pour réaliser ce projet. Et vis-versa pour chacun des points.
Pour avoir une bonne exposition de votre photo, si votre vitesse d'obturation est grande, alors vous pouvez jouer sur l'ouverture ou les ISO pour ajouter plus de lumière.
Quand l'équilibre entre les 3 éléments du modèle sont maîtrisés, plus le projet ou la photo sont bien réalisés.
Alors je ne vais pas débattre du bien-fondé des concepts, mais je vais utiliser ce modèle de représentation pour vous expliquer comment je vois un bon live.
Les 3E : Entertaining (divertissant), Educational (instructif) et Elegant (élégant)
Entertaining
L'apprentissage demande de la concentration, c'est pour cela qu'il est nécessaire de rendre les choses divertissantes, voire amusantes lors du live. D'autant plus qu'on est sur Twitch (principalement) et le mercredi soir, si j'ai le choix entre regarder quelqu'un jouer à Mario Kart Switch ou regarder quelqu'un coder sur un écran noir. Mon choix est vite fait : je choisis... Mario Kart 🛺 ! Oups pardon... Le code bien sûr 🤓.
Donc l'animation du live, qui consiste à expliquer ce que l'on fait à haute voix et avoir un certain recul est primordial selon moi.
Educational
J'ai encore beaucoup de choses à apprendre dans la programmation, mais si ce que j'ai déjà appris peut en aider. Alors c'est avec grand plaisir que je le partage.
En codant un programme, jeu, page web ou application web, il est difficile d'expliquer tous les concepts sous-jacents à sa réalisation en 2 heures, mais je prends le temps d'expliquer au moins un concept en détail par live.
Souvent ce sera un concept de base utilisé plusieurs fois dans le code afin d'avoir la théorie et la pratique pendant que l'on réfléchit et code ensemble.
Elegant
Pour ce dernier point, je pensais à mettre le wow factor (effet de surprise). Mais ce n'est pas que ça. Et surtout, l'effet de surprise peut amener vers des chemins qui ne m'intéressent pas trop en tant que streamer.
D'abord, je vais vous donner ma définition d'élégance en programmation :
Rendre simple un concept/code complexe
Si le concept du projet vous paraissait complexe et qu'après le live, cela vous paraît plus simple. Alors le pari est réussi. En plus, il est possible que vous ayez appris (Educational) quelque chose, et que ce soit assez fun (Entertaining) pour que vous ayez envie de l'utiliser plus tard. Et voilà, la boucle (for...of) est bouclée !
Vous remarquerez aussi que j'ai beaucoup utilisé le terme "élément" pour nommer les côté de mon triangle. Car dans le mot "élément" il y a 3E. Et voilà, la boucle dans la boucle est bouclée ! 🤓
Les 3 éléments à exclure de l'analyse
Il pourrait sembler normal d'utiliser :
- Le nombre de viewers
- Le taux de participation dans le t'chat
- Un bon thème
Pour réussir son live. Je suis totalement d'accord avec ça, mais j'exclue ses choses de manière consciente car mon but est avant tout de créer des lives où l'on peut apprendre des choses. Et si mes metrics (unité de mesure du succès) sont le nombre de participants, le taux de participations, alors je n'aurais jamais choisi de faire des lives sur le déploiement d'une application web ou sur les tests automatisés (qui va arriver le mois prochain !).
Par contre l'utilisation des 3E, permet in fine d'avoir plus de viewers et de participation.
En ce qui concerne le "bon thème". Je préfère tester et faire des choses variées plutôt que de supposer ce qui fait un "bon thème" d'un "mauvais thème".
Conclusion
Avec les lives que je fais tous les mercredis soirs, je me rends compte qu'en 2 heures, il y a des concepts qui sont plus difficiles à aborder que d'autres. Il est selon moi, préférable de faire une explication générale avec un exemple concret. Le simple fait de découvrir un concept attise la curiosité, et je n'ai pas forcément besoin d'aller plus loin que ça.
Grâce aux 3E :
- Entertaining (divertissant),
- Educational (instructif) et,
- Elegant (élégant)
il sera plus simple de définir quelles parties on va décortiquer ou survoler pendant le live.
On se voit dans un an pour voir si ce modèle (scientifique!) tient encore la route. En attendant, qu'en pensez-vous ? Y'a-t-il des choses que j'ai oublié qui font un bon live.
Sur ce, bon code et on se voit mercredi prochain à 19h !