Roku IDK

Roku has released a development kit allowing hobbyists to build their own applications to side-load on a production Roku box.

Roku IDK

Update: alas, IDK is no more. Now if you want to publish channels you have to get NDK from Roku, but only a few publishers like Netflix and Google gets NDK access.

I am not a fan of its name, nevertheless, Roku IDK is very cool news for hobbyists that want to tinker with a Roku box they own. Check it out:

https://developer.roku.com/docs/developer-program/idk/idk-getting-started.md

Note that, only recently released devices running RokuOS 10.5 will support IDK; see this table and look for "Yes" in row "IDK Support" to find compatible devices.

IDK shares many capabilities with Roku's NDK, which is actively used in development by partners like Netflix and YouTube. You get access to the same remote, GLES2 and video decoding APIs, and you don't need a special channel token to run your application. However, Roku will not certify and distribute your IDK channel for you, and it will only run on supported players instead of all devices that run RokuOS.

I understand, you may be able to do more on another embedded device like Raspberry Pi. But what you get here is a neat little device that you can easily buy from online and retail stores for less than $30, capable of hardware-accelerated video decoding (H.264, H.265, VP9, Widevine DRM, etc.) and includes one of the most comfortable and intuitive input remotes available today. Your Roku box is designed to stream content, and it does its job very well without promoting one service over another (look up a movie title, and it'll sort results based on cost and subscription). With the IDK, you get to do more with it.

If you already have a supported Roku box, you should try it out! IDK comes with samples showing you how to work with GLES2, the remote, audio and video (with or without DRM). Just type make under the sample directory you are interested in, side-load the generated channel to your Roku player, and see it all work in minutes. Then, change the sample code and experiment. I can't wait to see what creative people will build with IDK...