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

Starting From Scratch - Advice Needed

Hi All,

I am brand new to BrightScript, but have spent the last 15+ years working with C#, VB.NET, Python, SQL and JavaScript etc. I've built many projects from the ground up, and always was able to get things done. I was recently tasked with creating a Roku channel as I'm the only one in my company that has VB.NET experience, and BrightScript is "similar" to that.

But, I have found it extremely hard to start working with BrightScript. I have been going through the documentation, and the example projects, but I have to say, I have begun to dread working on Roku and BrightScript, simply because there really are NO tutorials on how things go together and why things are written the way they are. Yes, the documentation is extensive, but it's not very good in my opinion. No where are there tutorials on starting from scratch, NOTHING! Sure, the code is all written in the examples, but that doesn't tell me why things are set up the way they are, and to be frank, neither does the documentation.

For example, I had the "Simple Video Player" project open, and I see a "initTheme()" method. Looking at it, I see the line "app = CreateObject("roAppManager")". I search the BrightScript reference guide for "roAppManager" and nothing comes up. I search other documents, nothing. So, I'm left with a line of code that has no comments in the project, and so I have no idea what this is doing or the purpose of what "roAppManager" is. I know this is simple, but it's just a point of my frustrations.

There is a forum topic "How Do I Start Developing a Channel" topic at viewtopic.php?f=34&t=36014, but it's a complete joke as it doesn't offer any real help. Basically says, "write it and publish". With no IDE, no real debugger, no intellisense (with third party IDE's such as Eclipse), no tutorials, no "how to" docs, I'm curious how you all learned this fracking language?? What did you all do to learn this stuff?????

Sorry for the sour tone, I'm just so frustrated of getting no where with this. Any advice is really appreciated. How do I actually "learn" BrightScript???

Thanks
Bud
0 Kudos
22 Replies
Highlighted
Level 7

Re: Starting From Scratch - Advice Needed

I understand how you feel. When I first started with this new language I felt the same way as there was not help with explain why things are done the way that they are done. So this is what I have done below:

On Thursday, May 12, 2011 My company will be lunching a new website to provide help with BrightScript. We will provide video tutorials basic of the explaining each part by part and what they do. However because we are not experts in the language we are also allowing any member to post their videos to show what they have learned about the language. We are also in the process on developing a software that will write Roku Apps basic off your design that will make it easy where you do not have to code. If you would like to be a part of this project email me at jseigle85@gmail.com. Your knowledge with C# will be very helpful as the languages are close.

I will post a link to the website on Thursday
0 Kudos
Highlighted
Level 8

Re: Starting From Scratch - Advice Needed

Hi jseigle85,

Yes, for sure I would like to be involved with that! I REALLY want to learn this as it looks really fun, and does some really cool stuff. Any assistence I can lend as well I would do so most enestly. I'll email you offline!

Thanks!!
0 Kudos
Highlighted
Level 7

Re: Starting From Scratch - Advice Needed

welcome to the club.

i am still reading, reading and more reading in circles. Smiley Very Happy

i love the idea of an app to create channels, so that one does not have to write code to create a channel.
Hawk Cam
Live footage from the nest on top of Bobst Library at N.Y.U.
copy and paste the link in your browser or use keyword: hawkcam

https://owner.roku.com/add/hawkcam
0 Kudos
Highlighted
Level 18

Re: Starting From Scratch - Advice Needed

"brocker" wrote:
For example, I had the "Simple Video Player" project open, and I see a "initTheme()" method. Looking at it, I see the line "app = CreateObject("roAppManager")". I search the BrightScript reference guide for "roAppManager" and nothing comes up. I search other documents, nothing. So, I'm left with a line of code that has no comments in the project, and so I have no idea what this is doing or the purpose of what "roAppManager" is. I know this is simple, but it's just a point of my frustrations

I don't think you searched very hard. Pretty much if something isn't in the BrightScript Reference, it's in the Component Reference. For the most part, the BrightScript Reference tells you about the language, but the Component Reference gives you information on components specific to the Roku Streaming Player.

-JT
0 Kudos
Highlighted
Level 8

Re: Starting From Scratch - Advice Needed

"brocker" wrote:
Hi All,

I am brand new to BrightScript, but have spent the last 15+ years working with C#, VB.NET, Python, SQL and JavaScript etc. I've built many projects from the ground up, and always was able to get things done. I was recently tasked with creating a Roku channel as I'm the only one in my company that has VB.NET experience, and BrightScript is "similar" to that.

But, I have found it extremely hard to start working with BrightScript. I have been going through the documentation, and the example projects, but I have to say, I have begun to dread working on Roku and BrightScript, simply because there really are NO tutorials on how things go together and why things are written the way they are. Yes, the documentation is extensive, but it's not very good in my opinion. No where are there tutorials on starting from scratch, NOTHING! Sure, the code is all written in the examples, but that doesn't tell me why things are set up the way they are, and to be frank, neither does the documentation.

For example, I had the "Simple Video Player" project open, and I see a "initTheme()" method. Looking at it, I see the line "app = CreateObject("roAppManager")". I search the BrightScript reference guide for "roAppManager" and nothing comes up. I search other documents, nothing. So, I'm left with a line of code that has no comments in the project, and so I have no idea what this is doing or the purpose of what "roAppManager" is. I know this is simple, but it's just a point of my frustrations.

There is a forum topic "How Do I Start Developing a Channel" topic at viewtopic.php?f=34&t=36014, but it's a complete joke as it doesn't offer any real help. Basically says, "write it and publish". With no IDE, no real debugger, no intellisense (with third party IDE's such as Eclipse), no tutorials, no "how to" docs, I'm curious how you all learned this fracking language?? What did you all do to learn this stuff?????

Sorry for the sour tone, I'm just so frustrated of getting no where with this. Any advice is really appreciated. How do I actually "learn" BrightScript???

Thanks
Bud
roAppManager is in the ComponentReference.pdf SDK doc, section 4.2 (I just checked for it in the 2.9 sdk and the beta 3.0 sdk). I agree that more in-depth tutorials are needed. Roku has started a developer blog where they have stated they intend to post some getting started tutorials. There is also a plugin under developmentfor Eclipse, that people seem to find useful. Reading all of the pdfs (or at least carefully perusing them) is essential to learning the language/system.
Remoku.tv - A free web app for Roku Remote Control!
Want to control your Roku from nearly any phone, computer or tablet? Get started at http://help.remoku.tv
by Apps4TV - Applications for television and beyond: http://www.apps4tv.com
0 Kudos
Highlighted
Level 8

Re: Starting From Scratch - Advice Needed

Thanks gonzotek,

I searched the Component but just realized my search was flawed. I thought it searched the whole document, not just from where my cursor was forward. Thanks for the pointer.

<BEGIN RANT>
I have seen the Eclipse plugin, but that is basically just syntax highlighting, it helps, but not anything really useful at this point (though I hear better stuff is coming). I guess my main frustration is that there are no tutorials at all, to which I sort of would understand if this was a new platform, but it's not. I feel that if Roku wants to stay viable (and lets face it, they are already an outdated technology with DVD players and TV's coming with built in channels), they need to help us out. Taking the arrogant Apple stance of "eat what we give you" is not viable going forward for something that is being replaced every day by built-in devices.

It just shocks me that no one here really has an answer other than "read the BrightScript reference" manaul. Well, that doesn't tell me how to get started, just what methods and API's exist. Where is the basic guide to starting a channel? I've recieved a bunch of private emails from folks who share my feelings, so I am not the only one.

I know I'm sounding pissed, and I am I suppose. I guess I was expecting more from a system that's been around for years.
</END RANT>

Thanks
Bud
0 Kudos
Highlighted
Level 7

Re: Starting From Scratch - Advice Needed

I can understand where you're coming from, but things aren't nearly as bad as you make it sound.

I've actually been pretty impressed with the way that Roku interacts with its developers. Roku engineers are always available in the forums, and will usually respond to any specific questions that you have. They also seem to take enhancement requests and bug reports seriously, which is encouraging to see.

My advice is to NOT start your channel from scratch. Take one of the example channels (like "videoplayer"), and modify it to fit your needs.

Of course, the example channels aren't perfect tutorials by any means. A lot of them are sloppily written, with lots of unnecessary obfuscation and spaghetti code, and less comments than you'd expect. That's where the brunt of my frustration came from, but once you get your example channel to a state where you can fully understand it, then it should be smooth sailing from there.

Again, if you have any specific questions in the future, the community is usually pretty good about answering them.

Best of luck!
My Roku Channels:
Viddler - viddler.com
Tested Fan - tested.com | Jamie & Adam
This is my next - theverge.com
1080p Showcase - RIP
Whiskey Media - RIP
======================
http://www.binarymoustache.com
0 Kudos
Level 9

Re: Starting From Scratch - Advice Needed

"brocker" wrote:
(and lets face it, they are already an outdated technology with DVD players and TV's coming with built in channels)

Out of curiosity, why are you and your company bothering with a technology that you feel is "outdated"?

"brocker" wrote:
Well, that doesn't tell me how to get started, just what methods and API's exist. Where is the basic guide to starting a channel?

Have you read the DeveloperGuide.pdf? It has a walk-through with the standard "Hello World" type application. The DesignGuidlines.pdf gives a good background on how the Roku UI works, and how you should design your applications, and probably answers a lot of the "why" questions you posed in your first post. I've also found that the SDK examples are all actually pretty well commented (moreso now than in earlier versions of the SDK).

Picking up a new language is always a daunting task. The developer community here, for the most part, is a very friendly and helpful bunch. If you have questions, ask them, and someone is likely to help you out, but I'm not sure posting "rants" (your words) and insulting the platform ("arrogant" and "outdated") is the most effective way to get there. Smiley Wink
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

Hey Endless,

I'm actually not as mad as my post seems, just frustrated. We have to use Roku as that is the format that our clients in Hollywood use, thus we have to use it (although there is a push to get them on to a newer platform down the road), so I'm tasked with learning this stuff.

I suppose I'm used to more XP type development where more support exists. I certainly understand that the forum is a valuable resource, but it is just a tad slow by nature of the beast. Answers are sometimes slow in coming, or not at all.

Also, I HATE posting basic questions that should be easily answered by simple tutorials. I feel like it wastes everyones time, so a bit of my frustration is born from that. I have found that for the most part, everyone on the forum is very helpful and I look forward to getting over this "hump".

So yes, I've read the developers guide (and have it open as I type this). I have seen the basic "Hello World" and built it, but I want more. Shoot, I'm having a hard time just getting the silly images I created to display!! I'm sure that it is simple, but it's not covered other than in the demos, and they all do it in a different way, so not sure why. I've been mostly using the "VideoPlayer" project, but it's WAY more advanced than I am, and does not have good detail or comments on why things are being done (yes there are comments explaining what each method does, but I want explanation on each action like most demos).

Anyway, I'm sure with everyones help, it will come along.

Thanks
Bud

PS - Not calling Roku arrogant, calling Apple arrogant. Just don't want Roku to go down the Apple model that many companies seem to be adopting, but point taken Smiley Very Happy
0 Kudos