views:

869

answers:

3

I would like to start developing a BlackBerry application, but what I found is that you have to choose which development environment and which technology to use to develop the app. BlackBerry's developer site isn't too helpfull. I read a few articles there and I still don't know what I need to get to start working on this app.

So, I'm hoping somebody here can point me in the right direction given the app requirements:

  • It needs the ability to run in the background
  • It needs to play audio files that are contained within the application
  • The audio file it plays needs to be able to mix in with sound from BlackBerry's Media player
  • It needs the ability run a timer
  • I would like the app to be available to the widest possible BlackBerry devices, the newer ones like Storm, Bold, Curve, and possibly the older ones.
  • I'd like this app to be self contained, and not require any frameworks to be downloaded by the customer before being able to run this app. If frameworks can be bundled and installed with the app, than that's fine.

I'm not a BlackBerry user so I'm don't really know what the differences are between those devices.

As far as distribution I'd like to put it up on sale in the AppWorld, and I don't know if that has any bearing on which development technology you can choose.

Also, as far as distribution, what options other than AppWorld are available? Can I sell this app myself and just email the installation instructions and the app executable to the customers?

+1  A: 

I'm a Blackberry Curve and iPod Touch user. I know about 7 or 8 other people who use Blackberries. I've never seen anyone pay for a Blackberry app. Ever. Never even heard of it. However, I know lots of people with iPod Touches and iPhones who pay for apps all the time.

My opinion: I think you either have to go free, or use Blackberry's app store.

Nosredna
Go and read some Blackberry forums. You'll find plenty of people saying "it was well worth the four dollars" or whatever. Michael won't make any money selling something that competes with a free or cheap, or even equally-priced-but-better-known, app, but if it does something new and really useful, he can make a little bit of money on it.
Tom Anderson
I don't want to offend, just stating my opinion. Selling is harder than it seems.
Nosredna
I'm not too concerned if it will sell or not. This is more of a learning experience than anything else. The reason I will price it a few bucks is so it at least has some potential of paying for the BalckBerry devices I'd have to get :)
subjective-c
+5  A: 

If you want to support the broadest range of devices, you should target 4.2.2 or 4.3 as your development environment. Most "modern" devices support at least 4.3 or higher although there are still some users stuck on 4.2.2 because their enterprise (or provider) won't release the update.

This means you'll want to use either the JDE 4.2.2 or the JDE 4.3.0 for developing your app. Keep in mind that for Storm (touchscreen) development you'll need to use the 4.7.0 JDE unless you want to run in "compatibility mode" (which sucks).

In terms of development workflow, the Eclipse plugin provided by BlackBerry works quite well, and BlackBerry provides fairly decent simulators for testing out your app's UI, memory usage, etc. but they cannot simulate all the elements of a real device so I recommend buying one or more actual devices to test on.

All of your requirements should be doable except for the audio mixing. CDMA devices in particular can only play one sound at a time due to the hardware, and I'm not sure even GSM devices could properly mix multiple audio sources at the same time.

For distribution of the app, the App World is the easiest way to do things, but there are other sites too such as crackberry.com that offer storefronts for selling your app.

Marc Novakowski
+1 Marc, I get lot of new info. But could you complete it with several links, at least for CDMA audio mixing issue? Thanks!
Max Gontar
All of my suggestions are from personal experience so I don't really have links handy to share. The CDMA information is from a RIM engineer (via email) so again there is no public information to link to. The limitation is in the Qualcomm chipset used by CDMA devices. This affects our (streaming audio) app by interrupting the music when a system alert is played (incoming email, SMS, etc.)
Marc Novakowski
Marc, thanks so much for your answer, it is very helpful. About the audio limitation, what would happen in this scenario:- The user is playing music with the built-in BlackBerry media player- User starts my app (the media player is still playing)- then my app plays a short audio clipCan the third party app do the following: - pause the media player- play it's sound clip- restart the media player playback where it pausedIf I can do that, then the lack of audio mixing wouldn't be a problemThanks so much!
subjective-c
Argh, the formatting for comments is terrible. That was supposed to be a list. Sorry for the terrible readability
subjective-c
If you play audio in your application, the device will automatically pause the BlackBerry media player so your audio can play. When your audio has finished playing, the user will have to go back into the media player to start it again (it doesn't auto-restart).
Marc Novakowski
Max Gontar
+1  A: 

The actual RIM developer site sucks so i'd say you're best to check out the forums, I've found the most useful to be

http://supportforums.blackberry.com/rim/board?board.id=java_dev http://www.blackberryforums.com/developer-forum/

and you'll need the api reference too

http://www.blackberry.com/developers/docs/4.3.0api/index.html

Fermin