In the ever evolving saga of weird science surrounding RIM's 7" tablet, a strange rumor has emerged regarding possible Android compatibility.
The story behind Research In Motion's (RIM) BlackBerry PlayBook and its development path in-progress got a bit weird today when Boy Genius Report reported on a rumored possible Android-compatibility mode under development at the company's evil QNX lair in Ottawa.
How would the the PlayBook be able to run Android applications? Through a native port of Google's Dalvik Virtual Machine, the pseudo-Java VM (JVM) that lies at the core of the Android OS.
Now, I'd like to point you to this article that I wrote back in May of 2009 which describes EXACTLY how RIM might accomplish this, but so that you get a complete nutritious breakfast out of this post, I'll tell you how the "FrankenBerry" might come to light, again.
At the time I proposed that RIM could do a native port of Dalvik to the the BlackBerry OS so that its smartphones could take advantage of the Android application ecosystem. However, the level of effort required would be significant, and I thought it probably made more sense for RIM just to move to an Android-based platform rather than go through all that trouble.
Flash-forward a year later to April of 2010. RIM buys QNX, an Ontario, Canada-based developer of a proprietary microkernel-based UNIX-like operating system and in September announces that it has decided to use it as the core of its BlackBerry PlayBook and eventually, future BlackBerry smartphones.
Initially, the PlayBook is to launch with Adobe AIR-based applications. Legacy support for the BlackBerry OS apps, which run on RIM's special implementation of J2ME, will come later. A "Native" QNX developer kit for C/C++ and OpenGL 3D graphics is also planned, and developers are expected to get their hands on these new SDKs, hopefully in the near future.
Still, there is the issue that BlackBerry is coming into the game as a brand-new player when the product launches, and they will be far behind in terms of application offerings when compared with the iPad or even the first 4G Android 3.0 "Honeycomb" tablets, such as the Motorola XOOM, which are due in late Q1 2011.
Based on my discussions with various developers who I have talked to, response to the PlayBook's native AIR platform has been tepid at best, and RIM's traditional J2ME developers feel pretty burned, since they've been treated as second-class citizens with the PlayBook not having Java support during the ramp-up to product launch.
A Dalvik-based PlayBook has the air of last-minute desparation about it.
Nevertheless, the ability for the PlayBook to run Android apps would be compelling -- but it would be a Frankenstein-like device, neither BlackBerry nor Android. It would be some bizarre hybrid of the two.
Porting Dalvik to QNX would be far less of an endeavor than making it run on RIM's legacy BlackBerry OS, because QNX shares the same POSIX roots as Linux does, which runs at the core of Android. Effectively, this would be no different than porting any Java implementation from one UNIX OS to another, since they use similar development toolchains.
Dalvik bytecode for ARM would just plain "run", for the most part, although there would be some platform-specific differences that could cause developers some agita when porting their apps.
And of course, only "Pure" Dalvik applications would work without much fussing about. Anything that uses the Native Android (NDK) support, such as many of the games that run on that platform and use Linux development libraries would not work out of the box unless the the required C/C++ shared libraries were ported directly to the native QNX OS.
And even if you could recompile them, there are numerous licensing issues that you might need to contend with as a developer, such as the various Open Source licenses including GPL when co-mingling with QNX code. It could get messy.
Beyond the porting challenges, there is also the issue of Java licensing. In order to stay out of Larry Ellison's gunsights, RIM would have to hand over a substantial sum of money over to Oracle to cover patent indemnification and copyrights, and I'm sure their existing Java license that they use on the BlackBerry OS doesn't cover it already.
Additionally, having Dalvik on the PlayBook doesn't ensure that it will have a library of applications to run either. It's unlikely that Google would certify the PlayBook as an Android variant in order to get access to the Android Market. I also don't see RIM wanting to play nice with Google either, since there is no way they could monetize app downloads using Google's Market.
Instead, RIM would have to build Android package support into their BlackBerry App World, and developers would have to re-submit their applications, re-packaged and tested for the PlayBook's Frankenstein Dalvik variant.
Heck, if they are going to go through all this trouble, they might as well just install a full-blown mobile hypervisor on QNX, virtualize actual Android, and call it a day.
So the question of "Is this doable" is answered -- Yes. However, will RIM actually go down this bizarro path? Who knows. Would Android application support make you more likely to buy a PlayBook over a competing device? Talk Back and Let Me Know.