Quick Start: How to Create a Roku Channel in 5 Minutes

The following steps will guide you through the process of building a Roku "Custom SDK" channel.
Sample video content and poster image URLs are provided,
but feel free to substitute URLs for your own videos and posters if you wish.

A Roku device connected to a TV set or computer monitor, or a TV set with a built-in Roku device.

Step-by-Step Directions:

Log into your Instant TV Channel account.

From the menu along the left side of the page, select Channels.

If this is a new account,
you will already have a brand new channel waiting to be
filled with content.

If you want to start fresh,
click the New Channel button at the bottom of the channel list.
Select a channel type of SceneGraph then click the Confirm button.
If you are watching the video for this walk-through, it incorrectly shows the Classic channel type.
Use the SceneGraph channel type instead.

Your new Roku channel is at the bottom of your channel list,
and should be highlighted in yellow.

From the menu along the left side of the page, select Theme.

This is the Theme Editor. It allows you to change the look and feel of your Roku channel.
For now, we'll just be changing the title.
In the top parameter box,
change "My Channel" to the name you want your new channel to have,
for example "My Quick Channel".

From the menu along the left side of the page, select Content.

This is the Content Editor.
It allows you to change the details of individual video or audio content items.
It also lets you add new content items, and move, copy, or delete existing content items.

Notice the Content Editor Help shown in the window along the right side of the page.
This window often contains useful information about how to use the current page.

The content "tree" shown in the upper left window is a visual representation of your Roku channel's layout.
Each list and content item is shown here.
Clicking any item causes the details of that item to be shown in the lower detail window,
and any poster artwork associated with the item is shown in the upper right poster window.
Clicking the + symbol next to a
list,
series ,
grid ,
or grid-row
expands it to show the content item(s) it contains.

There is only one content item currently in the channel .
Let's change some of the information for that content item.

In the parameter box labeled HDPosterURL,
replace the default URL with

http://ex.irchan.com/plan9/detail_hd.png

The HDPosterURL points to
the HD image that will be displayed
in the content item's detail screen, after it has been selected on the Roku device.
The detail screen is often referred to as the Springboard
screen in Roku's SDK documentation.

Roku Springboard or Detail Screen

Scroll the parameter list down to the Stream 1 URL parameter box
that contains the default "http://www.archive.org/download/Plan_9_from_Outer_Space_1959/Plan_9_from_Outer_Space_1959.mp4" URL.
This long URL points to the "Plan 9 From Outer Space" MP4
video content stream that will be played
when this item is selected on the Roku device.

Scroll further down to the parameter box labeled ShortDescriptionLine2,
and change "Created with www.InstantTvChannel.com" to "My Favorite Movie".

The ShortDescriptionLine1 and ShortDescriptionLine2 parameters contain the text that is displayed
below the poster for the content item at the top level or parent-list of your channel,
before the content item is selected on the Roku device.

Roku Short Description Lines 1 & 2

Scroll the parameter list down a little bit more to ListPosterURL,
and change the default URL to

http://ex.irchan.com/plan9/list_hd.png

The ListPosterURL points to
the image that will be displayed
for the content item at the top level or parent-list of your Roku channel,
before the content item is selected on the device.

Roku ListPosters (3 shown, 1 highlighted)

We have been using image URLs that point to specifically-sized .png files
for each image that the content item might display.
Using images that are sized to the exact requirements of the Roku device
allows the channel to load faster.
It is possible to use images of other sizes at the cost of slower load times.
The recommended image size is always shown in the description next to the
image URL parameters in the Content Editor.
PNG, JPG and GIF images are supported.

Now we're ready to package your Roku channel.

From the menu along the left side of the page, select Channels.

Click on the row containing the channel to be packaged.

In the same row as the new channel
there is a Package button with a red box around it.

Click the Package button in the channel's row.

Click the Confirm Package button.

After the channel has been packaged, a DOWNLOAD PKG link is displayed.
Click on the DOWNLOAD PKG link and save the file somewhere on your computer.
You will need to upload it to your Roku Developer Account in a later step.

The Pkg file contains the script that will be loaded from Roku's servers
onto any Roku device that installs your channel.

Before uploading the channel Pkg file to your Roku Developer Account, you'll
need to have the Channel Store poster.
This is the artwork that is displayed in the Channel Store to represent your channel.
The size of the Channel Store poster is exactly 540 pixels wide and 405 pixels high.

Use the following link to download a sample Channel Store poster from Instant TV Channel and save it to your computer:

Click the large purple Welcome (Your Name) box and then select Developer site.

Select the "Developer site" option.

Under "My Channels", click the Manage My Channels link to advance to the "Manage Channels" page.

Select "Manage My Channels".

Click the Add Channel button.

Click the "Add Channels" button.

Select the Developer SDK option. This will create a Custom SDK channel.

(The Direct Publisher option can also be used with Instant TV Channel,
and is covered in a different walk-through.
The Direct Publisher option does not yet provide as many features as the Custom SDK / Developer SDK option does.)

Select the Non-certified ("Private") option.
Be careful not to accidentally select the Public option,
which is only used to submit fully tested channels to
Roku for the Channel Store review and approval process.

Select all of the Channel Store regions for which you have the rights to distribute your channel's content.

Select the Channel Store regions.

Enter a Vanity Access Code.
This is usually one or two words, with no spaces, that identifies your channel.
Write down this code, you'll need it to install the channel later on.

Enter a "Vanity Access Code".

For most channels the remaining settings on this page should be unchanged.
If present, do not check any of the Required Features checkboxes,
as this may prevent your channel from being available for certain models of Roku devices.

Click the Continue button to advance to the "Channel Store Info" page.

Click Add a poster and then locate and select the previously saved sample Channel Store poster.
If you are using your own poster instead of the sample,
the poster must be exactly 540 pixels wide and 405 pixels high.

Upload a Channel Store Poster.

Select a "Preferred Category" for each Channel Store geographic region shown.
This is the on-screen Channel Store category in which your channel will appear,
if it is submitted and approved as a public channel.

Select a Preferred Category.

Click the Continue button to advance to the "Monetization" page.

If your Roku Developer Account is not enrolled in Roku Billing Services then the "Monetization" page will not be available,
and the "Package Upload" page will be displayed next.

For this example channel you should leave "None of the above" selected
and just click the Continue button to advance to the "Package Upload" page.

No Monetization

Change the Minimum Firmware to "v6.1 b1".
Usually this will never need to be adjusted again.
If Minimum Firmware is set too high,
your channel will not be available on older model Roku devices.

In the future, if you need to upload a new Pkg file,
you must remember to always increment the Channel Version number shown above the Minimum Firmware setting.
Channel Version is what all Roku devices use to determine whether or not a newer Pkg file containing an updated version of your channel is available.
If Channel Version is not incremented when you upload a new Pkg file,
then Roku devices that already have your channel installed will not be able to receive the updated version.
If this is the first Pkg file, then Channel Version remains at "1.0" and cannot be changed.

Click Upload a package and then locate and select the previously saved Pkg file.

Before Pkg Upload

After Pkg Upload

Click the Continue button to advance to the "Preview and Publish" page.

Verify that there is a checkmark next to each item in the checklist at the bottom of the page,
then click the Publish button.

Publish!

Click on the Vanity Access Code link to advance to the "Add Channel" page.

Click Add Channel to confirm that the new channel is to be added to your account and installed on your Roku device.

If a "you must have at least one device" error message appears at this point,
it means that you do not have any Roku devices associated with this Roku account.

You can use the Vanity Access Code in any other Roku account to install the new channel.

Your new channel is now in your Roku account
and will be installed onto your Roku device in 24 hours or less.
To force your Roku device to install your channel immediately you must do a System Update.
Using your Roku remote control:

Press the remote control HOME key.

Use the remote control UP and DOWN keys and the OK key to select Settings from the on-screen menu.

Select System from the on-screen menu.

Select System update from the on-screen menu.

Select Check now from the on-screen menu

You should see a brief message flash on the screen about installing your new channel.

Press the remote control HOME key again.

If your new channel installed successfully,
it will be located directly above the dividing line in your Roku home-screen channel list.

Selecting your channel will bring up a splash screen first,
then it will display the ListPosterURL image.
Your channel currently has only a single ListPoster image, although most channels will have several.

Click OK with your remote to select the ListPoster image.
You'll see the Springboard screen for your content item.

Select the on-screen Play button to start the content item stream, "Plan 9 From Outer Space".

Most changes to your Roku channel can be made WITHOUT re-packaging or re-uploading
to your Roku Developer Account.

For example, let's add a new video content item to the channel:

From the Instant TV Channel menu along the left side of the page,
click Content to go to the Content Editor page.

Right click on the channel folder icon
in the upper left window and select New Video or Audio from the list of items.
A content item named
"New Video or Audio" is added to your Roku channel.

Again, right click on the channel folder icon
to create another content item.

The two new content items have the default URLs for the Instant TV Channel posters and the default
"Plan 9 From Outer Space" stream URL.
Later on you can come back and change these to something
else, but for now we'll keep the defaults.

Go back to your Roku device.
Press the Home button on your Roku remote control to exit your channel,
then press OK to restart your channel.
(You'll always need to exit and then re-enter your channel
before viewing any new or recently changed content.)

The two new content items that you added appear in your Roku channel.

Your channel's content was changed WITHOUT needing to re-package
or re-upload the channel to your Roku Developer Account.

Only certain items in the Theme Editor,
such as artwork contained in the Pkg file,
will require re-packaging and re-uploading to Roku.
If your Roku channel needs to be repackaged and re-uploaded then a red box
will appear around the Package button
in the main Channel List.

Email comments & questions about this Roku developer guide to .

Instant TV Channel

Instant TV Channel is a cloud-based tool for Roku developers and content providers that shortens development time and eases maintenance after deployment.