Roku SDK Documentation : Designing for Device Capabilities

Every public channel on the Roku platform is certified on all currently-supported Roku models before being published. The list of supported devices includes a wide range of product classes, from our entry-level set-top-boxes to 4K HDR TVs, and everything in between. Of course, this variance means some devices are more powerful than others. The complete list of supported Roku devices and their product specs can be found in our Channel Developer Program overview page.

It's very important that developers remain mindful of these different product capabilities while building their channels. It is best practice to build dynamic channels that are conditional to the product specs of the model being used. Take full advantage of the extra "horsepower" of a Roku Premiere, but be sure to gracefully degrade the lower experience on older Roku devices that have been in the market for a few years.

For example, your image management can be handled server-side and serve down the highest-resolution artwork that the device in use can handle. Be strategic about how much data fetching is required on each screen of your app — if a user is on an older Roku device, consider rendering fewer content items on each browsing panel, but display more content on the same page on a higher-end product.

Other optimization techniques include:

  • Limiting animations
  • Limiting the number of overdraws
  • Lower video resolution or kill video playback altogether when the user enters a browsing page

Device model numbers can be found in our Channel Developer Program overview page.

Our best practices are outlined in further detail in our SceneGraph Performance Guide.

Our "Best Practices for Roku Cross-Platform UX" presentation summarizes this concept of designing for high-end devices and gracefully degrading for lower-end devices. Feel free to download and leverage it for your own use.