Geek Culture
Published in

Geek Culture

Behind the scenes of VTM GO & Streamz: iOS development for video

Our video teams are always working on new features and optimizations — classified information, sorry! But we thought it would be nice to take you behind the scenes for a little bit with our Popcorn squad — the team responsible for the video players of brands like VTM GO and Streamz. What have they been working on lately? Get your popcorn out and enjoy the read!

Photo by GR Stocks on Unsplash

Video squads in motion

Within DPG Media, we have two established video brands in Belgium. VTM GO and Streamz (a joint venture between DPG Media and Telenet), both available on Android, iOS, and many other platforms. VTM GO first ‘aired’ in April 2019, and Streamz — the Belgian Netflix challenger — was released in September 2020.

We have several squads working on Streamz and VTM GO. They all have different specializations. The DeVideotheek squad, for example, is responsible for serving video files, ensuring they are properly transcoded and encoded into different formats so that the video player — powered by the Popcorn squad — is able to show the videos.

Swift iOS development

The Popcorn squad is responsible for many platforms, one of them is the Apple ecosystem. At this point, they support iOS, tvOS, and Airplay. The programming language is Swift, and the team uses HTTP Live Streaming (HLS) to send live and on-demand audio and video to user devices.

As you may know, video holds a lot of development complexities. Just think of widely-accepted and used features as downloading videos for offline use, video encryption, and subtitles. And, of course, there’s a multitude of devices to support: iPad, iPhone, Apple TV, and AirPlay, but also Chromecast and even televisions might influence the behavior of the code.

Streamz — build from scratch

The biggest release of 2020 was the brand new Streamz. It is actually the first video player we built from scratch — no third-party libraries. As Streamz is ad-free, it was the perfect opportunity to take on the challenge of building our very own player. It’s not only very educational and exciting for the tech team, but it also enables us to respond to customer requests to optimize the platform rapidly.

Faking VOD for news — no #fakenews

Another challenge the Popcorn squad faced was how to serve the VTM news broadcast through VTM GO quickly. The news is first broadcasted on television, and viewers can watch the live stream in the VTM GO app too. But due to technical reasons, the on-demand version of the news only appeared online several hours later. We were serving VTM GO users old news, basically.

Enter ‘restart-tv’ — the internal name for our solution using the minimum viable product (MVP) mentality. iOS Developer and Scrum Master Joris Dubois explains: “Restart is a new feature with a high business value. We can’t let viewers wait for hours before they can watch the news, but the underlying complexity just takes this much time to render a VOD from a live stream. We could maybe tweak it to be faster, but nowhere near as fast as our restart-tv feature. Now, with the MVP, we serve the audience a time-shifted live stream which they experience as Video on Demand (VOD).”

The complexity is that the video player recognizes the live stream as live, logically. But that means, among other things, there’s no going backward or forward in the video. It doesn’t have the features you’d expect from VOD. So the video teams had to make the video player believe the live stream was actually VOD so that the user interface (UI) acts accordingly. Basically, VTM GO serves a fake VOD — a live stream with a timeshift. As we can’t livestream up until eternity, as soon as the real VOD is available, the live stream is replaced by the real VOD.

Complex to the max

You’ve read it: iOS development for video is a whole different ball game than ‘regular’ iOS app development. It requires inventiveness, perseverance, and damn’ good brainpower.

Joris: “Our video players are getting more complex by the day. Not only do we add more features, but Apple also releases updates. When there’s a new beta version, we need to make sure our functionalities still work as expected. People need to be able to play their videos because, without video, our apps are worthless.”

If you’re eager to work on our video initiatives, keep an eye on our vacancies. We just may have your next job on offer!

Originally published at https://www.dpgmedia.nl.

--

--

--

A new tech publication by Start it up (https://medium.com/swlh).

Recommended from Medium

9 Popular Programming Languages in 2019: To reach greater heights

When to use MongoDB aggregations instead of queries

Needle in a haystack !!

Should You Become Your Own Technical Co-founder?

Fetch all keys from Redis Cache

Three flavours of iteration

Day 27 Training at Ryaz : Designing Radio and checkboxes.

Matrix: 1 walkthrough

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
DPG Media

DPG Media

We are the tech team behind the digital products of all DPG Media’s brands and internal apps!

More from Medium

iOS hardware accelerated 2D terrain visualisation in OzRunways

Adding Statsig to iOS

Introducing the Agoda Widget: What is it, and why did we develop it?

How it works Combine pipeline?