Best practices for hosting a live streaming coding session

Yan Chen
Yan Chen
Oct 28, 2019 · 6 min read
(credit: https://www.youtube.com/watch?v=YYP5lqgno4k)

Live streaming has become an emerging practice for knowledge sharing in developer communities, where developers broadcast their work to live audiences on streaming platforms such as YouTube. As a summer intern with Google’s Flutter team, I conducted an interview study to understand why and how developers share programming knowledge via live streaming. In this article, I would like to share some of the best practices I found for hosting a live streamed coding session, so that you can successfully create your own and share programming knowledge with your community. I would encourage anyone to try live streaming because not only can your livestream help others, but you, the streamer, can get real time feedback from your audience as well.

Interviewing streamers and viewers

The people I interviewed used different kinds of programming languages including JavaScript (8), Python (4), C# (3), Dart (2), Rust (2), and C (1). Out of the 20 interviewees, 14 were professional developers who were paid to develop software, 4 were students, and 2 were hobbyist programmers. Out of the 14 streamers, 7 of them primarily streamed about themselves working through programming tasks that are related to open source projects.

9 tips for live streaming session a coding session

Before Stream

1. Find a topic of interest to your community

2. Make multiple announcements the week before

3. Protect your privacy

  • Use incognito mode and hide your bookmarks
  • Share only the relevant part of your screen
  • Before the stream, log into all of the accounts that you will be using in your stream (for example, GitHub, Discord), so you won’t accidentally show your username/password.
  • Turn off your notifications (such as email and messenger)
  • Don’t face your camera to anything that is publicly recognizable (such as buildings with a unique shape)

4. Create a FAQ and resources list

Q: What is this stream about?

A: We’re building a Hacker News Reader app in Flutter!

Q: Where is the GitHub repo?

A: https://goo.gle/2MXeNeR

Q: Which IDE are you using in the stream?

A: IntelliJ.

5. Have a high level plan

(credit: https://unsplash.com/photos/RLw-UC03Gwc)

6. No need to complete the work before hand

“It’s not really about me trying to solve a problem. It’s just me trying to learn more or see someone else coding.” — A viewer

Several viewers reported that when deciding to watch live streams they do not have specific problems to solve or concrete learning objectives. This means that you don’t have to work everything out beforehand. Viewers like to see what kinds of issues you will run into and how you address them. For example, here is what one viewer said in our study:

“I like to see how the person thinks and makes mistakes, and a lot of people edit it too harshly. And then it ends up being this one fluid front-to-back program with no mistakes. They are not researching anything or looking anything up, and that’s not realistic to me. So I think it’s a bit more entertaining, and a bit easier to sit through a lot of the live stream videos or even their arcade videos when they leave in the mistakes.” — A viewer

During Stream

7. Keep your viewers engaged

The first one is narrating your thoughtsyou can ask your viewers to remind you to do this if you find it difficult.

(credit: https://unsplash.com/photos/ASKeuOZqhYU)

“I ask questions either about things I don’t know or things that I have a choice where I can implement either one thing or the other.” — A streamer

The second way is to ask viewers to provide input. For example, having a short Q&A session, or asking them to suggest what to do next using a poll. You can even ask your viewers for help if you get stuck coding. You don’t have to know everything, and they want to see you succeed!

(credit: https://unsplash.com/photos/YLUvemTiRtk)

8. Chat moderation

After stream

9. Create a timetable if you have time

(link: https://youtu.be/SJKrtx759Xk)

Ready to stream?

Flutter

Flutter is Google's mobile UI framework for crafting…

Flutter

Flutter is Google's mobile UI framework for crafting high-quality native interfaces on iOS, Android, web, and desktop. Flutter works with existing code, is used by developers and organizations around the world, and is free and open source. Learn more at https://flutter.dev

Yan Chen

Written by

Yan Chen

A learner

Flutter

Flutter is Google's mobile UI framework for crafting high-quality native interfaces on iOS, Android, web, and desktop. Flutter works with existing code, is used by developers and organizations around the world, and is free and open source. Learn more at https://flutter.dev