BlackBerry App Developers Must Make Key Choices
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.
"Anybody who builds any real sophisticated applications for BlackBerry uses the JDE [BlackBerry Java Development Environment]. It gives us a wide range of capabilities," says Todd Christy, CTO at Pyxys, which builds BlackBerry enterprise applications for financial services and sales. The native application experience on BlackBerry offers the richest set of functionality, he adds.
The BlackBerry platform also offers security benefits for enterprises by leveraging BlackBerry Enterprise Server, through which many companies connect their users' BlackBerrys to enterprise e-mail and networks, Christy says: "BlackBerry gives you a secure tunnel into the corporate network."
How hard is it to develop for BlackBerry?
Developers questioned by InfoWorld cite mostly positive experiences building for the BlackBerry, emphasizing their use of known technologies such as Java and Web services. But not all.
For example, one mobile application development tools provider complained about the difficulty of developing BlackBerry apps: "It's actually sort of a pain, not even in just writing the code but getting builds to work," says Adam Blum, CEO of Rhomobile, which offers a platform for building BlackBerry apps that compete's with RIM's platform.
A programmer and consultant familiar with BlackBerry application development also has a mixed review of on how difficult the platform is: "It depends on what you want to develop," says Peter Wayner. "It's really pretty simple to hack together a simple Web services call, something that probably helps many enterprise developers. If you want to go beyond that, it's just like stringing together widgets and event listeners. It is just like any other Java dev project. The simulator is pretty nice, I've found."
Wayner's issue is not so much the development platform but the platform on which the apps run. RIM's interface is not ideal for some of the most physical games, he notes. Some of that is a fact of life in the mobile environment, says Pyxys' Christy, due to having a small screen to work with, cellular networks that do not always work, and limited battery and memory resources. "There are lots of challenges for any mobile platform, BlackBerry included," he says.
The Eclipse Pulsar option -- for the future
RIM also backs Eclipse Pulsar as a development platform for its mobile device. "With Pulsar, what RIM hopes to accomplish is to make a standardized (base) set of tools so that people can get started doing mobile development easier than they can today," Kirkup says. Other backers of Pulsar include Motorola, Nokia, IBM, and Sony Ericsson.
Pulsar, Wayner says, "sounds like a good idea, but I expect that each manufacturer is gong to think about their own interests."