Your Digital Media Has Never Looked So Good

 
brocker
Topic Author
Posts: 82
Joined: Fri Mar 25, 2011 4:17 pm

Starting From Scratch - Advice Needed

Tue May 10, 2011 9:44 am

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
 
jseigle85
Posts: 32
Joined: Tue Apr 26, 2011 8:02 pm

Re: Starting From Scratch - Advice Needed

Tue May 10, 2011 11:09 am

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
 
brocker
Topic Author
Posts: 82
Joined: Fri Mar 25, 2011 4:17 pm

Re: Starting From Scratch - Advice Needed

Tue May 10, 2011 11:22 am

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!!
 
bollywood
Posts: 99
Joined: Sun May 01, 2011 4:58 pm

Re: Starting From Scratch - Advice Needed

Tue May 10, 2011 12:11 pm

welcome to the club.

i am still reading, reading and more reading in circles. :D

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

Re: Starting From Scratch - Advice Needed

Tue May 10, 2011 1:16 pm

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
 
User avatar
gonzotek
** Valued Community Member **
Posts: 2206
Joined: Thu May 06, 2010 12:40 pm
Contact:

Re: Starting From Scratch - Advice Needed

Tue May 10, 2011 1:19 pm

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
 
brocker
Topic Author
Posts: 82
Joined: Fri Mar 25, 2011 4:17 pm

Re: Starting From Scratch - Advice Needed

Tue May 10, 2011 1:34 pm

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
 
evilmax17
Posts: 181
Joined: Mon Sep 27, 2010 12:44 pm
Contact:

Re: Starting From Scratch - Advice Needed

Tue May 10, 2011 2:12 pm

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
 
User avatar
TheEndless
** Valued Community Member **
Posts: 9231
Joined: Mon Oct 04, 2004 10:15 am
Location: US
Contact:

Re: Starting From Scratch - Advice Needed

Tue May 10, 2011 2:14 pm

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. ;)
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)
 
brocker
Topic Author
Posts: 82
Joined: Fri Mar 25, 2011 4:17 pm

Re: Starting From Scratch - Advice Needed

Tue May 10, 2011 2:31 pm

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 :D
 
User avatar
TheEndless
** Valued Community Member **
Posts: 9231
Joined: Mon Oct 04, 2004 10:15 am
Location: US
Contact:

Re: Starting From Scratch - Advice Needed

Tue May 10, 2011 2:54 pm

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)
 
brocker
Topic Author
Posts: 82
Joined: Fri Mar 25, 2011 4:17 pm

Re: Starting From Scratch - Advice Needed

Tue May 10, 2011 3:22 pm

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 :D

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

Bud
 
MazeWizzard
Posts: 54
Joined: Sat Apr 02, 2011 6:12 pm

Re: Starting From Scratch - Advice Needed

Tue May 10, 2011 5:55 pm

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.
 
ChrisDotson
Posts: 13
Joined: Thu Nov 04, 2010 11:17 am

Re: Starting From Scratch - Advice Needed

Wed May 11, 2011 7:29 am

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.
 
User avatar
TheEndless
** Valued Community Member **
Posts: 9231
Joined: Mon Oct 04, 2004 10:15 am
Location: US
Contact:

Re: Starting From Scratch - Advice Needed

Wed May 11, 2011 7:38 am

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)

Who is online

Users browsing this forum: No registered users and 3 guests