Lektioner fra mit første år med live kodning på Twitch

Jeg gav streaming en chance for første gang i juli sidste år. I stedet for at spille, som de fleste streamere på Twitch gør, ville jeg streame det open source-arbejde, jeg udfører i min personlige tid. Jeg arbejder på NodeJS hardwarebiblioteker en hel del (de fleste af dem mine egne). Da jeg allerede var i en niche på Twitch, hvorfor ikke være i en endnu mindre niche, som JavaScript-drevet hardware;) Jeg tilmeldte mig min egen kanal og har streamet regelmæssigt siden.

Selvfølgelig er jeg ikke den første til at gøre dette. Handmade Hero var en af ​​de første programmører, jeg så kode online, hurtigt efterfulgt af udviklerne hos Vlambeer, der udviklede Nuclear Throne live på Twitch. Jeg var især fascineret af Vlambeer.

Hvad der tippede mig over kanten af ​​at ønske, at jeg kunne gøre det for faktisk at gøre det , krediteres Nolan Lawson, en af ​​mine venner. Jeg så ham streame sit open source-arbejde en weekend, og det var fantastisk. Han forklarede alt, hvad han lavede undervejs. Alt. Svar på problemer på GitHub, triaging bugs, fejlretningskode i grene, du hedder det. Jeg fandt det fascinerende, da Nolan opretholder open source-biblioteker, der får meget brug og aktivitet. Hans open source-liv er meget anderledes end mit.

Du kan endda se denne kommentar, jeg efterlod under hans video:

Jeg gik selv en tur en uge eller deromkring senere, efter at jeg havde oprettet min Twitch-kanal og bumpede mig gennem OBS. Jeg tror, ​​jeg arbejdede på Avrgirl-Arduino, som jeg stadig arbejder på under streaming. Det var en grov første strøm. Jeg var meget nervøs, og jeg havde opholdt mig sent på at øve på alt, hvad jeg skulle gøre natten før.

Det lille antal seere, jeg fik den lørdag, var dog virkelig opmuntrende, så jeg fortsatte med det. I disse dage har jeg mere end tusind tilhængere, og en dejlig delmængde af dem er regelmæssige besøgende, som jeg kalder “the noopkat fam”.

Vi har en masse sjov, og jeg kan godt lide at kalde de levende kodende dele "massivt multiplayer online parprogrammering". Jeg er virkelig berørt af venlighed og humor for alle, der slutter sig til mig hver weekend. Et af de sjoveste øjeblikke, jeg har haft, var da en af ​​familierne påpegede, at mit Arduino-kort ikke arbejdede med min software, fordi mikrochippen manglede på tavlen:

Jeg har logget af en stream mange gange, kun for at finde ud af i min indbakke, at nogen har sendt en pull-anmodning om noget arbejde, som jeg havde nævnt, at jeg ikke havde tid til at starte på. Jeg kan ærligt sige, at mit open source-arbejde er blevet ændret til det bedre takket være generøsitet og opmuntring fra mit Twitch-samfund.

Jeg har så meget mere at sige om de fordele, som streaming på Twitch har givet mig, men det er sandsynligvis for et andet blogindlæg. I stedet vil jeg dele de lektioner, jeg har lært for alle andre, der gerne vil prøve live kodning på denne måde for sig selv. For nylig er jeg blevet spurgt af et par udviklere, hvordan de kan komme i gang, så jeg offentliggør de samme råd, som jeg har givet dem!

For det første forbinder jeg dig med en guide kaldet “Streaming and Finding Success on Twitch”, som hjalp mig meget. Det er specifikt fokuseret på Twitch og gaming streams, men der er stadig relevante sektioner og gode råd derinde. Jeg vil anbefale at læse dette først, før du overvejer andre detaljer om start af din kanal (som udstyr eller softwarevalg).

Mit eget råd er nedenfor, som jeg har tilegnet mig fra mine egne fejl og visdommen fra andre streamers (du ved, hvem du er!).

Software

Der er en masse gratis streaming-software derude at streame med. Jeg bruger OBS (Open Broadcaster Software). Den er tilgængelig på de fleste platforme. Jeg fandt det virkelig intuitivt at stå op og gå, men andre tager nogle gange et stykke tid at lære, hvordan det fungerer. Din kilometertal kan variere! Her er et skærmbillede af, hvordan min OBS 'desktop scene' opsætning ser ud i dag (klik for større billede):

Du skifter i det væsentlige mellem 'scener' under streaming. En scene er en samling af 'kilder', lagdelt og sammensat med hinanden. En kilde kan være ting som et kamera, mikrofon, dit skrivebord, en webside, live tekst, billeder, listen fortsætter. OBS er meget stærk.

Denne desktop-scene ovenfor er, hvor jeg laver al min live-kodning, og jeg bor for det meste her i strømmen. Jeg bruger iTerm og vim og har også et browservindue, der er praktisk at skifte til for at finde dokumentation og triage ting på GitHub osv.

Det nederste sorte rektangel er mit webcam, så folk kan se mig arbejde og have en mere personlig forbindelse.

Jeg har en håndfuld 'etiketter' til mine scener, hvoraf mange har at gøre med statistik og info i det øverste banner. Banneret tilføjer bare personlighed og er en dejlig vedvarende kilde til information under streaming. Det er et billede, jeg lavede i GIMP, og du importerer det som en kilde i din scene. Nogle etiketter er live-statistikker, der trækker fra tekstfiler (såsom den seneste tilhænger). En anden etiket er en brugerdefineret, som jeg lavede, der viser den levende temperatur og fugtighed i det rum, jeg streamer fra.

Jeg har også oprettet 'alarmer' i mine scener, der viser søde bannere over toppen af ​​min strøm, når nogen følger eller donerer penge. Jeg bruger webtjenesten Stream Labs til at gøre dette og importerer den som en browsers webside kilde til scenen. Stream Labs opretter også mine seneste følgere live tekstfil til at blive vist i mit banner.

Jeg har også en standby-skærm, som jeg bruger, når jeg er ved at være live:

Jeg har desuden brug for en scene, når jeg indtaster hemmelige tokens eller API-nøgler. Det viser mig på webkameraet, men skjuler mit skrivebord med en underholdende webside, så jeg kan arbejde fortroligt:

Som du kan se, tager jeg ikke ting for alvorligt, når jeg streamer, men jeg kan godt lide at have en god opsætning, så mine seere får mest muligt ud af min stream.

Men nu for en egentlig hemmelighed: Jeg bruger OBS til at beskære bunden og højre kant af min skærm, mens jeg holder det samme videostørrelsesforhold som det, som Twitch forventer. Det giver mig plads til at se mine begivenheder (følger osv.) I bunden og se på og svare på min kanalchatboks til højre. Twitch giver dig mulighed for at 'pope ud' chatboksen i et nyt vindue, hvilket er virkelig nyttigt.

Sådan ser mit fulde skrivebord virkelig ud:

Jeg begyndte at gøre dette for et par måneder siden og har ikke set mig tilbage. Jeg er ikke engang sikker på, at mine seere er klar over, at det er sådan, min opsætning fungerer. Jeg tror, ​​de tager for givet, at jeg kan se alt, selvom jeg ikke kan se, hvad der faktisk streames live, når jeg har travlt med at programmere!

Du undrer dig måske over, hvorfor jeg kun bruger en skærm. Det er fordi to skærme bare var for meget til at administrere oven på alt det andet, jeg lavede under streaming. Jeg fandt ud af dette hurtigt og har sidst fast på en skærm siden.

Hardware

Jeg brugte billigere ting til at starte med og købte langsomt pænere ting, da jeg indså, at streaming ville være noget, jeg stak med. Brug hvad du har, når du kommer i gang, selvom det er din bærbare computers indbyggede mikrofon og kamera.

I dag bruger jeg et Logitech Pro C920 webcam og en Blue Yeti-mikrofon på en mikrofonarm med et mikrofonstød. Helt pengene værd i sidste ende, hvis du har det at bruge. Det gjorde en forskel for kvaliteten af ​​mine streams.

Jeg bruger en stor skærm (27 "), fordi som jeg tidligere nævnte ved hjælp af to skærme, bare ikke fungerede for mig. Jeg manglede ting i chatten, fordi jeg ikke så nok ud til den anden bærbare skærm osv. Osv. Din kilometertal kan variere her, men at have alt på en skærm var nøglen for mig at være opmærksom på alt, hvad der sker.

Det er stort set det på hardwaresiden; Jeg har ikke en meget kompliceret opsætning.

Hvis du var interesseret, ser mit skrivebord ret normalt ud med undtagelse af den ubehagelige truende mikrofon:

Tips

Dette sidste afsnit har nogle generelle tip, jeg har hentet, som har gjort min stream bedre og mere behagelig generelt.

Paneler

Brug lidt tid på at skabe gode paneler. Paneler er de små indholdsfelter nederst på alles kanalside. Jeg ser dem som de nye MySpace-profilbokse (lol men virkelig). Panelideer kan være ting som chatregler, oplysninger om, hvornår du streamer, hvilken computer og hvilket udstyr du bruger, din yndlingskatras; alt, hvad der skaber et personligt præg. Se på andre kanaler (især populære) for ideer!

Et eksempel på et af mine paneler:

Snak

Chat er virkelig vigtigt. Du får de samme spørgsmål igen og igen, når folk slutter sig til din strøm halvvejs igennem, så at have 'makroer' kan virkelig hjælpe. "Hvad arbejder du på?" er det mest almindelige spørgsmål, der stilles, mens jeg koder. Jeg har chatgenvejskommandoer til det, som jeg lavede med Nightbot. Det vil give en forklaring på noget, jeg har indtastet på forhånd ved at skrive en kommando med et lille ord som ! Whatamidoing

Når folk stiller spørgsmål eller efterlader gode kommentarer, så tal tilbage til dem! Sig tak, sig deres Twitch-håndtag, og de vil virkelig sætte pris på opmærksomheden og anerkendelsen. Dette er SUPER svært at holde øje med, når du først begynder at streame, men multitasking kommer lettere, når du gør mere. Prøv at tage et par sekunder hvert par minutter for at se på chatten efter nye beskeder.

Når du programmerer, skal du forklare, hvad du laver . Tal meget. Lave vittigheder. Selv når jeg sidder fast, vil jeg sige, "åh, skidt, jeg glemmer, hvordan man bruger denne metode, lemme Google det hahaha" og folk er altid rart, og nogle gange læser de endda sammen med dig og hjælper dig. Det er sjovt og engagerende og holder folk med at se.

Jeg mister interessen hurtigt, når jeg ser programmeringsstrømme, hvor streameren sidder i stilhed og skriver kode, ignorerer chatten og deres nye følgeralarmer.

Det er meget sandsynligt, at 99% af de mennesker, der finder vej til din kanal, vil være venlige og nysgerrige. Jeg får lejlighedsvis trold, men moderationsværktøjerne, der tilbydes af Twitch og Nightbot, hjælper virkelig med at modvirke dette.

Forberedelsestid

Automatiser din opsætning så meget som muligt. Min terminal er iTerm, og det giver dig mulighed for at gemme vinduesarrangementer og skriftstørrelser, så du kan gendanne tilbage til dem senere. Jeg har et vinduesarrangement til streaming og et til ikke-streaming. Det er en massiv tidsbesparelse. Jeg ramte en kommando, og alt er i den perfekte størrelse og i den rigtige position, klar til at gå.

Der er andre apps derude, der automatiserer alle dine appvinduesplaceringer, se om nogen af ​​dem også vil hjælpe.

Gør din skriftstørrelse virkelig stor i din terminal og kode editor, så alle kan se.

Regelmæssighed

Vær regelmæssig med din tidsplan. Jeg streamer kun en gang om ugen, men altid på samme tid. Lad folk vide, hvis du ikke er i stand til at streame i en forventet tid, du normalt gør. Dette har skabt mig et fast publikum. Nogle mennesker elsker rutine, og det er nøjagtigt som at indhente en ven. Du er i en social kreds med dit samfund, så behandl det på den måde.

Jeg vil streame oftere, men jeg ved, at jeg ikke kan forpligte mig til mere end en gang om ugen på grund af rejser. Jeg forsøger at finde en måde at streame i høj kvalitet, når jeg er på farten, eller måske bare have afslappede chats og gemme programmering til min almindelige søndagsstrøm. Jeg prøver stadig at finde ud af dette!

Ubehagelighed

Det kommer til at føles underligt, når du kommer i gang. Du bliver nervøs for folk, der ser dig kode. Det er normalt! Jeg følte det rigtig stærkt i starten, selvom jeg har talerfaring. Jeg følte, at der ikke var noget sted, jeg kunne skjule, og det skræmte mig. Jeg tænkte, "alle vil tro, at min kode er dårlig, og at jeg er en dårlig udvikler". Dette er et tankemønster, der har plaget mig hele min karriere, men det er ikke noget nyt. Jeg vidste, at med dette kunne jeg ikke stille kode om, før jeg skubbede til GitHub, hvilket generelt er meget sikrere for mit ry som udvikler.

Jeg lærte meget om min programmeringsstil ved live kodning på Twitch. Jeg lærte, at jeg bestemt er "få det til at fungere, så gør det læsbart, så gør det hurtigt". Jeg øver ikke natten før længere (jeg opgav det efter 3 eller 4 streams lige i starten), så jeg skriver temmelig grov kode på Twitch og skal være okay med det. Jeg skriver min bedste kode, når jeg er alene med mine tanker og ikke ser en chatboks + taler højt, og det er okay. Jeg glemmer metodesignaturer, som jeg har brugt tusind gange, og laver 'fjollede' fejl i næsten hver eneste stream. For de fleste er det ikke et produktivt miljø for at være bedst.

Mit Twitch-samfund dømmer mig aldrig for dette, og de hjælper mig meget. De forstår, at jeg er multitasking og er virkelig gode til pragmatiske råd og forslag. Nogle gange redder de mig, og andre gange skal jeg forklare dem, hvorfor deres forslag ikke fungerer. Det er virkelig ligesom almindelig parprogrammering!

Jeg tror, ​​at 'vorter og alt' tilgang til dette medium er en styrke, ikke en svaghed. Det gør dig mere relatabel, og det er vigtigt at vise, at der ikke er noget som den perfekte programmør eller den perfekte kode. Det er sandsynligvis ret forfriskende for nye kodere at se, og ydmyg for mig selv som en mere erfaren koder.

Konklusion

Hvis du har ønsket at komme ind i live kodning på Twitch, opfordrer jeg dig til at prøve det! Jeg håber, dette indlæg hjalp dig, hvis du har spekuleret på, hvor du skal starte.

Hvis du gerne vil være med mig om søndagen, kan du følge min kanal på Twitch :)

På min sidste note vil jeg personligt takke Mattias Johansson for hans visdom og opmuntring tidligt i min streamingrejse. Han var utrolig generøs, og hans FunFunFunction YouTube-kanal er en kontinuerlig inspirationskilde.

Opdatering: en masse folk har spurgt om mit tastatur og andre dele af min arbejdsstation. Her er den komplette liste over, hvad jeg bruger. Tak for interessen!