Tutorials for beginning development on Roku

Roku's free SDK allows developers to build channels and applications and publish them to the Roku Channel Store. Register for the Developer Program at http://www.roku.com/developer

Moderators: RokuDouglas, RokuKen, RokuRyan, RokuJamesL, RokuChris, RokuJoel

Tutorials for beginning development on Roku

Postby kbenson » Tue May 17, 2011 9:24 pm

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:
Last edited by kbenson on Thu May 26, 2011 11:06 pm, edited 5 times in total.
-- GandK Labs
Check out Reversi! in the channel store!
kbenson
 
Posts: 886
Joined: Fri Apr 09, 2010 9:53 am
Location: Santa Rosa, Ca

Re: Tutorials for beginning development on Roku

Postby stratcat96 » Tue May 17, 2011 9:32 pm

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 :)
stratcat96
** Valued Community Member **
 
Posts: 3430
Joined: Sat Nov 06, 2010 7:22 pm
Location: Ice Planet Hoth

Re: Tutorials for beginning development on Roku

Postby kbenson » Tue May 17, 2011 9:56 pm

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.
-- GandK Labs
Check out Reversi! in the channel store!
kbenson
 
Posts: 886
Joined: Fri Apr 09, 2010 9:53 am
Location: Santa Rosa, Ca

Re: Tutorials for beginning development on Roku

Postby TheEndless » Tue May 17, 2011 10:00 pm

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), MainSqueeze (MAINSQUEEZE), iTunes Podcasts (ITPC), Twitch.tv (TWITCHTV), My Channels (MYCHANNELS)
User avatar
TheEndless
** Valued Community Member **
 
Posts: 8038
Joined: Mon Oct 04, 2004 10:15 am
Location: US

Re: Tutorials for beginning development on Roku

Postby kbenson » Tue May 17, 2011 10:23 pm

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...
-- GandK Labs
Check out Reversi! in the channel store!
kbenson
 
Posts: 886
Joined: Fri Apr 09, 2010 9:53 am
Location: Santa Rosa, Ca

Re: Tutorials for beginning development on Roku

Postby renojim » Tue May 17, 2011 11:30 pm

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
renojim
** Valued Community Member **
 
Posts: 2454
Joined: Mon Feb 15, 2010 1:35 pm

Re: Tutorials for beginning development on Roku

Postby jbrave » Wed May 18, 2011 2:20 am

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
Screenshades: The first Screensaver for Roku2!
Musiclouds: The best free internet music, on your Roku!
Ouroborialis: Psychedelic Screensaver for Roku!
jbrave
 
Posts: 716
Joined: Mon Mar 22, 2010 3:00 pm
Location: Ben Lomond, CA

Re: Tutorials for beginning development on Roku

Postby kbenson » Wed May 18, 2011 9:17 am

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!
kbenson
 
Posts: 886
Joined: Fri Apr 09, 2010 9:53 am
Location: Santa Rosa, Ca

Re: Tutorials for beginning development on Roku

Postby TheEndless » Wed May 18, 2011 9:26 am

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), MainSqueeze (MAINSQUEEZE), iTunes Podcasts (ITPC), Twitch.tv (TWITCHTV), My Channels (MYCHANNELS)
User avatar
TheEndless
** Valued Community Member **
 
Posts: 8038
Joined: Mon Oct 04, 2004 10:15 am
Location: US

Re: Tutorials for beginning development on Roku

Postby kbenson » Wed May 18, 2011 9:38 am

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!
kbenson
 
Posts: 886
Joined: Fri Apr 09, 2010 9:53 am
Location: Santa Rosa, Ca

Re: Tutorials for beginning development on Roku

Postby jbrave » Wed May 18, 2011 1:05 pm

I'm glad you are doing this. I"m sure I still have a few things I could learn about roImageCanvas myself, so I'll be reading your articles.

- Joel
Screenshades: The first Screensaver for Roku2!
Musiclouds: The best free internet music, on your Roku!
Ouroborialis: Psychedelic Screensaver for Roku!
jbrave
 
Posts: 716
Joined: Mon Mar 22, 2010 3:00 pm
Location: Ben Lomond, CA

Re: Tutorials for beginning development on Roku

Postby grim107 » Wed May 18, 2011 6:32 pm

I have absolutely no background in any programming of any kind. Will this tutorial be able to help me, or should I first learn basic?
grim107
 
Posts: 19
Joined: Sat Mar 26, 2011 9:30 pm

Re: Tutorials for beginning development on Roku

Postby kbenson » Wed May 18, 2011 7:30 pm

grim107 wrote:I have absolutely no background in any programming of any kind. Will this tutorial be able to help me, or should I first learn basic?


That depends. They very well may suffice for some people with no programming experience, but it would depend on the person and how much exposure they had to related concepts. The biggest problem I see is that I don't cover some basic concepts, but a little googlng and wikipedia browsing may be enough.

The tutorials so far are extremely short, so you are only out a few minutes if it just isn't sufficient for you.
-- GandK Labs
Check out Reversi! in the channel store!
kbenson
 
Posts: 886
Joined: Fri Apr 09, 2010 9:53 am
Location: Santa Rosa, Ca

Re: Tutorials for beginning development on Roku

Postby KennyJ » Wed May 18, 2011 8:04 pm

Thanks so much for this. I played around with the SDK when it was first released, but ended up mostly just modifying examples because I didn't have a very good understanding of how to read/write Brightscript. I'm not a programmer, but I've written macros in VBA (excel), used to program in BASIC as a kid, and have some basic PHP skills.

I'll check it out and try to offer a perspective from someone trying to learn.
User avatar
KennyJ
 
Posts: 4043
Joined: Thu Jul 31, 2008 12:18 am
Location: Lawndale, CA

Re: Tutorials for beginning development on Roku

Postby kbenson » Thu May 19, 2011 10:34 pm

Glad you think it will help! I'll gladly take suggestions for improvements.
-- GandK Labs
Check out Reversi! in the channel store!
kbenson
 
Posts: 886
Joined: Fri Apr 09, 2010 9:53 am
Location: Santa Rosa, Ca

Next

Return to Roku Developer Program

Who is online

Users browsing this forum: No registered users and 5 guests