In the Mirror, Mirror universe, Research in Motion (RIM) uses Android instead of QNX for its next generation of BlackBerry smartphones and its PlayBook Tablet. Now, there's a rumor that RIM may well add support for Android applications to its BlackBerry line on top of its forthcoming QNX operating system.
According to BGR, a RIM representative has apparently been caught on video saying "'We will also support Android apps when we release the Dalvik engine on top of QNX,' while showing off a PlayBook. Oops. The newly uncovered video was filmed at Mobile World Congress earlier this month and while we can't quite call it an official confirmation from RIM, it certainly seems to substantiate our report. Though the RIM representative mentioned Dalvik, conflicting reports have stated that RIM won't end up using the Dalvik engine, but rather a different option."
It never made a lot of sense to me in the first place that RIM would support QNX Neutrino RTOS, an embedded Unix variation, for its tablets or phones. QNX is an excellent operating system. It has a modular micro-kernel, an excellent Inter-process communication' (IPC) system, a lightweight user interface, and network-transparent distributed processing. All of which is wonderful, but it still put BlackBerry years behind both Apple with iOS and Google's Open Handset Alliance Android supporters. Can a mobile vendor really afford to start a new system so far behind its chief competitors? I don't think so.
So, it now seems that RIM agreed in part with that judgment by supporting Android applications. Now the question is how will RIM pull this off? They could, of course, just run the Dalvik Java virtual machine on top of QNX. That's a smart move as far as it goes. It would immediately give the PlayBook thousand of Android applications.
That was the good news. The bad news is that it would also tick off Oracle, a long time RIM ally, that's now locked in a patent war with Google over Android and Dalvik in particular.
A more immediate problem would be that not all Android applications would run on Dalvik on top of QNX. Performance hungry applications, such as games, often use Android NDK. This enables developers build performance-critical portions of their apps in Android's Linux-level C or C++. I can guarantee that native Android applications that use NDK functionality will either not run at all or run very slowly on Dalvik/QNX Neutrino. That would not make users happy.
So, what else could rim do? Write a customized version of Dalvik for QNX that would address the NDK problem and keep Oracle happy by paying Java licensing fees? Create an Android virtual machine that would run on top of QNX?
We don't know yet. I am sure now though that we are going to see Android applications on BlackBerry. The only real questions are: "When?" "How will it do it?" And, the really important one for both users and RIM's future: "How well will Android apps run on it?" There are interesting times ahead.