Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Level 8

Re: Starting From Scratch - Advice Needed

"brocker" wrote:
and they all do it in a different way

Yeah, the sample apps are definitely written by different people. There are positives and negatives to that. On one hand, it makes it harder to follow. On the other hand, it shows different methods of accomplishing the same thing. I'm actually more of a dig in, get dirty, and figure it out kind of developer, so while I've occasionally referred to a tutorial, I usually get more satisfaction out of figuring it out myself. I think I may be an exception to the rule in that respect, though...

The Roku Developer Blog (http://blog.roku.com/developer) literally just went live on Friday, and they posted on their Twitter (@RokuDev) asking for suggestions on what people would like to see there, so it sounds like they've recognized that they need to provide more to help developers (especially those starting out), and are taking steps towards that. It might be worth posting your comments on the blog, or in the announcement thread here: viewtopic.php?f=34&t=39599&start=0

And for what it's worth, I think your "outdated" comment may be a little premature. While a lot of TVs and DVD players are coming out with streaming features, very few of them offer the ability to write custom applications for them. Add to that the introduction of the Apple TV, Boxee Box, Google TV, WD Live, etc., over the past 6 months or so, and I think it's pretty clear that this particular market space is just getting started... far from outdated.
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)
0 Kudos
Highlighted
Level 8

Re: Starting From Scratch - Advice Needed

Yeah, I figured that different folks at Roku wrote the demos, like you said, shows different ways to get things done but just a tad hard to understand the proper way. I wish I was like you and could "dive in" head first without understanding the basics, but it's just not how I learned in college, and it's followed me into the pro world. I tend to work from tutorials and demos combined, so I like to dip my toes first...ha! I'd really like to shadow a Roku developer, but don't think that will happen.

Don't want to get off topic on the validity of Roku in the future, but suffice it to say, I hope you are correct. I would hate to think these dents in my head from banging my desk are wasted Smiley Very Happy

Thanks for the tip on the Twitter, I'll post something there as well!

Bud
0 Kudos
Highlighted
Level 7

Re: Starting From Scratch - Advice Needed

Interesting. I just looked at your OP, the list of languages, and the time frame. A thought struck me: I'm older than you (or been at it longer) so it was EASIER for me. You see, Roku development is, in some respects, very old-school in approach. (That isn't a reference to the technology, just the development approach. And it isn't bad either.)

It reminds me of the old PC days... Apple II and Commodore PET and C64 and the like. Simple BASIC interpreter (OK, now a byte-code ?sudo-compiler? or some such) and inserting PRINT statements for debugging, with simple debugging tools. Remember that this is like an embedded system with remote development (editing/debugging). BrightScript has some interesting syntax at times, but it is manageable. I think if you keep at it, you'll pick it up quickly.

The component reference lists most of the functions that you will need, the example code shows a lot of syntax as well as Roku specific screens and functions. It's all there, and with help from this forum I think you'll get over the "hump" quickly. I've been able to put together a pretty interesting app in a month, even if I had to "roll my own" interface at times with roImageCanvas.

Just wanted to drop some encouragement your way and say "hang in there" from one new Roku developer to another.
0 Kudos
Highlighted
Level 7

Re: Starting From Scratch - Advice Needed

Bud,

So glad to hear I'm not the only one with this frustration. While I don't have the programming experience you do, I have managed to teach myself other programming languages. I have built apps for iOS and Android devices. I've learned PHP, Javascript and loads of others. This has to be the LEAST intuitive language I've come across. And the documentation is far from thorough. For example, I can't find "categoryLeaf" anywhere in the documentation yet it's used in the videoplayer example.

Honestly, for the videoplayer example.... why do you need 11 BRS files to pull that off?

I would LOVE to see some very basic tutorials somewhere. Start off with a basic "Hello World" and build up.

Now that I have that off my chest, I do want to say that I love the ROKU and I can really see the potential this device has to offer. If I can nail down how to program for it, I could be in a real position to place hundreds or even thousands of these boxes in the homes and businesses of my customers.
0 Kudos
Highlighted
Level 8

Re: Starting From Scratch - Advice Needed

"ChrisDotson" wrote:
For example, I can't find "categoryLeaf" anywhere in the documentation yet it's used in the videoplayer example.

categoryLeaf isn't a BrightScript component. It's a node in the XML being used in that example, and is specific to that example (see the categories.xml file).

"ChrisDotson" wrote:
Honestly, for the videoplayer example.... why do you need 11 BRS files to pull that off?

You don't *need* 11 files. You can put all of that code in the same file, but it's broken into logical groups (files) to make it easier for both code navigation and re-use.
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)
0 Kudos
Highlighted
Level 7

Re: Starting From Scratch - Advice Needed

"TheEndless" wrote:
categoryLeaf isn't a BrightScript component. It's a node in the XML being used in that example, and is specific to that example (see the categories.xml file).


Well, that explains why I didn't find it, doesn't it? :roll:

"TheEndless" wrote:
You don't *need* 11 files. You can put all of that code in the same file, but it's broken into logical groups (files) to make it easier for both code navigation and re-use.

I don't find it the least bit useful or helpful for someone who, like me, is trying to learn the language. The comments help a little, but not enough if you're starting from scratch. Obviously I'm not alone with my frustrations. Like anything, some people will pick it up and have no problem. I just think ROKU would see greater success if the learning curve wasn't as steep and even novice developers (again, like myself) could come in and quickly learn how to make a channel.
0 Kudos
Highlighted
Level 8

Re: Starting From Scratch - Advice Needed

"ChrisDotson" wrote:
Well, that explains why I didn't find it, doesn't it? :roll:

It should. Why the rolling eyes?
"ChrisDotson" wrote:
I don't find it the least bit useful or helpful for someone who, like me, is trying to learn the language. The comments help a little, but not enough if you're starting from scratch. Obviously I'm not alone with my frustrations. Like anything, some people will pick it up and have no problem. I just think ROKU would see greater success if the learning curve wasn't as steep and even novice developers (again, like myself) could come in and quickly learn how to make a channel.

No one said you were alone in your frustrations. You asked a question about why there were 11 files, and I was trying to explain it. The videoplayer example is one of the more complex examples in the SDK, and isn't really one that you should be starting off with. The "simple" examples are intended to demonstrate individual features of the SDK (akin to the basic "Hello World" you referred to in your post). Once you understand those, and how the components interact, then you should move on to the more complex examples, like the videoplayer example, which is more or less a full blown channel. At that point, the multiple files should make a lot more sense to you.
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)
0 Kudos
Highlighted
Level 7

Re: Starting From Scratch - Advice Needed

"TheEndless" wrote:
Um.. yeah, it does. Why the rolling eyes?


Please don't read anything into that. That was me feeling a bit stupid for not realizing that on my own.

"TheEndless" wrote:
No one said you were alone in your frustrations. You asked a question about why there were 11 files, and I was trying to explain it. The videoplayer example is one of the more complex examples in the SDK, and isn't really one that you should be starting off with. The "simple" examples are intended to demonstrate individual features of the SDK (akin to the basic "Hello World" you referred to in your post). Once you understand those, and how the components interact, then you should move on to the more complex examples, like the videoplayer example, which is more or less a full blown channel. At that point, the multiple files should make a lot more sense to you.


I have gone through the more simple examples, and I have managed to accomplish in those what I set out to do. It just seems a big jump from those examples to the more complex ones, and with little to no in between. It's either pretty simple of very complicated.

Understand that my comments do not come from a place of animosity. I absolutely LOVE the ROKU. Part of why I love it is because of what other developers have done. I want to be able to do similar things. The other part of why I love it is I am in a good position to get a ROKU into the hands of my customers. The ROKU is the answer to a lot of their issues. The missing component is my ability to write channels.
0 Kudos
Highlighted
Level 7

Re: Starting From Scratch - Advice Needed

"TheEndless" wrote:
You don't *need* 11 files. You can put all of that code in the same file, but it's broken into logical groups (files) to make it easier for both code navigation and re-use.

I don't find it the least bit useful or helpful for someone who, like me, is trying to learn the language. The comments help a little, but not enough if you're starting from scratch. Obviously I'm not alone with my frustrations. Like anything, some people will pick it up and have no problem. I just think ROKU would see greater success if the learning curve wasn't as steep and even novice developers (again, like myself) could come in and quickly learn how to make a channel.


You should read the book I learned C++ from. Trust me, the Roku SDK beats that. Although I was working on a channel, and still learning, other outside influences have sort of caused me to stop devolpment of the channel and I haven't really played around with brightscript for a couple months I seem to remember TheEndless answering my questions really quick. TheEndless will probably hate me for this, but if you have a question TheEndless just might have the answer you need.
0 Kudos
Highlighted
Level 7

Re: Starting From Scratch - Advice Needed

It's interesting how the examples are interpreted by different people. I think they work well as examples of how to accomplish a specific task (which the Roku makes relatively simple, but simplifying a complex task such as video streaming may still result in a somewhat complex task), but not very well as tutorials, so I can see the need for a set of tutorials.

Personally, I think using roImageCanvas for the base and teaching super simple BrightScript techniques on top of that would be good for a tutorial. The canvas object has a really low barrier for starting to use it, and it's easy to have something that visual on the screen in 10-15 lines of code. Throw in a loop or two and some string manipulation to display stuff on the screen, and you can have a really quick tutorial that covers CreateObject(), arrays, functions, and event handling. All the examples are just more complex variations on that.
-- GandK Labs
Check out Reversi! in the channel store!
0 Kudos