Home Products Divisions News About Us Contact



General Troubleshooting in QUALCOMM BREW® Development

November 2004 by Lauren E. Darcey

BREW® applications are developed quickly – so quickly it sometimes seems that a single annoying bug on a single phone takes half the development time to resolve. The brisk pace of BREW development only exacerbates the problem when development grinds to a halt - for moments, hours, days. Of course, the code works splendidly on the emulator, not to mention all the other phones you're supporting and some that you're not. This can be irritating to the extreme – we’re all on a schedule, right?

We should be grateful that BREW has become stable as a development environment – and it continues to improve with updated SDKs and consistently improving documentation and support. Certainly some devices do not support certain APIs, and there is the occasional known issue, but most are easy to work around. It’s tempting to blame the manufacturers’ implementation of the subtleties of BREW when you run into a single phone anomaly in your application. However, more than once, it was my own fault, not BREW, that caused me to tear my hair out.

Anyway, a lot of the time, you are stuck - with a deadline, and you can't seem to resolve the problem. You don't know if its your code, or some bug, or what. Frankly, it doesn't really matter. You just want it resolved. What can you do?

  • First: Check Your Assumptions There's a fitting quote about assuming things, but it's not really appropriate for this article. Just start with checking all your assumptions. Start with the emulator and make sure all your parameters are valid and such. If it works there, but not on the phone, start doing some on-device debugging - this feature is getting better all the time. Even if you're just spewing variable values into the BREW Logger - just make sure it's not something totally obvious. I think that the reason a lot of people don't answer some questions on the BREW forums is because they feel that the person didn't at least attempt to solve the problem themselves. Which brings us to...
  • Second: RTFM - Check the API Docs, Phone Specs, & Known Issues QUALCOMM provides a lot of useful information on their Developer Extranet. When you download the BREW SDK, you get some great documentation - which often tells you what functions you need to call to make something work properly. Some BREW reference is public and some is only available to Authenticated BREW developers. As a BREW Developer, you should make sure you get access to this site. With Developer Extranet access, you can verify that the feature or API you're trying to use is available on that specific phone using the Phone Specifications. If you're seeing something odd happen on a phone that looks like a bug, you can also check and see if there's a Known Issue logged for that specific phone.
  • Third: Read Up on the BREW® Forums One of the most powerful resources on the QUALCOMM Developer Extranet is their forums. Available in several languages, the forums are full of people asking questions, answering questions, and just plain sharing information. If you're just getting started, it's likely that your question has been answered (often repeatedly) on the forums. Try the search feature and read up first, though.
  • Fourth: Ask A Question on the BREW® Forums The fastest way to get support in BREW is to post on the forums. Not only do many BREW veterans lurk there to help you out, but QUALCOMM Developer Support also posts there on a variety of issues, and they may answer your question there faster than by direct email. Make sure you frame your question carefully, and provide as much relevant information as you can before you post, in order to maximize the possibility of receiving a helpful answer.
  • Fifth: Ask A Quality Question, Get a Quality Answer - Contacting BREW® Developer Support As a developer, you've likely had your nose put out of joint when someone in QA writes up a high priority, high severity bug related to your code and basically describes the problem as something like "It's all broken!". No steps to reproduce, no context, nothing. Given the level of traffic on the Forums, its likely that QUALCOMM Developer Support gets a lot of questions and potential bug reports from developers all over the world, every day. I think its almost always appropriate to post on the BREW Forums before contacting BREW Dev Support. If you decide that your problem merits a question to Developer Support, make sure you give them as much information as possible. It will help them get back to you with an answer faster. They often would like to see sample code that reproduces the problem. Also, don't wait until the last minute to contact them, it does take some time to resolve some issues.
  • Sixth: Getting Desperate? Try Google Sadly, there's not a lot of third-party BREW® documentation on the web, but occasionally, you'll get lucky. There are also several good BREW books out there, although they are mostly good for an introduction to the programming environment, and do not go into details on a lot of the newer BREW features.

 

For more information about BREW® development, check out the QUALCOMM BREW® Website.

Back to the Monthly Archive

For more information, contact writing@mamlambo.com.


           Home | Products | Divisions | News | About Us | Contact