Online video has been around since before Justin Bieber, but unlike Bieber it hasn’t really changed much. It has more or less stayed the same since April 2005, when the first YouTube video ever was uploaded.

Video’s impact on society has however changed drastically. It has grown to become important part of communication, business, online marketing, health, education and many other verticals.

Here’s an up and to the right graph to make you believe me.

Image credit: Cisco

For the most this growth is a good thing, as video works well in many areas.

But it has also eaten its way into spaces where it’s not as well suited, like the learn to code space, where it has become the dominant tool for tutorials (all the biggest online learning platforms are based on video).

This is sad, because video is actually a big step backwards if you compare it to an in-person learning experience. There are many reasons for this, and in this article I’ll look at the two of the most important ones.

I’ll also explain how Sindre, Magnus and I are working to solve this problem by creating a new and interactive video format tailored specifically towards communicating code.

Video kills interactivity 😢

The first big problem with video is that it destroys all possibilities for interactivity, as the code is reduced to dead pixels.

This means you can neither copy, edit or run the code. All you can do is watch it.

This is a step backwards from the in-person learning experience of having a teacher explain you something on a computer, where you’d be able to take over at any point, edit the code and see how your changes affects the output.

Especially as this type of interactivity is fully possible in online learning as well, however not as long as we stick to the old fashioned video format.

This problem only affects students, however let’s also look at the video format from the teachers point of view.

Video is a hassle to create 😤

The second problem with video is the frustrating creation process. Explaining code through screencasts is a lot more hassle than doing it in-person, because you have to go through a bunch of steps in order to create the video:

Download a screen recording tool Setup your system (editor/console nicely, font-size, cleanup desktop) Do the teaching/recording Screw up, swear loudly, and redo clip(s) Edit the clips together in e.g. iMovie Export it Upload it Wait for YouTube to re-encode it

As a result, what would have taken you five minutes to explain in-person, can often take an hour to explain online.

I’m 100% sure that this soul crushing process prevents thousands of developers from sharing their knowledge online. It also makes it a hassle to demonstrate your coding skills through video, which could be relevant in e.g. job interviews or assignments at code schools.

Screenshot from when I had to stitch together 13 clips in iMovie in order to create a video tutorial. Ugh!

There are other problems with the video format as well, i.e. its huge file size and the fact that you can’t search in videos. However, let’s stick to the two most pressing ones.

A better solution 😍

As mentioned, I’m writing this article because we’re working to solve these problems at Scrimba. We are reinventing the video format for explaining code. The concept can be a bit tricky to understand at once, so I’d recommend you to watch this one minute screencast to get a grasp of it.

Click the image to get to the demo.

Technically, the biggest difference between Scrimba and normal video is that we record events instead of pixels.

Creating a Scrimba screencast is super easy. There’s no downloading, exporting or uploading involved. You simply open our web based editor, click RECORD and start talking while you code.

When someone watches your screencast, we recreate exactly what you did when you recorded it (in the same environment). This enables the viewer to copy, edit or run the code if she wants.

Why we’re doing it

So why are we doing this? Well, there are many reasons. But at its core, it’s about improving the online knowledge sharing bandwidth. The global scale of the web is a fantastic enabler for teaching and learning, however the in-person learning experience got lost in the transition from classroom to the web.

So our goal is to make online learning better than in-person learning.

This simply won’t be possible if we stick with the traditional video format, due to the problems I described above.

We’re starting off with a niche (client side code) but will expand to other areas as we move forward, both more programming languages and other technical subjects, like maths and physics.

If done right, this can make it easier for millions of people to learn new skills.

Want to chat?

If you have any thoughts or input, please let us know! Especially if you’re a teaching or studying code.

We’d love to get in touch with more schools who might find Scrimba useful. So email me at per@scrimba.com or join our Gitter chat room, and we’ll chat!