How to provide scalable video streaming
We’ve learned a thing or two about how to provide scalable video streaming for sports events during our time working on The Open Championship.
The Open is a unique proposition as it sees a huge spike of users during the four days of the Championship. Clearly it is not practical for The R&A to run their infrastructure for those four days a year for the other 361. So, how does that help you?
Frankly we are good at the things that are hard to do. Of course, we’ve made mistakes over the years but to the many millions of users who have consumed live and video highlights on TheOpen.com they wouldn’t know about them. Sometimes, the client doesn’t need to know right then either. The R&A trusts us to deliver one of their content crown jewels because we test. Then we test again and finally we test some more.
Don’t worry, this isn’t a post all about automated testing because even we’re not that geeky. What this is, is a couple of very simple insights into our experience on delivering scalable, working video streaming for golf’s oldest major championship.
Test and Simulate. Test and Simulate. Test and Simulate.
It really cannot be overstated how important this is.
Test and Simulate.
You probably know how to test out a system or piece of technology. That’s important, really important, but it cannot end there. We have had our methodologies queried by partners and sometimes clients. We stand by it, cut corners here and you’re in trouble.
However, it’s more than simply testing the streaming set-up or embedding the player. You need to simulate as live. We ‘like’ to simulate events at the end of the day when people are tired and want to go home. When covering events, people get grumpy, people get tired and people make mistakes. Testing until you are so familiar, even bored, of the scenarios is what you want.
As the great Mr Ben Hogan says of his golf swing in his Five Lessons book “the more pressure you put on it, the better it works”. The same is true of development teams!
Once we have simulated and we are happy with our planning and results then we include the client in our simulations. We run event weeks usually 8-10 weeks ahead of The Open and there we run through a full end to end simulation. The client prepares scenarios that we have no knowledge of. Maybe the streams have been switched and our ‘Featured Player’ channel is showing the full live coverage. What do we do? Do we turn off the feeds first? Or do we inform the client first? Or do we contact our broadcast partner first? Or do we switch the feeds back first?
What would you do?
We don’t have to guess as while we haven’t planned for this scenario, we have planned for major incidents. Our team knows their role, we know the limitations of what decisions we can make against which ones we need the client to decide upon. We put that plan into action and we react.
This maybe isn’t the kind of content you were looking for. We can’t tell you to perform load tests or utilise CMS caching or use a certain platform because each implementation is different. What we can say is, don’t be tempted to shorten your testing windows to add more functionality. Best case, it all works and you look like a genius. Worst case, you have a disaster. Angry fans, angry broadcasters, angry commercial partners.
Be like Mr Hogan.