BlackBerry Apps Will Run On The BlackPad

There is a lot of speculation in the press these days over next week’s rumored launch of the BlackPad tablet at the BlackBerry developer conference. There seems to be a lot of hang wringing over the fact that the BlackPad is going to run QNX, an operating system that RIM acquired not that long ago. For example, PC World says:

If the BlackPad is real, then RIM has placed itself in a precarious position of launching a new product and a new operating system without much infrastructure in place. That must change quickly if RIM intends on holding on to its marketshare and creating desire for its latest invention.

But I don’t think it’s as bad as people are making it out to be. Here’s my prediction: BlackBerry apps will run on the BlackPad, even if QNX is used. This is total speculation on my part, but it’s the only thing that makes sense.

Why do I know this would work? Two reasons:

  • Java-based virtual machine (VM): In the earliest BlackBerry models (going back to the Inter@ctive Pager days) everything was written in C++. But when they decided to move from an Intel 386 chip to an ARM chip that caused problems and going forward they wanted to insulate developers from the low-level hardware details. So they slapped a Java layer between the hardware and the apps, using their own custom-built Java-like VM. (It’s not actually a JVM, by the way, it has its own set of bytecodes and you have to transform normal Java bytecode into BlackBerry VM bytecode before an app can be loaded. This is the same programming model that Google adopted for Android, so I guess even the Google guys thought it was a good idea.) BlackBerry apps are written in Java. You can’t write native code for the BlackBerry. Even most of the built-in apps (Phone, Mail, etc.) are themselves written in Java.
  • BlackBerry Built-In: A few years back, RIM launched BlackBerry Built-In, basically a way to run BlackBerry OS (the Java infrastructure + the built-in apps) on other platforms like Windows Mobile.

So, let’s see: developers already write their code in a hardware-neutral manner using Java, and the BlackBerry platform itself has already been ported to other operating systems…. so it’s not a big stretch to see QNX as just another OS target on which to run the platform. Sure, lots of low-level device drivers and so on to write, but once you get the BlackBerry VM running and all the necessary Java APIs implemented you can run BlackBerry apps right on the BlackPad.

Now I could be totally wrong on this! Maybe RIM will introduce a completely new platform based on QNX. Or maybe it’s both: a new OS that combines BlackBerry Built-In so that existing BB apps will run on the new OS. I guess we’ll see next week!

Update

Wondering about BlackBerry Built-In? RIM has pulled most of the information about it from the web, but a few tidbits survive. It was launched in 2005 and listed in the RIM corporate history document. Siemens actually released a phone, the SK65, that had BlackBerry Built-In, ah, built-in. See these reviews of the SK65: engadget, CNET Asia, ZDNet UK.

The ultimate description comes from a Spanish version of a BlackBerry Knowledge Base articles (KB03983) which is no longer available in English but I did find a copy here. To quote:

BlackBerry Built-In technology enables leading manufacturers to incorporate popular BlackBerry® applications into their mobile phones and handheld devices, in addition to supporting push-based BlackBerry wireless services. BlackBerry Built-In devices provide a full suite of applications similar to those found on any BlackBerry Wireless Handheld

Obviously, RIM abandoned the BlackBerry Built-In program. But, as I said above, the fact that they were able to do this in the first place means that getting the BlackBerry app stack (everything necessary to run existing apps) to work on QNX is probably a lot simpler than most people think. Still work, but not impossible…