App Developers Meet BlackBerry 10

If the BlackBerry operating system’s declining U.S. market share suggests it’s become irrelevant, a lot of developers apparently disagree. Over the past year, the number of BlackBerry apps grew by 220 percent — up to 80,000. Research In Motion’s (RIM) developer events such as BlackBerry Jam frequently sell out, including a recent one in Santa Clara, Calif., the center of the Android and iOS universes.

One optimistic developer is Gameloft, which is developing 11 BlackBerry 10 games. And Truphone, a mobile VoIP provider, has spent the past few months developing a BlackBerry 10 version of its app.

“Overall, we’re optimistic about BlackBerry 10 because it’s a solid, high-quality technology choice at all levels of the stack,” says Adam Linford, head of Labs and Mobile Applications Development at Truphone. “As engineers, we appreciate that. As a business, we recognize what will make it more attractive to
content and service providers. RIM is also bolting together an ecosystem platform that enables developers to make money.”

For those developers who are still on the fence — including ones that have never developed for BlackBerry — RIM is trying to make it easy to give the new OS a test drive. “If you’re a Java developer, you can explore BlackBerry 10 through Android,” says Larry McDonough, RIM’s BlackBerry developer evangelism manager. “If you’re a native C and C++ developer, you can explore it through our native SDK. If you’re an AIR or Flash developer, you have the best AIR Flash platform in the industry in mobile. Whatever your skill set, we have the tools and the platform for you to easily come explore BlackBerry 10.”

BlackBerry10: What’s Under the Hood?

Some developers say that BlackBerry 10 addresses problems that have dogged other BlackBerry editions.

“Previous versions of the BlackBerry OS have been based on the J2ME platform,” says Linford. “Whenever you have a runtime environment like that, you have two options when developing for the platform: Use the APIs that the manufacturer provides, or write native code and write your own APIs to ‘glue’ it into the runtime environment from the native OS — if they let you. RIM did not, and so you were reliant on the APIs that they gave you within the runtime.”

In Truphone’s case, the tradeoffs included less control and performance. “This was a massive problem,” says Linford. “Real-time communications require a high-performance system, and the APIs that RIM provided in this area were not comprehensive.”

Developing for BlackBerry 10

Changing those kinds of fundamental elements is one example of why BlackBerry 10 is a brand-new OS rather than a point upgrade. But for any OS vendor, a challenge in creating a new platform is finding the right balance: It has to be innovative enough to stand out from the pack, but it can’t be too revolutionary, lest the learning curve turn off many developers.

“The biggest difference is in two parts,” says Linford. “First, the ability to write native code for the OS on BlackBerry 10. Second, that the native OS supports
many of the standards and patterns that are common to existing operating systems.

“Being based on QNX, the system is very UNIX-like, which means it’s friendly to software that runs on existing Linux systems and BSDs, including OSX, iOS and Android. As a result, for those folk that have already got native code on those platforms, the process of porting is massively simplified.”

BlackBerry 10 is a microkernel architecture that loads its device drivers at runtime. By comparison, Android has monolithic kernel architecture. “Developers will be able to write more native code they can ship as an app that will change how the BlackBerry 10 system works,” says Linford. “On Android, to change fundamental parts of the system, you need to release your own version of Android itself. That could lead to some interesting applications that will have a greater adoption on BlackBerry 10 compared to Android, given the easier means of distribution and better user experience for deployment.”

Other aspects of BlackBerry 10 might be tougher for some developers. “The big switch will be memory management and garbage collection, which you have to do with C++ in BlackBerry 10,” says Linford. “Previous versions of the OS were all accessed via J2ME, and Java handles all that for you. You get more control with BlackBerry 10, but along with that comes added complexity that previously a developer wouldn’t have to worry about.”

The Principles Behind BlackBerry 10

RIM used five principles to create BlackBerry 10. Some of them should look familiar to PlayBook developers because they’re adapted from the 2.0 version of that platform.

One example is “Content is king.” RIM gives developers access to the entire screen instead of making elements such as status bars fixed and off limits.

“Every pixel on the screen is presentable and usable by the developer,” says McDonough. “Then, content plays the primary role.”

RIM combined this principle with another — “multitasking as second nature” — in the “peeking” feature, which aims to balance full-screen usage with the fact that other tasks occasionally will require the user’s attention. For example, when users hear an alert chime while composing a message, they can peel back a corner of that screen to see if it’s something that they need to deal with right away.

If so, they can click on it and not lose the message they were composing. When they do, another principle takes effect: “fluid workflow,” in which clicking on something in one app causes something else to launch. “We enable developers to implement those kinds of automatic invocations of other applications very easily and cleanly,” says McDonough.

Will these developer and user features be enough for BlackBerry to recapture market share? The answer won’t come until after the first quarter of 2013, which is when the first BlackBerry 10 devices will hit the market. But it’s worth consideration by developers who are looking to stay ahead of the curve.