logo
placeholder

Cross-platform development for Web TVs: WebOS and Tizen

In the dynamic landscape of smart TV platforms, Web TVs — particularly those running WebOS and Tizen — have secured a significant market share.

As a development team specializing in cross-platform solutions, we’ve navigated the complex landscape of adapting web technologies for diverse environments.
Our journey has been marked by innovative problem-solving, particularly in overcoming the constraints of legacy Chromium versions. We’ve developed flexible, robust solutions that bridge technological gaps and push the boundaries of what’s possible in cross-platform development.
This experience has not only sharpened our skills but also provided invaluable insights into creating seamless, high-performance applications across varied platforms.

Leveraging web technologies

Our expertise in web technologies proved invaluable when approaching Web TV platforms. We utilized our proficiency in JavaScript, HTML, and CSS to create a showcase application demonstrating the capabilities of an adapted SDK.
WebOS and Tizen, being web-based platforms at their core, allowed us to leverage our existing web development skills, but with necessary adjustments. We needed to account for the unique constraints and capabilities of TV interfaces, including:
  • Larger screens with lower pixel density
  • Navigation primarily through remote controls
  • Limited processing power compared to modern computers or smartphones
Our approach included:

Adapting existing SDKs

We modified a web-based SDK, identifying core functionalities suitable for TV environments, removing features reliant on touch or mouse interactions, and optimizing performance for TV hardware.

CSS adaptations for TV displays

We focused on larger font sizes and button elements for improved readability at a distance, high-contrast color schemes to account for varied lighting conditions, and simplified layouts to facilitate easy navigation with a remote control.

JavaScript optimizations

To ensure smooth performance on TV hardware, we implemented several optimizations, including minimizing DOM manipulations and utilizing efficient data structures and algorithms.

Initial approach and pivot from Next.js to React.js

Our initial strategy involved using Next.js for both WebOS and Tizen platforms, anticipating benefits from its performance optimizations, server-side rendering capabilities, and routing system. However, we encountered a significant obstacle: both platforms operate on considerably outdated versions of Chromium.
This discovery presented several challenges:
  • Many modern JavaScript features were unsupported
  • Some CSS properties crucial to our design were not recognized
  • Certain Web APIs we planned to use were unavailable
Faced with these constraints, we pivoted our approach, opting for a more straightforward React.js application without additional frameworks. This pivot involved:
  • Removing server-side rendering components
  • Simplifying our routing system
  • Reimplementing certain features using older, more widely supported web technologies

Technical challenges and solutions

Developing for WebOS and Tizen’s outdated Chromium versions presented unique technical obstacles that required innovative solutions:
  1. Limited support for modern JavaScript features:
    • Implemented a comprehensive transpilation process using Babel
    • Carefully selected polyfills to provide missing functionality
  2. CSS compatibility issues:
    • Used autoprefixer to automatically add vendor prefixes to CSS properties
    • Developed fallback styles for unsupported properties
  3. Restricted access to newer Web APIs:
    • Created custom implementations for essential functionalities
    • Built simplified versions of missing APIs
  4. Performance optimization:
    • Implemented code splitting to reduce initial load times
    • Optimized React component rendering using techniques like memoization
  5. Cross-platform testing complexities:
    • Set up a device lab with various TV models running different OS versions
    • Created a suite of automated tests focusing on core functionalities and user interactions
    • Implemented feature detection for graceful degradation on platforms lacking certain capabilities

Outcome and implications

Our efforts resulted in a flexible, cross-platform solution that functions effectively across various Web TV environments. The final product:
  • Runs smoothly on both WebOS and Tizen platforms
  • Maintains functionality across different versions of these operating systems
  • Provides a consistent user experience despite varying hardware capabilities
Our approach to overcoming the limitations of outdated Chromium versions yielded unexpected benefits, including improved performance on older, less powerful TV hardware.

Best practices for WebTV development

Based on our experience, we’ve identified several best practices for Web TV development:
  1. Prioritize compatibility in development decisions: Thoroughly investigate the specific versions of WebOS and Tizen you’re targeting, implement robust feature detection, and start with a basic, widely compatible core functionality.
  2. Balance modern features with broad support: Utilize tools like Babel for transpilation and carefully selected polyfills, implement CSS fallbacks for unsupported properties, and prioritize performance optimization.
  3. Adapt UI/UX for TV environments: Design your user interface with remote control navigation in mind, optimize layouts for viewing at a distance, and provide clear visual feedback for user actions.
  4. Implement robust testing strategies: Test on actual TV devices whenever possible, ensure your testing covers multiple versions of both WebOS and Tizen, and implement automated tests that can run across different devices.
  5. Optimize for TV hardware limitations: Reduce the number of DOM manipulations, implement efficient data structures and algorithms, and optimize images and other assets for TV displays.
  6. Stay informed and adaptable: Engage with the WebOS and Tizen developer communities, stay informed about upcoming platform updates, and cultivate a mindset of continuous learning and adaptation.
While developing for WebOS and Tizen presented significant challenges, overcoming these obstacles resulted in a more robust, efficient, and adaptable solution. Our experience not only addressed immediate development needs but also contributed valuable insights to the broader conversation on smart TV app development.
As the smart TV landscape continues to evolve, the strategies and lessons learned during this project will undoubtedly prove invaluable for future innovations in this space.