Oxagile – Samsung Tizen TV Apps for All: Tips for Low-End TVs
Are low-end devices gaining ground or fading away?
The TV market is facing a challenge as consumers hold onto their devices longer, averaging 6.6 years before upgrading. Many older Smart TVs are no longer supported, leading viewers to rely on set-top boxes for better experiences. This trend is especially strong in North America, where demand for new TVs remains low.
For content distributors, supporting streaming apps on older devices could be a smart move, as a significant portion of viewers still use them. Adapting Smart TV apps for legacy systems can expand reach and improve accessibility for those with outdated tech.
Source: Statista
Samsung’s Tizen OS remains dominant, prompting a growing demand for inclusive streaming solutions across various devices. Meeting this demand not only enhances viewer satisfaction but also positions brands as forward-thinking leaders in media consumption. But what should you consider when developing and maintaining streaming apps for Samsung’s lower-end TVs?
If you’ve identified a significant portion of your audience still using low-end devices, this could present a valuable market opportunity. To capitalize on it, you’ll need to tailor your app’s functionality for these devices.
What challenges may arise? Based on our experience, we can guide you through potential pitfalls and provide effective solutions. Oxagile’s JavaScript Engineer, Alexander Sakov, shares key challenges and best practices to tackle them
#1 Hosted or packaged app, that’s a dilemma
Samsung’s Tizen OS presents a challenge for apps hosted on older versions (2.3 and earlier), as these do not support hosted apps. In such cases, you may need to convert your app to a packaged format.
A key consideration: Hosted apps allow for faster updates since they don’t require approval, but when working with Samsung TV, you’ll need to go through their approval process, which can cause delays.
If you’re targeting Samsung users, you’ll need to decide between hosted or packaged app storage. While hosted apps offer some flexibility, a packaged app is necessary for submission to Samsung’s app store. This involves creating a package that links to your server, following Tizen’s app configuration guidelines.
Once the configurations are complete, you’ll receive the index file for your app, which is the packaged version of your hosted streaming app. This version is then submitted to Samsung’s team for approval and release to the Store.
A quick note: You must also obtain approval from the Samsung team for the conversion of your app from packaged to hosted.
#2 Adapting the UI capabilities to low-end TVs
When developing Smart TV apps for Tizen, it’s important to consider the compatibility of older TV models with streaming technologies. For example, Samsung devices released between 2015 and 2017 do not support the combination of DASH streaming and PlayReady DRM. If you’ve configured this streaming setup, be aware that your app won’t play videos on webOS 3.5, Tizen 3.0, or earlier versions.
No worries, you can address this playback issue; you’ll have to change the configurations of streaming and DRM. For instance, changing PlayReady to Widevine will help.
#3 Aligning with Samsung’s Content Security Policy
Inline scripts are blocked by Samsung’s Content Security Policy due to security risks, as they can be exploited by hackers to redirect users to malicious sites. To comply, you must remove all inline scripts.
A key challenge with existing Tizen apps is identifying and rewriting inline scripts without breaking functionality, especially when core features like scrolling depend on them.
When building a Tizen app from scratch, it’s crucial to avoid inline scripts. Instead, use external .js files, which are more secure and harder to manipulate when minified.
#4 Eliminating performance blockers
While low-end devices may have limited hardware capabilities, it’s essential to prioritize smooth streaming experiences over more advanced UX features. Here are some technical aspects that impact the overall performance and playback on low-end TVs.
CSS animations
Animations in streaming apps, while visually appealing, can significantly decrease performance, particularly on older devices. For instance, CSS animations like loaders can lead to increased load times and sluggishness, making the user experience less enjoyable. To address this, we may need to avoid animations, both CSS and JavaScript, resulting in a more basic interface that may sacrifice smooth transitions. Additionally, to accommodate newer devices while optimizing for older ones, we might have to support “if” code versions, slightly complicating development and maintenance flows.
Re-rendering processes
Re-rendering can hurt performance on older devices with limited memory, like TVs with around 500 MB of RAM. While modern browsers handle updates well, older processors struggle, especially with large caches or complex layouts. For example, Electronic Program Guides (EPG) with many DOM elements can overwhelm these devices.
One solution is using Canvas, which combines graphics into a single DOM element and renders shapes with JavaScript. This reduces memory usage and improves performance by minimizing the number of elements the browser must manage. While it requires more complex coding, this approach can significantly boost responsiveness, ensuring smoother performance across various devices.
Exclusive insight: For LG’s WebOS 3 and older versions on low-end devices, Canvas may not improve performance and could even slow down the app due to its complex processes.
A better approach could be lazy loading, which loads content in segments for improved performance. Another effective method is using a library like React Virtualized, which optimizes performance through virtual rendering. This technique only renders visible rows in a large list, reducing the number of DOM elements and minimizing performance overhead. Essentially, React Virtualized displays only the necessary rows while using CSS to indicate hidden rows, creating a smoother experience.
Final words
While understanding your audience’s content preferences is essential, it’s equally important to consider their TV usage habits. With the trend showing that consumers typically keep their TVs for about six years, you must weigh the benefits of supporting low-end devices against the risk of alienating a significant portion of your audience. This presents a dilemma, but Oxagile’s Smart TV app experts are always here to offer guidance and best practices.
The article was originally published at: https://www.oxagile.com/article/samsung-tizen-tv-apps-for-all-tips-for-low-end-tvs/