What does cross platform development mean in the over-the-top (OTT) app space?
Unlike in the traditional app world where Apple iOS and Android dominate over 99% of mobile OS market share, the OTT arena is much more fractured.
Audiences don’t just favor one or two platforms or devices for everything; they use multiple platforms at any given time, sometimes simultaneously. They may start one video at home from a Samsung connected TV (CTV), and pick up at the park on their iPad.
To take advantage of this “be everywhere all the time” experience, content distributors must build OTT apps that work well everywhere their audiences live, or in whatever way they choose to enjoy their content. Cross platform development is the process of creating apps that work seamlessly on their different devices and platforms.
But it can be easier said than done.
While cross platform app design focuses on giving users a fantastic experience on each device, OTT cross platform app development revolves around building the structure behind how those experiences work. So it’s less about making the apps look good and more about making sure your viewers don’t encounter the spinning wheel of death.
And that’s where the experts come in.
what does cross platform development for ott apps require?
Developing cross platform apps requires exhaustive knowledge of:
coding for various operating systems
Publishers need to consider building out apps for the best streaming devices, including:
roku
Stats reveal that almost 40% of all OTT app users worldwide stream on a Roku device. And more than 31 million devices have been sold. So developing a custom Roku app should be every content distributor’s first priority.
product range: Roku Players, Roku Streaming Sticks, and Roku TVs coding language: Roku requires apps built with BrightScript, their proprietary coding language, and the SceneGraph framework.
amazon fire tv
Amazon has sold almost 30 million streaming devices in the US, and Fire TV garners 40 million active monthly users. With their devices and smart TVs, developing on Amazon Fire TV is the next logical step after your Roku build.
product range: Fire TV, Fire TV Stick, Fire TV Cube, Fire TV Edition Smart TVs coding language: Fire OS software is a fork of the Android operating system. This means apps that are compatible with Android are most likely compatible with Amazon Fire TV (with a few minor adjustments for compatibility).
apple tv
Apple TV first debuted in 2007, and now estimates show there are 53 million active Apple TVs worldwide. Over 26 million Apple TVs live in US homes (roughly 21% of US households). With the release of Apple TV+, Apple’s foray into the streaming video world, these devices may see a huge uptick in sales.
product range: Apple TV coding language: Apple TV uses tvOS, a distinct yet close version of their iOS. Creating tvOS apps is similar to creating iOS apps using Xcode and Objective-C, Swift, and JavaScript languages.
android tv
Google first developed and introduced Android TV in 2014. Now this operating system comes built into several smart TVs and streaming devices catering to high-resolution TV audiences, game streamers, and TV in developing countries.
product range: Over 140 companies integrate Android TV into their smart TVs (such as Sony, Hisense, Sharp, Soniq, TCL, Toshiba, and LeEco) and streaming devices (Nvidia Shield, Nexus Player, and Xiaomi MI Box). coding language: Like Android apps, Android TV apps can be written using Kotlin, Java, and C++ languages.
Google cast
Google has sold over 55 million Chromecasts since launching in 2013. Users can stream video from their Cast-enabled apps on their phones, laptops, or tablets. And now you can stream in up to 4K Ultra HD and HDR with the Chromecast Ultra.
Developing an app for Google Cast means you’ll extend your Android, iOS, or Chrome app to direct its streaming video and audio to a Cast-able TV or sound system. Your app becomes the remote control to play, pause, seek, rewind, stop, and otherwise control the media.
product range: Chromecast, Chromecast Ultra 4K coding language: To build a Cast app, you need a sender application written for each Android, iOS, and Chrome platform. You also need a receiver application that will handle communication between the sender app and the receiver device.
xbox one
Microsoft’s Xbox One is an excellent option for app developers looking to capitalize on the growing trend towards game streaming. It also presents a profitable opportunity for media and entertainment brands in the family-friendly market.
Xbox Live had 65 million active monthly users in the last quarter of 2019, and sold over 46 million Xbox One devices worldwide as of January 2020.
product range: Xbox One coding language: Xbox One apps run on the Universal Windows Platform (UWP), a common framework for Microsoft devices. It’s programmable in C#, C++, Visual Basic, and Javascript.
smart tvs
Smart TVs combine the big screen of a standard TV with the ability to connect to the internet and download your favorite apps. An estimated 57% of US households own at least one smart tv and 70% of new TVs sold fall in this category.
product range: The largest smart TV manufacturers by market share include Samsung, LG, Sony, Hisense, TCL, Skyworth, Panasonic, and Vizio. coding language: Android is the most widely used operating system among smart TVs, commanding 40% of the market share. But Apple recently licensed its embeddable Apple TV tech to Samsung, Vizio, Sony, and LG. Samsung also uses its proprietary operating system Tizen, which is built on a Linux base framework.
As you can see, developing apps for each of these major operating systems requires the highest level of expertise and understanding because they’re all different.
Further, within those operating systems, you also must consider the sheer number of different devices, versions, and generations running them.
dealing with device fragmentation in ott
Device fragmentation refers to the wide variety of device generations, models, and versions in use at any given time.
There’s a 20% jump each year in new devices to hit the market, resulting in the addition of more than 5,600 device profiles worldwide.
Each of these devices comes with their own history of previous generations, models, and software versions.
Take Amazon Fire TV. These have been around since 2014, running from Fire OS 5 through Fire OS 7. And there are multiple generations of each device:
Because you don’t know which devices your viewer may use, developers can’t just build for one; they must build for as many as they can. This takes mitigating the issue of device fragmentation to aim for a consistent experience across more than 95% of devices.
However, guaranteeing your app works well across the entire gamut of legacy devices and newer models calls for extra effort, time, and resources. And not many people have such a diverse range of high-level programming expertise, knowledge, or experience to get this right.
working with native functionality
Native functionality refers to the features already inherent in a platform or device. These are the features users have come to know and expect to use.
For example, there are two remotes for the Apple TV: one with Siri-enabled voice commands and another with on-screen search capabilities. When HBO Max was released on Apple TV, the app didn’t include Siri control. Apple TV users expected this feature to be present, and when it was not, it needed to be addressed by HBO Max.
If your app doesn’t work with native features users will be disappointed and their overall experience will suffer.
What’s worse is not taking advantage of the native functions that go into an intuitive and money-generating OTT app. Apple created this particular feature to encourage the social experience of several people sitting on the couch and interacting with your app and each other. Not designing for this feature misses the boat entirely.
So OTT cross platform design must start with a clear understanding of how the technology is’s supposed to work. Then developers can apply this knowledge to create a killer user experience that checks all those boxes and then some.
why “code once, deploy everywhere” doesn’t always work
When developing multiple OTT apps, you generally have the choice of native app development or React Native app development.
Native app development means creating an app for a specific platform, device, or operating system. The codebase is built entirely for that one app, and cannot be shared or reused for a different one. So when you want to expand your reach, you’ll need to recreate the process again.
Native app development:
- codes for specifics. Focusing on a single platform, device, or OS means you get a highly-specialized build, customized for the specific user experience, demographics, and platform quirks of each device.
- focuses on quality and performance over development speed. In 2020, when market share is difficult to come by and the end product is the app itself, brands should consider the investment an app built to the highest standard (or lowest standard) can have on their long-term outlook. Native development prioritizes user experience and long-term profitability over the speed of development.
React Native app development means developers only have to create one framework of code that will work across all (or most) devices/platforms. This one-code-fits-all approach means you don’t have to go through the app development process for each specific platform or device.
React Native seems like a solid solution to OTT cross platform development for its speed, reliability, and flexibility. But what you trade off to obtain those perks may not be worth it.
React Native app development:
- doesn’t take advantage of native functionality. The native functionality users expect from each platform (like the Siri remote or Magic Remote from LG Smart TVs that lets users point at the screen like a Wii) may not be considered when designing a one-code-fits-all OTT app. Likewise, you won’t be able to leverage your app to take advantage of each platform’s unique features or work around their flaws.
- may cause poor performance. Without the full range of native features, additional plugins are required to replicate the core functionality of the native OS, which may cause lagging and other issues.
- might not even work. If you planned on releasing your app on Roku (which accounts for one of the two big players that comprise about 70% of the US streaming player base), you don’t have any choice. You’ll have to write it using Roku’s proprietary language, Brightscript, and cannot use React Native to deploy.
Developing one codebase across different platforms may result in less satisfied users.
So, for some brands, it’s better to develop your app multiple times using the respective native technologies for each platform. These take into account the specific quirks and user functionality that make each platform special.
the zemoga approach to platform code reuse
While we agree that investing in native is the best choice for your brand’s overall experience, it’s also going to take longer and require more resources. That’s why our proven hybrid model gives you the best of both worlds.
We’ve built channels and experiences across multiple platforms and endpoints for leading global content publishers using a combination of both common and platform-specific native functionality layers.
This model ensures a speedier build with fewer performance issues. Our deep knowledge of streaming, mobile, and living room experience factors, as well as how to drive discovery, awareness, trial, and retention of audience, will add value to your digital experience delivery.
let’s talk about your ott cross platform development goals
Many considerations go into OTT cross platform app development, and high-level expertise is necessary to help bridge the gap between your goals and the actual design.
If you’re ready to deploy, choose a better way to build, design, and launch with our team of mythical OTT app savants. We’ve got the skills you’re looking for. And we’re not shy about sharing.