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
I interviewed 20 people, 14 streamers and 6 viewers, who regularly participated in programming live streams on YouTube or Twitch. The streamers we interviewed all reported that sharing programming knowledge and practical skills was the primary purpose of hosting live streams. In addition, we selected viewers who typically watch livestream for at least 30 minutes at a time to make sure they have an informed opinion about the topic.
9 tips for live streaming session a coding session
I learned many best practices to follow, and pitfalls to avoid from speaking with experienced streamers and viewers in the developer community. I’d like to share 9 tips with you, broken up into three sections: before the livestream, during the livestream, and after the livestream.
1. Find a topic of interest to your community
Some streamers chose stream topics based on the interests of their communities. This includes discussion in Discord or Slack channels, comments from their previous videos, or poll results from prior streams. Depending on your comfort level, you can proactively ask people for their topics of interest and invite them to watch your stream.
2. Make multiple announcements the week before
Most streamers keep a regular streaming time (for example, Sunday 10 a.m. — 12 p.m. EST), which is recommended if you want your viewers to make your session every week. However, if you don’t have a regular streaming time, or you want to change the time you stream this week, make sure you remind your viewers multiple times (for example, at 5 days, 2 days, and the day before you go live) when your streaming session is happening.
3. Protect your privacy
All streamers have concerns regarding their privacy. This could include mistakenly sharing your personal information, or your organization’s business information. Here is a list of practices that experienced streamers follow to protect their 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
Some viewers will join in the middle of your stream, and they might be confused about what you’re working on. Instead of getting distracted answering questions, prepare a list of questions you anticipate the audience might ask. For example:
Q: What is this stream about?
A: We’re building a Hacker News Reader app in Flutter!
Q: Where is the GitHub repo?
Q: Which IDE are you using in the stream?
5. Have a high level plan
Although the prep work for live streaming is much less than for recording a video, you may still want to have a high level plan. This could include writing down the steps of what you want to accomplish, which can help you stay focused.
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
Great! You’ve done all your preparation, and now you’re on-air! Viewers watch live streams because they want to understand the streamer’s thinking process, debugging approach, and why they choose one strategy versus another. That brings us to the next tip:
7. Keep your viewers engaged
There are two techniques to get your viewers engaged.
The first one is narrating your thoughts — you can ask your viewers to remind you to do this if you find it difficult.
“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!
8. Chat moderation
Once your audience grows large, ask some trustworthy viewers to help you moderate the chat so that you can focus on coding. To grow a healthy community, make sure you address issues such as harassment, spam, and trolling as soon as you see them.
Congratulations! You’ve had a successful live streaming session. Now you can upload your video to YouTube to share it with a broader audience. That brings us to the last tip:
9. Create a timetable if you have time
Because a live stream recording is often long, viewers appreciate a Timestamp table to jump from topic to topic. The Flutter Boring Show provides a good example of such a table.
Ready to stream?
Are you ready to go out and host a fantastic live stream about Flutter or any other programming tools you want to share? I hope the tips I introduced above will come in handy!