The project snapshot

The client’s background

A European content aggregator has developed an extensive infrastructure for music streaming, with a focus on TV platforms.

Their objective

The streaming service provider aims to expand its presence in the US market, particularly targeting the popular Roku platform.

Expected outcome

They anticipate scaling their existing features to Roku devices by developing a custom TV application tailored specifically for this platform.

Searching for a kindred spirit to take a step on another continent

“Embarking on our expansion journey into a new region, we seek a partner whose commitment to both product excellence and the potential of audio and video streaming aligns with our own. With a goal to broaden our horizons, especially within the US market, we encounter the challenge posed by Roku's prevalence. While our current shared code methodology proves effective, the distinctive requirements of Roku prompt us to seek expertise beyond our current capabilities. In this pursuit, we aim to collaborate with an experienced partner whose team has a proven history of success in developing Roku TV apps from scratch.”
— The client’s team member

Converting needs and challenges into the perfect solution

Non-typical content format for TV apps

Traditional Roku apps primarily focus on video content. However, in this project, we encountered the challenge of working with music files and karaoke content formats requiring playback animations.

Challenges we faced and tackled:
  • The main challenge revolved around creating a seamless application capable of dynamically scrolling karaoke lines without any buffering issues during music playback.
  • Due to the absence of such functionalities in the Roku app framework, we had to develop custom components from scratch, adhering to Roku’s guidelines.

Dynamic and easily scalable application

Our approach involved dynamic menu screens devoid of pre-populated options within the app. Instead, we dynamically pull menu content, options, and data from the backend. This led us to develop a highly configurable application.

What’s the benefit?
  • Notably, this flexibility holds promise for future projects, as more than half of the groundwork laid in this application can be repurposed.
  • The architecture of the app is designed with dynamism in mind, featuring universal components capable of handling diverse content types.
  • This scalability and configurability on Roku’s platform ensure smooth integration of additional content or features in the future, minimizing the need for extensive reworking.
Custom development for a well-structured look and feel

To maintain a consistent look and feel across platforms, we strived to minimize the utilization of Roku’s native components whenever possible. This decision stemmed from the specific requirements, such as implementing animations tailored to the client’s preferences.

What’s the result?
  • We developed an application that heavily relies on templates, with nearly all components being custom-made.
  • This custom development approach ensures that the app’s aesthetic and interactive elements align seamlessly with the client’s expectations across various platforms.

Are you ready to expand your viewer base with Roku?

Let’s talk about your Roku app needs.

Integrating existing app features with Roku

Due to the constraints imposed by BrightScript and SceneGraph UI, our team faced the challenge of essentially rebuilding the existing set of capabilities available on other platforms from the ground up. However, by leveraging Oxagile’s expertise in Roku development, we’ve amassed a wealth of knowledge, empowering us to craft advanced, customized Roku interfaces. Below is a comprehensive list of the capabilities we successfully scaled to Roku.

Karaoke in a few clicks

Intuitive frontend features make the karaoke experience easy to access.

Two-level library access for users

Featuring dual streaming access levels, non-premium users encounter blurred premium content, accompanied by prompts to upgrade subscriptions via dedicated pop-ups.

Intuitive onboarding process

Streamlined sign-in and sign-out processes feature intuitive password input fields, designed with a user-friendly interface for seamless navigation.

Multiple playback capabilities

Playback options encompass features such as adding content to favorites, dynamic playback with slideshows and videos, and karaoke functionality.

Advanced search

Comprehensive advanced search options include recent searches, suggested queries, and a versatile general search feature for efficient and tailored exploration.

Web payment flows and options

Users can easily navigate through web payment flows, authorization processes, on-device authentication, and password management options seamlessly, getting a frictionless and secure experience.

Complex quality assurance for error-free app releases

To ensure a smooth delivery to end users, Oxagile’s QA team joined the project with a tailored approach to the app's requirements.

What we reviewed

  • Functional tests ensure the effective functioning of app capabilities.
  • Integration tests uncover defects in interface interactions.
  • Regression tests confirm the resolution of bugs.
  • Field validation tests verify appropriate responses to end-user actions.
  • GUI tests review design layouts.
  • Validation and verification tests ensure clarity of requirements.
  • Performance tests assess app response and load times.
  • Manual load tests verify the app’s effectiveness over extended periods.

What approach was considered

  • Charles proxy testing allowed a thorough examination of app requests and responses, uncovering potential future flaws.
  • Intercepting and modifying responses expanded testing beyond typical scenarios.
  • Testing aligned with Roku Certification criteria enhances the app’s chance of first-time store release.

Project story: Solving memory challenges for a Roku app

Solving memory challenges for a Roku app
Discover more

What was the issue?

The client’s standout feature, high-resolution photos, clashed with the app’s strict texture memory limitations.

What was the solution?

We deployed a tailored AWS Lambda function for instant image resolution conversion and introduced thumbnail image creation to alleviate potential memory congestion.