Blackberry realizes the fact that it landed in the modern smartphone/tablet OS market quiet late and that’s why they would like to cover-up the shortcomings by letting users run Android apps on their Playbook, which are already available in large numbers.
RIM today announced that the PlayBook will be able to run Android 2.3 (interesting that they’ve assigned an OS version requirement) applications via runtime environments that will handle both BlackBerry OS phone apps and Android apps.
Of course we would love to see them running but there are a number of problems that Blackberry would run into.
Android apps run on top of a customized Java virtual machine aka Dalvik virtual machine that is cleaner and meaner than the desktop counter part. The apps are written in Java using the Android SDK but at the runtime, these API calls are translated to call core system libraries that are written in C/C++. This is done using JNI (Java native interface). These system libraries talk provide the core functionality and often interact with the kernel that provides Hardware abstraction layer. Kernel is also responsible for interactions with the hardware. So in order to run android apps outside of the android eco-system, you would need to have the fullstack implemented. Alternatively, you can translate java calls into your OS specific (QNX here) native calls which in turn controls the hardware. But doing that is both tricky and incomplete solution.
Alien Dalvik made it possible to run Android apps on Blackberry, Nokias and its not hard to guess that as a hacker hobby, this project is way to wonderful, and its too far from being “usable”.
So where is the Problem with Running Android apps on Playbook?
- Barely any Hardware acceleration: None of the Android apps on Playbook would leverage hardware acceleration. Clearly most graphic intensive apps especially Games would run painfully slow and glitchy on the device.
- Poor Hardware support: You might not even get access to your hardware through android apps to Playbook. Even when it does, it would have slower response times, defeating the purpose. e.g. accelerometer used to play games would create an almost unbearable experience. And don’t forget that your camera, NFC, bluetooth, wifi apps (that directly talk to hardware other than for network connectivity) would not work.
- Fragmentation to a new Level: If you look closely at the some of the apps (especially games and highend apps), they have different flavors of the apps designed to run optimally on a different hardware using NDK. On Playbook, such apps would not be just slow, but also incompatible most of the time.
- More Resource hungry: The customized Dalvik that would run on Playbook would be an additional layer for the QNX based tablet device. It would crunch more CPU, memory when trying to run android apps vs. blackberry native apps. Even the RIM’s CEO agrees with this, Jim Balsillie noted that the virtual machine could have performance issues, and that games and other resource-heavy apps will want to be coded specifically for the PlayBook using RIM’s QNX platform and SDK.
- No Honeycomb support: Oh yeah, even if they plan to cover up all those drawbacks, they just actually ported smartphone apps to a tablet device, not Tablet OS/apps. Would you be ever happy with Gingerbread apps stretched onto 7″ screen?
- No Android Market: RIM will run its own android market, and will not have license to run Android Market. So it would be purely upto the mercy of the android developer to publish their app to Blackberry’s android market which would be called “App Player”. To me that sound like VMWare or Wine on Linux.
Porting a VM alone would not help Blackberry get where they want. There has to be a deeper OS-wide integration to support full Android apps. As far as we know, they have actually done a part of that with Playbook, but its not good enough for the claim. It would be much worse than running a Mac OS X inside windows using Virtualbox or VMware.
Of course we can achieve near-native experience but it would take years to have full deep down integration with Android. It won’t be as easy as RIM is touting it to be. We won’t be surprised when we get handson on one.