Monday, March 16, 2015

Live Streaming at Work to Augment Training Videos

So over the years my team has done a lot of training videos. We generally do them between major releases. Mostly one hour presentations on a major architectural area and as such are complicated to put together and not in-depth enough to be considered for training a new team member in that area. To be more precise, they are videos about the previous versions architecture and are always done after the fact. This is a good way to archive knowledge, but it also has a lot of downsides. The biggest downside in my opinion is their scheduling as most videos are made later than when I need them and they are generally out of date as soon as they are published and even more so 6 months later once we've changed huge pieces of architecture again.

So how can we reduce the cost and make them more timely? Or rather, could they be more timely IF we reduced their cost and where do the costs come from anyway?

The Traditional Talk

Recently, since we just had the GDC, I've been following a lot of people talking about how long they spent on their slides and the processes they went through. Those were also one hour talks for the most part and they constituted a bunch of information that you have to get out in a set cadence. You also have to demonstrate some showmanship and thus take time to slip in jokes and other form of entertainment to keep people from snoring. Once of my development managers once told me, that for every hour of talk, he generally set aside 10 hours of preparation. That is for an ad-hoc internal talk. The amount of time you spend increases dramatically the larger the audience and the more formal or upscale the setting is.

Your talk will often go through many stages. Outlining to start, to get a rough feel. Then creation of slides. Then creation of resources for the slides like source code, graphs, graphics, etc.... Finally timing of the slides to make sure everything fits. You'll probably go through the same process a couple of times to come in on time and to make room for your wow factor moments. 10 hours, at least, to prepare a 1 hour presentation seems like a bit much. This doesn't even count the actual hour, the AV setup before hand, practicing the talk, and other preparations which are nice to do. When you are done, if you are lucky, someone will have taken solid audio and video of the presentation and you'll be able to grow your impact from the 100 or so people in the audience to a few thousand.

Live Streaming

This is the opposite of the traditional talk. Here you stream everything you are doing live. You stream your voice live. You might even stream a webcam of yourself live as well. Whatever you do, people get to see that happening. This is popular among eSports players who spent copious amounts of hours demonstrating their game playing abilities online and having hundreds or even thousands of people watching them, supporting them and most importantly learning from them!

Oddly the showmanship and presentation of these talks is quite high. The chat comes across as quite natural since the casters as they are called get used to having a live audience and become comfortable and focused at presenting themselves.

Some hacker spaces are now live streaming their hack-a-thons. This is less eSports and more code related. During Ludum Dare hundreds of developers live stream their entire creative process, recording it while they go, and later providing amazing time lapse creations of the 48 or 72 hour process. While there is a Ludum Dare coming up, if you would like to see a game made in real-time you might want to check out a very popular stream called Handmade Hero.

With proper recording of these sessions, all of my complaints about long presentations are resolved. Recordings are about the now and are focused on the latest state of your project. No preparation is required other than a microphone and some screen recording software. You can generally go from recording to publishing in just a few minutes after your talk is done. The recordings can be done in smaller increments. A collection of 5-15 minute videos may be far more valuable to your team than a 1 hour architectural video.

Preparing for Live Streaming

To prepare for live streaming I pretty much suggest following the way of the eSports casters before you. They already know how to do it consistently day to day, hours at a time, and make a small living off of it. So if you can do half as well as them then you are probably in good shape.

Start yourself off by figuring out your software. There are two great pieces of software for this that I've found. The first is OBS or Open Broadcaster Software. This can be optimized to stream up to a service like Twitch/YouTube or you can have it record to disk for later upload or editing. The setups on this software are super simple. You basically set up a scene or scenes, then you set up some sources which can be as simple as a static image, a browser, a web page or just a normal window. I tend to stream a Remote Desktop instance running at the resolution of the video that I'm taking. The microphone setup is pretty much automatic. If your mic is plugged in, it will just work.

The second piece of software is Camtasia. Its expensive, at around 300 bucks for a license, but I think the cost is worth it if you want to do a lot of post production on your video. I tend to use it to show fixed slides that I then "extend" to the length of my talk time. That way I don't have to match slides and audio in real-time. But hey, that isn't live streaming and we want to reduce the cost right? Right! So grab something like Camtasia later once you've had some fun with OBS.

The last step is that you'll want a really good microphone. The last thing you want is your voice to echo a bunch, not get picked up, or be terribly out of level. You'll also want to make sure that it comes in loud and clear over the ambient noise in your room. I'm using the CAD U37 USB Studio Condenser Recording Microphone and so far I'm super happy with it. Most likely the best 40 bucks I've ever spent. There were a lot of recommendations for a headphone/mic combo set and I don't recommend those at all. You tend to fiddle with them a lot and get caught up in the wires. You want to be comfortable. With the CAD mic you can walk around and talk from anywhere in the room if you feel like doing that.

Upload Your Videos

The software is literally that easy to use, so once you have your videos you can start uploading them to your team. I just make mine available on a share and send some links. If people have questions they can ask and maybe I'll post another short video. I can create training for new problems, problems that happen that day if I want, and then make that available to the team immediately. This sure beats the 1 year turnaround from before.

I was thinking of creating a short live stream of configuring OBS and some of the other steps in the process, but honestly the Internet beat me to it. Every question I could ask on OBS has a video tutorial already online that you can view that will step you through it. Setting up OBS, hooking it up to Twitch or YouTube, and even a short video on how to switch from FLV to MP4 output (you literally just change the file extension) was available and done by an 11 year old kid.

No comments:

Post a Comment