For nearly a year, Apple's App Store for the iPhone has stood out as the sole example of a smartphone platform that's more than a fancy way to take phone calls and look at headlines. It showed the promise of mobile devices as real computing platforms that could run some of the applications we run on our PCs, as well as a new class of mobile-savvy, location-aware programs that would redefine the mobile experience. And it provides a lot of entertainment, from fart-noise generators to mood lighting.
So it's no surprise that every other major mobile device maker has announced its own application store. Two weeks ago, Research in Motion (RIM) launched BlackBerry App World store, part of a multipronged battle plan to maximize the number of applications available for its very popular BlackBerry line of devices. (More than 50 million have been sold in a decade, though their capabilities beyond messaging vary widely.) RIM claims more than 140,000 registered BlackBerry developers (Apple's iPhone had about 200,000 a year ago, at the same stage of the platform's availability for third-party development), and RIM says that about half of BlackBerry applications are used for enterprise purposes and the other half for consumer applications.
[ If you are thinking of developing mobile apps, read InfoWorld's comparison of mobile app dev platforms first. ]
The four options for BlackBerry app development
RIM's multipronged plan gives developers something to ponder, leaving them with several choices to make on whether to use standardized technologies (such as Eclipse Pulsar, a planned platform for unified mobile app development) or more platform-specific RIM capabilities. RIM has four such methodologies for developers to consider:
- Using RIM's proprietary APIs to develop Java applications for only the BlackBerry. The APIs include those to handle touch capabilities as well as device-shifting modes, in which the unit can operate on its side, for example -- iPhone-pioneered capabilities finding themselves into some BlackBerrys.
- Using MIDP (Mobile Information Device Profile) and CLDC (Connected Limited Device Configuration) libraries to build cross-platform Java applications. MIDP was not designed for any specific handheld, so developers have to abstract away parts of development, such as use of a trackball. (MIDP has no concept of a trackball, an essential interface element in most BlackBerrys.) But MIDP applications can be migrated to other platforms, says Mike Kirkup, manager of developer relations at RIM.
- Doing rapid application development using the familiar Visual Studio or Eclipse and leveraging Web services.
- Developing Web-based apps for the BlackBerry using the tool of the developer's choice. A popular approach for iPhone developers as well, "the downside, of course, is that you have to operate within the existing browser environment," Kirkup notes, and not use device-specific features.
Java-based applications offer developers the flexibility to configure what every pixel on the screen looks like and makes it easier to tend to networking and local data storage tasks, Kirkup adds. But he acknowledges it is harder to write a Java application than to develop Web or Web-services techniques.