We’ve spent well over a year delivering video content to an audience distributed across the whole planet. Throughout this time, there have been a lot of interesting insights and lessons learned the hard way, and we’d like to share these here.

We do not claim to be experts in video delivery, but we’ve gained enough experience to know about some of the common pitfalls and “easy wins” that can be had.

Six Big Lessons

  • Latency is inevitable

It doesn’t matter how compressed your videos are, nor how on-the-mark your quality selection algorithm might be. You will have people complaining about latency in some part of the world.

With the plethora of different handsets available around the world in the modern era, you can guarantee that someone, somewhere will be having a negative experience.

What we learned is to look at the overall latency trend instead of brooding about a small minority who were experiencing delays. As frustrating as it is for those users, sometimes the person is in a desert in West Africa with a weak connection, or in a tunnel underground with low battery.

  • CDN is not a silver bullet

Unless you have your video content replicated across multiple physical locations around the world, you are probably going to need a Content Delivery Network (CDN). While it is possible to store multiple copies of each video asset in different locations without one, this is something that is usually only done across two physical locations for security or compliance reasons.

A CDN will let you serve your content from a vanity domain and will ensure your audience is served videos from an edge location closer to where they are in the world. Although this does reduce latency to some degree, it does not completely eradicate latency.

Despite the CDN making a measurable impact, other companies’ experiences prove that there are many, many other things that can be done on top of this, even on the client side.

  • Preloading videos can help

As simple as it sounds, when dealing with short-form videos it can be incredibly beneficial to keep a number of them preloaded - or partly preloaded - at any given time. Indeed, this is something that can be observed on other video-based platforms like TikTok.

The modern day user is highly impatient and will often be quite unforgiving when made to wait, so every millisecond of waiting time is vital to ensuring they don’t lose interest in your service.

  • Multiple resolutions and bitrates are essential

Early on, we spotted a big opportunity to improve our video playback experience by creating a transcoding pipeline that would ensure the creation of multiple video files at different resolutions and bitrates.

The upshot was a huge improvement in the video consumption experience. With different videos to be shown to different screen resolutions and different connection types, video viewing activity skyrocketed.

  • Prioritise streaming (HLS and DASH) over progressive download

Although our medium of short-form videos did not quite justify converting to a streaming model, we did give it serious thought.

Having researched other companies’ video delivery methods extensively through white papers, blogposts and conference talks, we were well aware of the benefits it would bring.

In the end, we decided against it, but if you are serving long-form content then it is unavoidable. Streaming will make it much harder for malicious agents to get hold of a complete shareable video file, which is invaluable for companies offering exclusive content.

  • Prioritise a video quality selection algorithm

Everyone is familiar with the “Auto” option provided by YouTube on their video playback settings menu. This is designed to make sure the video quality you are served is best suited to your device, connection and multiple other factors.

Originally, we had offered our audience the option to select video quality manually, but - unsurprisingly perhaps - we found they had little interest in doing so. We could only surmise that most people are unsure which resolution or bitrate will best suit their device, so it would be far better to implement a quality selection algorithm as a function of screen resolution, bandwidth, and network connection type.

Summary

This was a short discussion of what we learned from delivering video to a worldwide audience. Nothing in this article was intended to be prescriptive, but we would love to hear from other people about what you might have learned if you’ve been through a similar experience.

Thanks for reading!