Craig A Holliday

WebOS and Tizen Example Applications for a Popular Media Player

Only general information is provided for this project because this project is under an NDA

TL:DR

Challenge: The project was commissioned by a prominent media player seeking demo implementations for their player on WebOS and Tizen platforms. The applications were intended to be examples, guiding integrators on how to implement the player on these platforms. The applications were to be straightforward, showcasing multiple media types like Dash, HLS, with DRM. Additionally, there was a need for spatial navigation to ensure smooth navigation using a TV remote.

Solution: As the only developer:

  • I crafted two distinct applications tailored for WebOS and Tizen, embedding the Media Player. Both applications were developed using plain JavaScript, HTML, and CSS to keep it straightforward and clear for future integrators.
  • Leveraged esbuild for bundling the code, ensuring compatibility with both platforms.
  • Incorporated the lrud framework, which facilitated spatial navigation, thus enabling users to navigate the application seamlessly using their TV remotes.

Tech Stack:

  • Vanilla JavaScript, HTML, and CSS for creating the UI.
  • esbuild to bundle the code.
  • lrud for enabling spatial navigation.

Project Goals

This project was a contracted project for a Popular Media Player.

The customer required applications that would show an example implementation of their player for the WebOS and Tizen platforms.

This project required:

  • Two applications, one for each platform, to present a simple implementation of the Media Player.
    • The source code for these applications was delivered at the end of this project.
    • The code needed to be easy to read for an integrator and simple to manage for the customer going forward.
  • These applications displayed different selectable media, Dash, HLS, with DRM, etc.
  • Once the media was selected, a user could utilize all the functionality of the Media Player in the given platform.
  • A requirement for the UI to be usable on TV devices was for the UI to utilize spatial navigation. This way, a user could navigate the application with the remote for their device.

Functions

  • Sole Developer
    • I was the only developer for this project.
    • I worked closely with the customer’s project manager and developers to deliver the final product.

Features

For this project, I used:

  • Vanilla JS, HTML, and CSS for the UI
  • esbuild for bundling the code to be used in the WebOS and Tizen platforms
  • lrud a framework for spatial navigation

All the features from the project goals were implemented.

Project Outcomes

  • The applications were completed and delivered as source code to the customer
  • The customer used these projects as the example projects provided to integrators for their media player.

Personal Takeaways

Working with TVs is an exciting experience I have worked with on a few projects.

There are several gotchas like:

  • Supported JavaScript features
  • Packaging and delivering WebOS and Tizen applications
  • What can be a problematic development environment to work with
  • Using spatial navigation for UI navigation

Even with all these gotchas, developing these types of applications is a welcome challenge. It provides perspective on what is good about developing for other projects and what could be improved.