kbenson
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-17-2011
09:24 PM
Tutorials for beginning development on Roku
I've written the first few posts in s tutorial set for programming on the Roku. It's not targeted at programmers with enough experience to pick up what they see in the SDK examples easily, but instead at those that are a little lost as to where to start. Following the tutorials should result in a better understanding of what BrightScript is capable of, and how to start your own channel from scratch.
I'll update the list here as I complete more. In the meantime, feel free to comment on and provide corrections either here or on the blog. I'll update the posts (and provide change logs at the end of the post with credit) for any changes made.
Additionally, I'll compile a list of other tutorials found:
- Start developing for the Roku Part 2: Packaging and uploading
- Start developing for the Roku Part 4: Iterate!
- Part 5: To be completed
- Part 6: To be completed
I'll update the list here as I complete more. In the meantime, feel free to comment on and provide corrections either here or on the blog. I'll update the posts (and provide change logs at the end of the post with credit) for any changes made.
Additionally, I'll compile a list of other tutorials found:
- Three "Hello World" examples at official Roku blog
RokuChris's set of three simple versions of Hello World using a different component each time - Three part tutorial that ends with publishing a private channel
Covers signing a package and submission to Roku's channel management system as a private channel
-- GandK Labs
Check out Reversi! in the channel store!
Check out Reversi! in the channel store!
24 REPLIES 24
stratcat96
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-17-2011
09:32 PM
Re: Tutorials for beginning development on Roku
Very nice. It was simple and to the point, easy enough for anyone to follow and grasp that has never seen programming language before. I know that there are varying opinions on starting with a roimagecanvas but I'm eager to see where you take it. Great work 🙂
kbenson
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-17-2011
09:56 PM
Re: Tutorials for beginning development on Roku
Yeah, I truly understand the reasoning behind starting with a different component, but I find it much easier to use the ImageCanvas as a general purpose component to lay some foundation concepts with. I'm sure I'll throw some other components in there on top later to show the stacking of visible components.
I'm working on Part 3 right now, which explains Associative arrays and comments. Part 4 will be regular arrays and a for loop. Part 5 will most likely be explaining message ports and using wait in an event loop. Part 6 might be layering some dialog boxes or something.
I'm working on Part 3 right now, which explains Associative arrays and comments. Part 4 will be regular arrays and a for loop. Part 5 will most likely be explaining message ports and using wait in an event loop. Part 6 might be layering some dialog boxes or something.
-- GandK Labs
Check out Reversi! in the channel store!
Check out Reversi! in the channel store!

TheEndless
Channel Surfer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-17-2011
10:00 PM
Re: Tutorials for beginning development on Roku
Still not convinced roImageCanvas is the right place to start (and my eyes really don't like white text on black/gray), but nice and effective tutorial!
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
kbenson
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-17-2011
10:23 PM
Re: Tutorials for beginning development on Roku
Thanks! mm, maybe I should switch the default font color to Tan4. That's my favorite dark terminal font color. Then again, that may not have been your point... 😉
Oh, and part 3 is up...
Oh, and part 3 is up...
-- GandK Labs
Check out Reversi! in the channel store!
Check out Reversi! in the channel store!
renojim
Community Streaming Expert
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-17-2011
11:30 PM
Re: Tutorials for beginning development on Roku
I like the dark background and absolutely hate white/light backgrounds (they truly give me a headache). As for roImageCanvas, I agree that it's a great component for teaching BrightScript which is probably the first step for learning how to program on the Roku. I also see the point that it's not the best component for learning how to program an actual channel since so many channels don't even use it. Either way, great job!
-JT
-JT
Roku Community Streaming Expert
Help others find this answer and click "Accept as Solution."
If you appreciate my answer, maybe give me a Kudo.
I am not a Roku employee.
Help others find this answer and click "Accept as Solution."
If you appreciate my answer, maybe give me a Kudo.
I am not a Roku employee.
jbrave
Channel Surfer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-18-2011
02:20 AM
Re: Tutorials for beginning development on Roku
Well, I don't think the image canvas is the best place to start, however, it is perhaps the most FUN place! roPosterScreen is the most practical place to start, but on the other hand, getting image canvas working is perhaps the most difficult thing to learn, so if you can lay that out, it might be very helpful to those who want to work with it.
I do like the white text on black, very readable.
- Joel
I do like the white text on black, very readable.
- Joel
Screenshades: The first Screensaver for Roku2!
Musiclouds: The best free internet music, on your Roku!
Ouroborialis: Psychedelic Screensaver for Roku!
Musiclouds: The best free internet music, on your Roku!
Ouroborialis: Psychedelic Screensaver for Roku!
kbenson
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-18-2011
09:17 AM
Re: Tutorials for beginning development on Roku
Yeah, other components are much more useful for building the average channel, but that's because they do a lot of the work for you. But since they do, they are somewhat limited in how you can use them. I wanted to pick a component that I could stick with and continue to use for most if not all the tutorials, and just throw extra components in as needed. Some of the more complex components would have fit the bill, but they have their own specific complications. The ImageCanvas is unique in my mind because it is a very simple component (see tutorial part 1), but can be used in very complex ways (e.g. KidPaint).
-- GandK Labs
Check out Reversi! in the channel store!
Check out Reversi! in the channel store!

TheEndless
Channel Surfer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-18-2011
09:26 AM
Re: Tutorials for beginning development on Roku
"kbenson" wrote:
Yeah, other components are much more useful for building the average channel, but that's because they do a lot of the work for you. But since they do, they are somewhat limited in how you can use them. I wanted to pick a component that I could stick with and continue to use for most if not all the tutorials, and just throw extra components in as needed. Some of the more complex components would have fit the bill, but they have their own specific complications. The ImageCanvas is unique in my mind because it is a very simple component (see tutorial part 1), but can be used in very complex ways (e.g. KidPaint).
I think the important distinction is in the fact that you're writing BrightScript programming tutorials, rather than Roku channel development tutorials. I just think you need to be clear about that, possibly by stating that in your intro, otherwise new developers may not realize that most of the standard components do all of the (non-graphical) UI work for you. 90% of new Roku channel developers will want to use the built-in components to develop their channels, rather than the image canvas.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
kbenson
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-18-2011
09:38 AM
Re: Tutorials for beginning development on Roku
"TheEndless" wrote:
I think the confusion may be in the fact that you're writing BrightScript programming tutorials, rather than Roku channel development tutorials. I just think you need to be clear about that, possibly by stating that in your intro, otherwise new developers may not realize that most of the standard components do all of the (non-graphical) UI work for you. 90% of new Roku channel developers will want to use the built-in components to develop their channels, rather than the image canvas.
Yeah, I sort of cover that in the second paragraph of the first tutorial:
This isn't intended for those intending to just take an example channel (of which there are many in the SDK) and alter it, but for those struggling with the core concepts of the language, or that have trouble following what's happening in the examples provided.
Also, I'm not planning to limit the tutorials to imageCanvas, just to use it as a convenient base to come back to. The idea is to have something to point at for people that say they don't understand what's going on in an example channel because they don't quite understand the concepts of BrightScript itself yet. I think it makes sense to end with an example that uses roImageCanvas, roVideoPlayer, roParagraphScreen, and another component or two all mixed in to make a channel that can play a video. The hope is that by that point absolutely everything used in the code will have been explained to some degree in a previous tutorial part.
I would happily accept suggestions or contributions, if anyone wants to help.
-- GandK Labs
Check out Reversi! in the channel store!
Check out Reversi! in the channel store!