There are plenty of resources out there to help you develop apps for BlackBerry. The usual go-to spot is BlackBerry’s developer site. The next best place for getting help is from other developers. Developers tend to be willing help other developers, however to receive help you need to go about it in the correct manner. When you go looking for help there are certain do’s and don’ts you should follow, so in this posting I’d like to go over some of the resources available to BlackBerry app developers and how to effectively use them.
The main places to look for help are BlackBerry official docs, official BlackBerry forums, 3rd party documentation, CrackBerry developer forums, and generic resources (books, websites, etc.) for specific coding languages. Let’s go ahead and take a closer look at each of these resources.
BlackBerry Official Docs:
Use of the official documentation is pretty straight forward. The documentation provided by BlackBerry for each platform is extensive, and each platform is broken out into its own microsite: Android, Cascades, Native C++, Air, and WebWorks (HTML)…. Oh and good ol' BBOS Java and Themes. (But nobody cares about these anymore, BB10 all the way!)
Once in your platform of choice, the documentation is further broken out into subsections for finer details on particular topics. You’ll find topics such as UI features, navigation, sensors, and API extensions. Also, there are official BlackBerry open source example apps for each platform. These samples are not only there for you to look at and see how things work, but you are free to use the code in your own apps! Digging a bit deeper into BlackBerry’s github repository you will find additional community submitted open source apps for your platform. Again you are free to use the code in these samples in your own apps. Best of all, these microsites are searchable. The search box on each microsite is restricted to that particular microsite documentation and its associated forum. This is very handy to use if you know the name of the function and/or element you are looking for without navigating through the documentation menus.
Next, I look at the BlackBerry developer’s blog as an extension of their documentation. Their blog spans all topics/platforms. They post a few times a week and it's definitely worth checking these articles because not all of it ends up in the main documentation site. Not only are these articles helpful, but here’s a chance to directly interact with the BlackBerry developer relations team. All the members of the developer relations team monitor these articles so feel free to use the comments in these articles to ask for clarification.
Finally, independent of your platform of choice, BlackBerry has provided a universal set of BlackBerry 10 app guidelines. The topics covered in this section are things like icons (size, shape, colors, etc.), menu uses/placement, and how your app should generally look/feel to give users a familiar “BlackBerry 10 experience.” (NOTE: Games are often excluded from these guidelines.)
3rd Party Documentation:
Most of you guys are probably aware of my sites: www.BBcascades.com and www.bbcascadescode.tumblr.com for examples/write-ups for Cascades. However there are a few others I use (in no particular order): www.twocasualcoders.com (Cascades), www.opensourceBB.com/osbbx (Cascades, WebWorks), www.BoredWookie.net (Cascades), www.Filearchivehaven.com (All languages except Cascades). Beyond what these guys post on their sites, they often have commenting systems/contact info so that you can ask them direct questions for either a clarification on one of their postings or to request other forms of help.
Saving the best for last, be sure to check out all the other articles on the Weekend Coder topic here on CrackBerry!
Official BlackBerry Forums:
Here’s where things may start getting tricky for the novice developer. Maybe tricky isn’t the right word… intimidating? Here’s the low down, developers in those forums aren’t there to hold your hand or have casual conversation. Don’t confuse that with they won’t help you with “basic” or “easy” stuff, they just don’t want to have a lot back and forth before getting somewhere. Let me illustrate this with an example:
DON’T DO THIS:
Title: Button won’t work
Question: I have a Button and I want it to change the color of my background, please help?!?!
Odds are most people will ignore you. They just won’t take you seriously. Also most will assume you didn’t actually try anything and are not willing to learn, you just want answers. A better way to approach this would be:
Title: Button to change Background
Question: Hey guys, I have the following code:
[paste your code here]
And what I want it to do is have the Button change the color of my background from Red to Blue. Any suggestions of what I am doing wrong?
Few things to note in the correct example, the title is a better match to the question and there is code posted. By showing the code you tried, you let whoever ends up helping you solve your specific problem and give them a frame of reference of where you got stuck. However don’t take this the wrong way and think you can post 3 pages of code and have others debug it for you. The idea is to isolate the issue and ask a specific question with a specific answer.
Next the BlackBerry support forums are set up in such a way that threads can be marked as “solved.” So when somebody answers your question, mark their response as the solution. Only the original author of the thread can mark something as the solution, so if you ask the question it is YOUR responsibility to mark the solution response. This serves a few purposes. First when others search and they come across your thread in the future, they can see the solution to the problem without reading the whole thread. Next, developers (myself included) are a bit vain and like to have their ego’s stroked. So marking the response as the solution makes us feel all warm and gushy inside. Furthermore, post “likes” stroke developer egos too. So if you are not the original author and you found somebody’s response helpful, “like” their post. Post “likes” also give developers Jamzone points that they can redeem for BlackBerry swag. So, not only are we vain but we love getting free BlackBerry swag for helping users in the forums.
Another portion of the BlackBerry forums is the Knowledge Base section. Here developers (including BlackBerry employee developers) write how-to articles on various topics.
Last thing to be aware of in the official BlackBerry forums is that there are not only platform specific subforums but a few others for things like Advertising Services, BlackBerry World, and Built for BlackBerry, so please make sure you are posting in the correct forum. Wrong forum topics often get ignored/buried (and usually not moved to the appropriate forum).
CrackBerry developer forums tend to be a bit more casual than the official forums. But the general rules/etiquette explained above still apply. Please be specific with questions, comments, ideas, requests, etc. And since the CrackBerry forum is more casual, feel free to have a bit more small talk here, just keep it developing related. One nice advantage here is that developers of all platforms check these forums so it is a good place to discuss general developing topics, whereas someone like me never really goes too far outside of the Cascades forum on the BlackBerry site.
One great generic resource is www.stackoverflow.com. This site is a Q&A forum for all types of topics on all languages. I see plenty of BlackBerry related questions/answers posted there too. Just be sure to tag your question appropriately so you get the right audience to find/answer your question.
However, realize these generic resources won’t necessarily be geared towards BlackBerry apps. Furthermore, they may not even be geared towards mobile apps, as these languages are relevant in the desktop space too. So just be aware of this when using these resources.
As a recap I hope this post helps answer the age old question, “Where can I look to get started in developing (for BlackBerry)?” I feel like we’ve gone a step further today to not only point you in the right direction, but how to effectively use these resources. If there are any topics and/or resources I’ve missed feel free to post them up in the comments. See you guys next weekend!