Mormon Channel BlackBerry Application - deployment strategy

Mormon Channel Project Index edit

This page details and provides a consideration of the various deployment options for the BlackBerry Application.

Deployment options

Over-the-air download

  • Host JAD and COD file on web server
  • Configure the Web Server with the following MIME types:
    • COD – application/vnd.rim.cod
    • JAD – text/
  • Maximum size of COD file that can be downloaded wirelessly is 128 KB (64kb code + 64kb resources)
  • BlackBerry JDE 4.0 introduced the concept of sibling COD files
    • Parent COD file contains smaller “sibling” cod files
  • BlackBerry JDE 4.1
    • JAD file references all sibling COD files
    • No editing required
  • BlackBerry browser (BES) can handle parent cod files automatically
  • BlackBerry Internet Browser & WAP Browser need the sibling cod files extracted and JAD file updated to reference each of the sibling cod files (BlackBerry JDE 4.1 does this for you).

BlackBerry Application Web Loader

  • ActiveX web-based application loader
  • Navigate desktop to web page and load application on BlackBerry through USB
  • Reduces wireless data service charges
  • Does not require Desktop Manager to be installed
  • Requirements:
    • Windows 2000/XP (Vista wasn’t in the video)
    • Internet Explorer 5.0 or greater
    • ActiveX v8.0 or newer
    • BlackBerry USB driver
  • Required on the web server:
    • JAD file
    • COD file
    • HTML file
    • file in same directory as the .html files
  • Application requirements
    • Maximum .jad file size – 4 MB
    • Maximum number of .cod files – 12
    • Does not support MIDlets
  • Diagram of the process:


Publish application to BlackBerry App World

  • Create a vendor account
  • Submit application for evaluation by RIM
  • Application must adhere to the guidelines
  • After application has been submitted, RIM will contact regarding results and next steps
  • Supported on the following devices:
    • Bold 9000
    • Storm
    • Pearl Flip Series
    • Curve 8300 Series
    • Curve 8900
    • 8800 Series
    • Pearl Series

Desktop Manager

  • Need alx and cod files
  • To generate alx file, right-click project in eclipse and select generate alx file
  • Desktop manager loads alx file

BlackBerry Enterprise Server

  • BES 5.0 has a web interface which allows admins to log in and deploy applications to specific users or groups.

Possibly useful information

Browser detection

  • Inspect the “x-wap-profile” header for WAP browser and “profile” header for all other browsers
  • Sample “Profile” header value
  • Don’t use “User-Agent” header since the user-agent can be modified to emulate browsers
  • BlackBerry browser “Via” header will start with “MDS” – Sample – “MDS_4.1.5.32”
    • Source IP address will be BES server or proxy server
  • BlackBerry Internet Browser “Via” header will start with “BISB” – Sample – “BISB_3.3.0.45, 1.1”
  • BlackBerry WAP Browser “Via” header is present but doesn’t start with “MDS” or “BISB”
  • BlackBerry Hotspot Browser “Via” header is not present but “profile” header indicates BB device

How to programmatically read properties of a JAD file

  • Description of a JAD file
  • Describes Java ME application
  • Ensures device meets application’s minimum requirements
  • Used for over-the-air application deployment
  • Reasons for reading a JAD file
    • Configuration settings
    • User preferences
    • Device specific instructions
    • Free trial information
    • Any application argument
    • Licensing
    • Activation key
    • User ID
  • How to read a JAD file from a MIDlet
    • MIDlet.getAppProperty(String key)
    • Supported in 4.3.0 and above
  • How to read a JAD file from a RIMlet
    • CodeModuleGroup.getProperty(String name)
int moduleHandle = ApplicationDescriptor.currenApplicationDescriptor().getModuleHandle(); 
String moduleName = CodeModuleManager.getModuleName(moduleHandle);
CodeModuleGroup[] allGroups = CodeModuleGroupManager.loadAll();
CodeModuleGroup myGroup;
for(i=0; i < allGroups.length; i++)
             { myGroup = allGroups[i];
String property = myGroup.getProperty(property);
  • Supported in 4.3.0 and above
This page was last modified on 1 June 2010, at 13:40.

Note: Content found in this wiki may not always reflect official Church information. See Terms of Use.