5

I'm new to Roku development (in R&D phase actually). I read that we can't test Roku app on simulator and need real device. If we develop an application, how will we test it?

I checked Roku developer site and different links on internet, but could not find anything that answers my questions

As per my info, Roku sells 5 devices so:

  • Can we do one app that supports all 5 devices?
  • Do we need assets in multiple resolutions?
  • Do I need to buy all devices?
desertnaut
  • 57,590
  • 26
  • 140
  • 166
Fayza Nawaz
  • 2,256
  • 3
  • 26
  • 61

2 Answers2

7

Can we do one app that supports all 5 devices?

Yes. Roku is trying hard to keep their platform coherent, though there are performance issues between the OpenGL and non-OpenGL devices. The "legacy" models (<2222) are no more supported, the firmware is kept current for the others.

Do we need assets in multiple resolutions?

Theoretically yes, practically - not really. You can make-do with assets in only one resolution, if you RTFM and pre-plan carefully. You'll need 3 sizes of app icon, no sweat. For the real UI though, you can either do HD (720) or FHD (1080) and leave it scale accordingly - the thing is TV is very forgiving to scaling graphics because of 10ft watching distance (60" 1080p screen is "Retina" beyond 8ft). Can largely snub SD.

Do I need to buy all devices?

No. And there are much more than 5 devices that are in use - see https://forums.roku.com/viewtopic.php?f=34&t=86471&start=15#p536994 for some statistics (RokuCo does not publish statistics, so that's about the best info available). If you buy only 2 devices, i'll say get

  1. a #42xx (Roku 3 or current Roku 2) as reference model with OpenGL
  2. a #27xx (Roku 1 or SE) or #5xxx RokuTV as reference for "slower", non-OGLES

As 3rd model i'll say the "new HDMI stick" #3600. You can get that one as the only device, its performance is somewhere between (1) and (2) above... but i don't think developing with only 1 device is a good idea.

One thing you may not have noticed is that there are also these "Roku TV" things under Hisense/TCL/Sharp/Insignia brands, models #5xxx. These are proper TVs with proper Roku smarts - meaning can run your Roku app. And one can be had for as little as... (skimming BestBuy web) $130-150 for 24-32" screen.

And i haven't even mentioned the 4k/HDR craze here, nor the new 37xx/46xx models that will be out for the holiday season (i only expect minor, evolutionary changes there).

Nas Banov
  • 28,347
  • 6
  • 48
  • 67
6

Disclosure: I am a Roku employee.

That's correct, you'll need an actual Roku device to test your application. You can buy them used on eBay for very cheap ($20-35), or you can buy a brand new unit from our website for $50. The latest Roku Streaming Stick (Model #3600X) is my personal favorite option, and a great value.

You don't need to buy all devices, although we do recommend having many models so that you can QA test across devices. However, one popular development approach is to build your channel on a lower-end model, which theoretically will assure it works on higher-end models as well. This will also mean you have to spend less on your purchase.

Download our Precertification Checklist and open the third sheet, which includes a list of all our model numbers and corresponding code names. I'd recommend building on a "Giga" or a "Paolo."

Think of this cost as an R&D expense. Plus you'll get to enjoy the device on your free time as well!

As for your other questions:

  • Yes, you will only build one app that will work on all different devices. We do recommend taking the time to make sure your app is optimized across all devices, including older devices with less processing power. Our Performance Guide is a great starting point for this.

The other option is to check if the first number of the device model is less than “3” (which indicates it's a lower-end device) and add conditionals off that, such as removing animations.

You can find two examples of this on our RokuDev GitHub page:

  1. Hero-Grid-Channel —> Components —> LoadingIndicator —> LoadingIndicator.brs —> Line 244

  2. Multi-Live-Channel —> Source —> Main.brs —> Line 21

Bhargav Rao
  • 50,140
  • 28
  • 121
  • 140
  • Is there anyway method to test a physical Roku device with a computer for direct development? (Example: I'd like to work on a plane when I travel) – donohoe Jul 30 '18 at 15:10