My previous article explained what you need to get started with BlackBerry application development: languages, tools, and initial device requirements and costs. This article concludes that discussion with guidelines for completing your BlackBerry apps and bringing them to market. You also will learn about support options from BlackBerry maker Research In Motion (RIM), methods of delivering applications, and the carriers you can target.
Editor’s Note: For complete reviews of all the leading mobile development platforms, see the Internet.com Special Report “Field Guide to the Mobile Development Platform Landscape“.
BlackBerry Developer Documentation and Support
BlackBerry has a large and growing developer community, and you can find education and assistance directly from RIM or from other developers. You will likely spend most of your reading time with the BlackBerry Javadocs. Installed with every SDK, these documentation resources mimic the standard Java pages and include both standard Java ME classes as well as the RIM-specific classes. Documentation tends to be fairly good, although you won’t find much big-picture help here.
The BlackBerry Knowledge Base is a very under-appreciated resource for developers. Tucked away within the RIM website, this collection of useful articles provides handy code samples and thorough explanations of many common issues. If you’re wondering why you can’t send an SMS on a CDMA network, or how to open a Wi-Fi connection, look here first for an answer.
RIM also hosts community developer forums. The contributors are bright and helpful, and odds are good that some other developer has posted a question regarding your specific issue in the past. Best of all, official RIM representatives who can provide definitive answers to your questions frequent the board. It’s especially helpful to learn that, for example, a particular API is broken in a given software version, or that a preferred workaround is available.
For more formal support, you can consider registering with RIM as an Independent Software Vendor in their BlackBerry Alliance Program. RIM accepts applicants who meet certain threshold requirements and charges an annual fee. In return, Alliance members can receive dedicated technical support from RIM, access to handsets, early access to future software, etc. Large, established companies benefit the most from joining the Alliance.
Delivering Your BlackBerry Apps
RIM supports a very open distribution model, with a wide variety of channels available for sending our your app.
Historically, many BlackBerry apps have been cable-loaded. You can send the actual binary to your customers in the form of an ALX and a COD file; they, in turn, will use the BlackBerry Desktop Manager to install the app. This method works especially well for freeware or for distributing private betas. No DRM is involved, and you will be responsible for collecting any fees yourself.
Like other Java ME platforms, BlackBerry devices can also install apps through the browser. If you place a JAD file and COD files on a server, users can browse to the JAD file location and install the app over the air. This method also works well for free software, although you can place billing support within your app or try to hide the JAD behind a paywall.
Content aggregators such as Handango can help simplify the process of app distribution. In exchange for a cut of your revenue, they will host your application and offer it for download through their own distribution apps and agreements with wireless carriers. A content aggregator can be a good choice for a paid application from a small developer.
Because of BlackBerry’s tight integration with corporate IT systems, it offers a unique choice of pushing applications to devices. BlackBerry IT administrators can deliver an app to everyone in their organization. This method works very well for vertically-integrated applications targeted at specific institutions.
The most visible distribution portal today is RIM’s BlackBerry App World. This catalog has over 7000 apps and continues to grow. While offering fewer apps than the Apple App Store or the Android Market, BlackBerry App World does have the advantage of working across all carriers. App World works well for free and commercial applications, but does require buyers to use a private PayPal account. Unlike other app stores, though, you cannot offer a paid app for less than $2.99. To incorporate DRM you just need to make some minor code changes to your client.
Finally, some carriers offer branded app stores for BlackBerry app distribution, such as Verizon’s V CAST Apps. While these catalogs are smaller than App World and don’t reach as many consumers, they are very visible to users and offer the convenience of carrier billing, which lets users purchase apps and add the cost to their monthly phone bill. These portals also work well for commercial applications, although free apps are usually supported as well.
Carriers for BlackBerry Devices
BlackBerry devices run on all major US wireless carriers and most major global carriers as well, although the devices have not yet caught on as strongly in Japan. The exact models available vary, depending on the carrier’s technology and policy. The table below shows a partial list.
As you can see, some devices overlap between different carriers, while others have exclusive models. Depending on your strategy, you might choose to develop for one model and multiple carriers, multiple models on one carrier, or multiple models for multiple carriers.
BlackBerry has over 41 million subscribers worldwide with more than 15 million in the US. Unlike most other smartphones, a significant number of BlackBerry users acquire their phones through their work, and are served through a BlackBerry Enterprise Server (BES). While the BES may use, say, T-Mobile to provide cellular coverage, the user’s data will be sent through the company’s secure IT firewall. It’s important to keep this situation in mind because BES users of your app will operate in a very different infrastructure than regular consumers, and may encounter bugs that others do not.
Most carriers require BlackBerry users to purchase special data plans for their devices. These are often a variation of the BlackBerry Internet Service (BIS) offered by RIM. The BIS offers consumers push email and other features similar to those offered to corporate users. In the United States, BlackBerry plans almost always offer unlimited data or a high ceiling at a flat rate. Prices vary by carrier and plan, usually in the neighborhood of $30/month for a basic data plan.
It’s important to note that GSM carriers usually will allow consumers to use any plan with a BlackBerry by swapping in a SIM card, but certain BlackBerry features may not work if the SIM does not have a BlackBerry plan. Because you cannot determine the data plan on the client, apps that use Internet connections usually contain a disclaimer that warns the user that they will be charged for their usage. Also, devices with Wi-Fi antenna can access the Internet even without a data plan.
Target Audience for BlackBerry Apps
BlackBerry has a bifurcated user base. Many consumers are locked in to using BlackBerry because their business requires it. Different IT groups will enforce different policies for their users; some may allow people to freely download apps, use the network, and so on. Others will restrict their users to access only approved resources.
Some BlackBerry developers write apps for a particular enterprise or for a narrow group of enterprises such as large hospitals. This approach can be ideal because you have a much more controlled set of criteria to support. On the other hand, of course, your potential audience is much smaller.
BlackBerry has been rapidly growing on the non-enterprise front in recent years, and all of its recent phones offer media capabilities and other features to attract regular consumers. These BlackBerry users tend to be fairly savvy and select these devices for their email and Internet capabilities.
BlackBerry supports fairly easy internationalization as well. If you keep localization in mind as you write your app, by externalizing strings and keeping your graphics free of text, you can add support for other languages by simply translating your resource file. This allows you to target your application initially to, for example, English in the United States, and later roll it out to other regions.
A Word on Mobile Policy
To capture the most users, you will need to support all wireless carriers and all devices. This can be fairly straightforward for simple applications, but can add a great deal of work for more complex apps that use a lot of media or integrate with low-level device features.
If you stick with the native BlackBerry UI toolkit, you can write a single COD that looks fine and runs on all devices. This approach may be best for utility applications or business-oriented apps. If you write games or entertainment apps that include a lot of graphics, you should, at the minimum, provide appropriate resources for each device screen size you wish to support. This may mean providing different CODs, but hopefully keeping the actual source code almost identical.
You will, however, need to update the source code if you wish to add support for advanced device features. For example, an app written for a touchscreen BlackBerry Storm running OS version 4.7 will not run on a nontouch BlackBerry Curve running OS version 4.5. Because carriers regularly upgrade operating systems, you may be able to eventually run on all your desired devices; however, to run on the most devices and not design to the lowest common denominator, you will need to create separate builds.
The BlackBerry Bottom Line
BlackBerry devices are powerful and capable, and their large market share makes them difficult to ignore. Consult the following table to help you decide whether and how BlackBerry fits into your mobile development strategy.
|All major carriers supported||Many different devices|
|Large number of users||Slow simulator and debugging|
|Familiar Java development||Corporate environments may interfere with app features|
|Low start-up costs||Limited protection from piracy|
|Strong integration with email and security||Older version of Java|
|Strong ties to corporate environments||Development tools slightly lag Apple’s and Google’s|
About the Author
Chris King is a senior software engineer at Gravity Mobile. He is the author of “Advanced BlackBerry Development” and a co-author of “Unlocking Android, Second Edition.” When he isn’t programming or writing for fun or profit, Chris can be found reading, baking, cycling, or hiking throughout the San Francisco Bay Area.