KICK START J2ME(tm) Development with BlackBerry(r)
Challenges and Considerations
Some of the challenges and considerations when developing for BlackBerry devices are:
- Display—This is nothing new to those of you already developing with J2ME. Screen size varies from model to model. Also, the older models are black and white and the new models are in color.
- Form Factor—This is definitely a big factor. You must consider the way in which a user interacts with a BlackBerry. The main input devices are the track-wheel and the side escape key. You application must utilize and should conform to how the OEM application uses these devices so, from a user's point of view, he/she doesn't have to adjust to your application. For games, there are no arrow keys or soft keys; instead, there is a full keyboard for the user to use. You'll need to do some testing to determine which keys will best suit the user.
- Target Audience—In general, most BlackBerry users are business-oriented people, so you may want to give some thought as to what type of game/application you will develop for the BlackBerry. Obviously, market research is needed in this area.
- Different OS—In some instances, I've found different OS versions on the same model produced different graphic outputs, such as fonts. This makes sense considering the Font library uses what is available in the system. So, that is something to take into consideration as well.
- Different networks—This may or may not have an effect on your application, but beware of network protocols such as CDMA, GPRS, and iDEN.
Hints and Tips
- Obfuscation—The JDE doesn't seem to directly support obfuscation. You'll need to obfuscate the application/game outside the JDE. Afterwards, create a new project and drop in the JAR file; this will then create the appropriate obfuscated .cod file.
- HTTP Connections—When simulating network calls, you need to turn on the MDS (Internet gateway server). You'll notice that it's nothing more then a customized Tomcat. However, do not try and run your server-side code on it; this it won't work. You'll need to run another instance of Tomcat or another server on another port other than 8080.
- Referring to the last point, if you decide to use the BES in production, your HTTP calls should be fine; however, if you decide not to, you will need to specify WAP Protocol information. Please consult the developer guide for more information. You will have to contact specific carriers if you want support to obtain the exact WAP information. Some carriers do list this information on their Web sites.
- Desktop Software—The end user may have problems installing your application via cable because the Desktop Software that came with their purchase is out of date. They will have to visit their carrier's Web site for the latest download.
Well, I hope I tweaked your interest in developing for the BlackBerry. No, they aren't paying me to promote them. I just think that the more devices your application/game can support, the more opportunity there is for you to hit a wider user base and, if you're in it for money, the more revenue opportunities.
About the Author
Jason Lam is a wireless and open source developer enthusiast who enjoys creating synergy and sharing knowledge in the software development world. To learn more about him, visit his personal site at http://www.jasonlam604.com.
Page 2 of 2