6 things I learned about streaming live coding in my first 6 weeks on Twitch
I discovered live coding serendipitously on Twitch for the first time in mid June 2020. I was instantly hooked on the huge sense of community, the opportunities to learn, and the way in which the platform increases access to and engagement in science and technology content across the world.
I hesitantly pressed the go-live button for the very first time around a week and a half later on Thursday 25th June. Within seven days I had reached Affiliate status on Twitch, and had amassed a core group of regular viewers who continued to join me on my streams.
I'm still not entirely sure why people choose to watch my content, but what I am sure of, is that the more we can grow and engage with the science and technology community through streaming a variety of content, the more people we can empower through tech to grow their own futures in this ever-evolving world.
For anyone who's thinking about getting started with streaming live coding, I've put together six valuable lessons I learned in my first six weeks on Twitch to hopefully make you a little bit less hesitant about pressing that go-live button.
There's no need to invest in expensive kit when you're just starting out. In fact, I would highly recommend that you buy absolutely nothing in preparation for your first few streams - because you don't really know what you're going to need until your content starts evolving.
All you really need to get started is a laptop with an in-built microphone and webcam (if you want to show your face), some streaming software such as OBS (available for free), and something to do on your stream.
Anything else is overkill and will certainly give you a lot more to worry about as you go live for the first time.
More kit definitely means more problems, so start slow, and adapt as you go.
Once you've found your rhythm and developed your style, and your community is starting to grow, then is the time to figure out how to increase the production value of your stream - whatever that may mean for you.
I started out with a laptop with an inbuilt webcam and microphone, and truthfully, that was all I needed.
When the time comes for you to work on the production quality of your stream - you will, no doubt, have technical issues. Dropped frames, audio out of sync with the webcam image, 'Minecraft style resolution' (yes, that was an exact quote from a viewer), white balance issues, flickering webcam image and lack of processing power - these are just some of the issues I've faced as I started to evolve my setup.
Viewers will point out your technical issues - and this feedback is a gift.
Viewers will point out your technical issues - and whilst this can seem stressful whilst you're trying to stay on top of your content and engage with the chat - this feedback is a gift - and it shows that your viewers are engaged and want to see you succeed.
If it's not possible to tweak those issues as they happen, experiment with different settings and approaches to solving your problems off-stream, and always crowdsource advice.
Here are some of the key things I've learned about the optimum technical setup:
1. To minimise your chance of dropped frames, do not stream using WiFi
If you can't deal with a 50m long ethernet cable trailing up/down your stairs, try a powerline adaptor.
2. If your programming is CPU-intensive, try a dual machine setup
I know this isn't the most cost-effective solution, but I was lucky to have a PC sitting idly below my desk (thanks, husband for your PC-building hobby!). I now use a PC to run OBS and stream via powerline, whilst I code on my Macbook that is connected to the PC via a capture card.
3. If your shiny new camera flickers randomly, use default Windows drivers and USB 2.0
I recently switched to using a Logitech Streamcam for the 60FPS and 1080p resolution, but I had nightmare after nightmare trying to work out why the camera was flickering every now and then. After focussing on the camera settings, trying everything and almost rage quitting streaming, I found the solution was software-based. I switched to using Windows default drivers rather than the Logitech drivers, and purchased an adaptor to plug the proprietry USB C connector into USB 2.0. And my problem was solved!
(This might have been a unique problem to me due to the first generation USB C hardware on the motherboard in the PC, but if I can help at least one other person with this advice, then it's definitely worth mentioning!)
Stay tuned for a blog post that talks about my streaming setup in detail!
I've dropped in on a few streams where the streamer doesn't engage with the chat so actively. In streams with hundreds and thousands of viewers, this isn't expected to happen, but I think you can definitely comfortably engage with most of what's going on in the chat if you have under 200 viewers. When a streamer doesn't engage with the chat and is able to, I usually tend to bounce right out.
I love hanging out on streams where the streamer is engaged with the chat; it feels really sociable, like you're hanging out with a group of friends, sharing the same interests and experience. I try my best to replicate this in my streams, and ensure that I create an inclusive and welcoming atmosphere.
I get a lot of viewers who ask a lot of similar questions about getting started in web development, and whilst this can throw some people off their stride whilst they're trying to code, I make an effort to engage with every one of these viewers, as this kind of interaction is something I wish I'd had when I was starting out. And it's these inquisitive viewers that I notice coming back again and again to be part of the evolving conversation.
As your community grows, make sure you build up a core team of mods to support your whilst you're streaming - they are invaluable to keeping your stream running smoothly.
Thank you to all my mods, @Steffi128 and @thatn00b__ in particular!
When you're first starting out, you can feel like your stream 'doesn't look good enough' compared to other channels.
The options for the layout of your stream and the types of things you show on screen are pretty endless, and whilst there are a myriad tools out there to help you get set up relatively quickly, stream overlays and artwork can consume your time to the point where you feel like you don't have any time to actually stream!
You don't need to achieve 'the perfect stream' look and feel before you press the go-live button. In fact, developing your stream overlays is perfect stream content - especially where programming is involved.
Let your stream look and feel evolve with your personality and content. Plus, it's exciting for your viewers to return to your stream and find a new interactive feature they can play with rather than having it all laid out upfront!
We all get imposter syndrome, and to this day I still worry whether people will be interested in what I want to stream. But take it from me:
...if you try and stream content that doesn't motivate you, or content that you're not passionate about and invested in, you won't enjoy it half as much.
I usually stream content centred around front end development and the accessibilty and user experience considerations that come with it. When I first started out, I noticed that this kind of content was few and far between in the science and technology community on Twitch. And so it got me questioning.
Did people really want to watch me make pretty, accessible websites? Or were they more interested in deep-diving into C#, Rust and Python?
I experimented with streaming some very different content for a little while - and whilst it certainly brought some different viewers to my channel (and some have certainly stayed) - I didn't feel as comfortable with this content as when I first started out.
What's more, if there's a gap in the market for focussed front end content, then I have found my niche on Twitch!
And this segues nicely to my final point:
The content you are streaming is only part of what you bring to the community. Viewers don't necessarily return to your streams time and time again to learn about what you are coding - they come to hang out with you, chat with others, and to feel connected to a community.
If you haven't pressed the go-live button just yet, if you really want to get started on Twitch - and if you're not feeling confident about your content - remember that the most valuable element to your stream is you - and there will be people out there who will certainly enjoy watching you, regardless of what you decide to do.
The more we can grow and engage with the science and technology community through streaming a variety of content, the more people we can empower through tech to grow their own futures in this ever-evolving world.