RIM's apps revolution swings on Blackberry 10

BlackBerry Devcon Europe "I'm a Java developer. What can I do to bring my apps over to BlackBerry 10?" asks an attendee at BlackBerry Devcon Europe in Amsterdam this week. The answer comes back: "Rewrite your code."

The exchange illustrates how deeply RIM is changing its mobile platform: from the Java-based BlackBerry OS used in current smartphones to the forthcoming BlackBerry 10, based on the QNX embedded operating system that RIM acquired from Harman International in 2010.

There are parallels with how Microsoft abandoned Windows Mobile in favour of Windows Phone and Windows 8 "Metro", and with Nokia's dramatic adoption of Windows Phone as a replacement for Symbian and Meego Linux in its smartphones, announced last year. RIM has chosen revolution not evolution for the next generation of its devices.

That revolution has not gone smoothly. The PlayBook tablet, the first QNX device, launched in Spring 2011 but has sold poorly, so much so that RIM announced in December a provision of $485m for writing down the value of unsold PlayBook inventory. Last month the company also appointed a new president and chief executive officer, Thorsten Heins, following disappointing results.

The company is on the road to BlackBerry 10, explained Heins in the opening keynote at Devcon Europe. BlackBerry 10 is when QNX comes to new smartphones as well as to the existing PlayBook tablet, and while there are no firm dates, RIM has promised that this make-or-break release will come in 2012. Developers will be given preview software well in advance, with May's BlackBerry World event in Florida a plausible moment for its release.

Don't do mention the PlayBook

In the meantime, RIM hopes to revive the PlayBook with the release of PlayBook OS 2.0 later this month. Highlights of this release include a new universal inbox for email, Facebook, Twitter and LinkedIn, so that users will no longer require a BlackBerry smartphone to get email. The update also adds the ability to use a BlackBerry phone as a remote controller for the PlayBook, a feature that won applause at DevCon as it lets you use the phone's physical keyboard for typing.

Developer support will be critical, so what does RIM's new platform look like? The answer is complex, since RIM is supporting several different approaches.

The first is native code. There is an existing native SDK for the PlayBook OS, but RIM is talking up its next-generation Cascades framework, acquired in early 2010 when RIM took over The Astonishing Tribe (TAT). Cascades is primarily a C++ user interface API that supports rich 2D and 3D effects. RIM has integrated this with Nokia's open source Qt framework. It uses core Qt libraries, and also supports QML (Qt Modeling Language) so that the UI can be defined declaratively alongside or instead of using C++ code. QML also has a JavaScript engine, so that some kinds of applications can be written using just QML and JavaScript.

The WebWorks angle

RIM has created an extension to the QNX Momentics Tool Suite to support Cascades development. Cascades is optimised for performance, and uses Qt's slots and signals, a messaging system that avoids multi-threading issues and should ensure a responsive UI. RIM is positioning Cascades mainly for applications rather games, and will supply around 30 core controls. Cascades is the native framework of BlackBerry 10. So far though developers have only seen demos; the Cascades SDK is not yet in public beta.

Next comes WebWorks, which is RIM's cross-platform play. WebWorks is a set of extensions to Apache Cordova, better known as PhoneGap, which gives apps written in HTML and JavaScript access to BlackBerry 10 system APIs. There is no IDE as such for WebWorks; developers use whatever tools they prefer for building web applications. RIM does provide a tool called Ripple that lets you test web application while simulating devices of various sizes as well as inputs such as location sensors. WebWorks supports all BlackBerry versions back to 5 in some measure, though it is better with BlackBerry OS 6 or 7 which include WebKit browsers, and best with PlayBook OS or BlackBerry 10.

"The web is so strong that unless you do something that you can only do in native, I don't know why you wouldn't do it using web technologies," RIM technical director Laurent Hanson told The Reg.

From AIR to Android

RIM's third option is Adobe AIR, which uses the Flash runtime for local applications. RIM itself uses AIR in parts of the current PlayBook OS, though it looks as if this will be supplanted by Cascades in BlackBerry 10. The AIR option looked good when it was Adobe's core technology for cross-platform mobile apps, but less attractive now that Adobe has stated that HTML5 is its strategic platform. "We will support AIR for as long as Adobe does," one RIM speaker said at DevCon.

Finally, RIM has implemented Android's Dalvik virtual machine, so Android apps will run on BlackBerry devices. This support is new in PlayBook OS 2.0. It is not an emulation layer, but a true implementation of Dalvik. That said, RIM is positioning this as a compatibility option rather than as a primary approach to development, mainly because it is not extensible with native code and has limited access to device APIs. Android apps will not run directly, but must be repackaged, and some will need tweaking in order to work. What does Google think of its open source Dalvik engine being used on a non-Android device? "No comment" said RIM.

Has RIM done enough to win over developers? Maybe, but it is the wrong question to ask. Developers will go where the market it, so everything depends on whether RIM can make BlackBerry 10 a success.

At DevCon, each of nearly 2,000 attendees was given a PlayBook, and Heins stated that 25,000 devices will be handed out to developers. It is a great little device, and will be more attractive once the version 2.0 with the new email client is in place. Nevertheless, the nagging question remains: how many mobile operating systems can succeed alongside Apple's iOS and Google Android? ®