As streaming services increasingly become a central part of entertainment consumption worldwide, the ability to efficiently deploy and manage content across various platforms is imperative. Cross-platform development is key to achieving this, as it allows OTT providers to deliver their content seamlessly on multiple devices, from smartphones and tablets to smart TVs and PCs. This approach not only broadens the potential viewer base but also streamlines operational efficiencies, making it an essential strategy for any streaming business aiming to thrive and expand in a diverse technological environment.
To help us navigate the all-encompassing subject of OTT cross-platform development, we've engaged with our Heads of Engineering in Europe - Daniel Eneström, and Engineering Director in North America - Daniel Astudillo in an interview, drawing on their expert knowledge and insights.
The blog post is structured in a Q&A format, addressing key questions about general approaches, UX and performance optimization, and staying ahead of trends. The goal is to help our readers, with or without a background in engineering, gain a clearer understanding of the critical elements that drive successful cross-platform development in OTT streaming services.
Join us as we explore these topics through the eyes of our seasoned experts and learn what makes successful cross-platform development tick.
Daniel Astudillo: The most important consideration is your current and planned device platform coverage. Depending on the similarities and differences between your target platforms and the technical specifications of each one you might want to consider either native or cross-platform.
If you are targeting Roku, for example, it will have its own code since this platform only runs applications built in Brightscript and Scenegraph and no cross-platform technology can be used.
However, cross-platform development is especially relevant for 10ft devices - such as Smart TVs (Samsung, LG, etc), dongles and STBs (Fire TV, Google TV, Android TV, X1, etc - and mobile devices - such as iOS and Android phones and tablets. In these instances, cross-platform development is feasible because they often share similar UX designs. The key factor is the similarity in performance and capabilities among these devices. A single codebase approach is optimal if these platforms have comparable capabilities; however, if there's a significant variation, the effort required to customize the application can outweigh the benefits.
For mobile devices, cross-platform development hinges more on UX and functionality. Mobile users are accustomed to platform-specific interactions, so a single codebase might force users to adapt to unfamiliar interaction methods, which can be suboptimal. In cases where user experience varies significantly between devices due to specific interactions like swipes or notifications, maintaining distinct codebases may be necessary to provide an intuitive user experience.
Daniel Eneström: Using a single cross-platform codebase might reduce initial costs and simplify updates, but it also requires extensive testing across all platforms for each change, increasing maintenance efforts and possibly slowing development. Conversely, native development leverages platform-specific features that enhance user experience, like seamless integration with device-specific controls and functionalities, offering significant user benefits.
For a video streaming service, my recommendation would be a hybrid approach. Utilize web-based, cross-platform development for environments like Samsung Tizen and LG WebOS, where this strategy can offer a unified and cohesive experience across more fragmented platforms. However, for mobile and dedicated TV operating systems like AppleTV and AndroidTV, going native is advisable. This allows the application to fully leverage the unique capabilities and integrations of these platforms, providing a superior viewing experience that users expect.
Daniel Eneström: A robust design strategy is essential, and it should center on implementing a Design System. This system acts as a universal guide, ensuring consistent UX and UI across all devices, while adapting to each platform's unique features to maintain visual consistency and uphold core design principles for a seamless user journey.
For example, while the touch interface of mobile devices and the remote control navigation of smart TVs require different UI components, a Design System ensures that these elements are coherent with the overall brand and functional experience. This approach not only enhances user satisfaction by providing a familiar interface but also streamlines the development process, making it easier to introduce and maintain quality across all platforms.
Daniel Astudillo: To achieve this, we have to balance platform design, interaction language (which dictates how the user interacts with the platform), and functional uniformity across all platforms.
Always abide by the design guidelines of the target platform to make sure the user feels the interactions are natural and intuitive. For instance, the share button usually has a “curved arrow” icon in iOS and a “connected nodes” icon in Android so UX designers should pay attention to these types of differences.
Functionality rules should also be uniform. For instance, if in one platform the “like” button makes the content available in the “my content” playlist, it should do the same on all other platforms.
Daniel Eneström: In markets dominated by web-based smart TVs and set-top boxes, it's practical to focus on web platforms, even for AndroidTV users, especially if their user base is small. Investing in native applications for such platforms may not be cost-effective.
Conversely, in regions where platforms like Roku are predominant, prioritizing native application development makes sense due to the better performance and integration with the device's operating system that native apps provide. This strategy ensures we meet users' expectations efficiently, delivering a superior and responsive experience where it matters most.
Daniel Astudillo: In each region the percentage of the market per platform is different, so this distribution impacts the cross-platform approach especially when defining the number of platforms and the priority in which they will be developed and ported. For instance, talking about 10ft devices, Samsung has the lead, followed by LG, Vizio, and Roku. In other regions, Roku is a lot smaller and Vizio is not even part of the top 10 platforms so the development approach is very different.
Daniel Astudillo: As with the decision of going native or cross-platform, this depends on how wide is the range of devices you will be targeting, but as a rule of thumb, we should always design for the lowest performing device and add improvements for the more performant ones. As an example, we could design an application with very few animations and a limited number of elements per page targeting the low-tier devices and later add animations and more content that only apply to the top-tier devices. This way we ensure all users will have a responsive experience.
Daniel Eneström: A critical consideration is the diversity in hardware specifications, such as memory and CPU performance, which can vary significantly from one device to another. One device might have limited memory but a robust CPU, while another could have ample memory but an underperforming CPU.
It's important not to assume that a shared codebase will automatically function optimally across all devices. Instead, developers should implement mechanisms within the app that adapt to each device's specific performance constraints. This approach ensures that the app delivers a smooth and responsive user experience tailored to the hardware's strengths and weaknesses.
Daniel Eneström: To stay ahead of the curve, we should adopt a modular system for device abstraction. This setup allows for easy integration and testing of new platforms with minimal investment. By separating device-specific elements from core application logic, we can quickly adapt to emerging technologies and assess new opportunities without significant risk or cost, hence staying competitive and responsive to market changes.
Daniel Astudillo: As each platform sets its own guidelines, rules, and certification criteria for applications, we should concentrate on defining the business rules that make our applications unique and appealing to our users across all platforms.
With these well-defined rules in place, implementing cross-platform applications becomes more straightforward. We can then quickly decide whether to use the common set of cross-platform development tools or the native single-platform tools, depending on what best fits the use cases.
Navigating the vast landscape of technology options can be a daunting task for any OTT streaming service aiming to make an impact. We hope this interview with our engineering experts has shed some light on this complex and broad topic, providing clarity and direction for your OTT development strategies.
Let's collaborate to define what is next for your OTT streaming service.
Contact us