BlackBerry vendor RIM worked to distract from its weak future guidance by announcing that its upcoming Playbook tablet will indeed run Android 2.3 apps as was previously rumored.
RIM on the hot seat
RIM announced decent smartphone sales and revenues that were just under analysts' expectations. However, its future guidance was disappointing. "Shocking might be too strong a word, but it was very weak," said Matthew Thornton, an analyst with Avian Securities.
RIM faces increasing pressure from Apple's iPhone and vendors of Android-based smartphones, but it also hopes to enter the market defined by iPad last year, and has hoped to do so with its Playbook.
However, as Apple's iPad had gained momentum with users and developers, RIM hasn't said much about how Playbook will really work. It has previously talked about running native C apps, web-based apps, Adobe Flash and AIR apps, and rumors have suggested that the company is also planning to support Android smartphone apps.
RIM has finally officially announced that its Playbook will launch both existing BlackBerry (Java) apps and Android 2.3 apps (based on Google's Dvalik VM, similar to Java) through "app player" runtime environments hosted on the Playbook within a secure sandbox.
The company also reiterated that it would be launching a native C/C++ development environment for the new tablet, along with both web-based and Adobe Flash/AIR-based development environments.
Previous rumors about how RIM might implement Android app support suggested the company was concerned about Oracle's patent and copyright suits against Google's Android, and suggested problems in RIM being able to cultivate native development if it were also already possible to simply run Android titles.
Seeing what sticks
RIM's Playbook development plans sounds similar to Apple's efforts a decade ago to launch Mac OS X with a mix of Carbon, Classic, Cocoa, Pure Java and BSD environments, each hoping to attract development attention.
Apple discovered that users didn't like to run their existing Mac apps in the Classic "Blue Box," and found many developers were not too excited about porting their existing apps to the company's new Cocoa APIs derived from NeXT. It also received very limited interest from all its work to host a Java client environment.
With Mac OS X, Apple was forced to rethink its initial strategy, focusing first upon delivering an immediately useable Carbon API that could support existing code with only limited changes while aiming to eventually shift developers toward its long term solution in the more elegant and modern Cocoa.
When it began working on its mobile iOS platform, Apple delivered one unified API: Cocoa Touch. It offered no support for old Carbon apps, skipped Flash and Java entirely, and also made no provisions to support existing mobile APIs including Nokia's Symbian, Qualcomm's BREW, Microsoft's Windows Mobile and the Palm OS.
The result was that all of the interest in the iPhone was funneled directly into new Cocoa Touch apps, creating a large population of developers savvy in building apps with Apple's tools, which are largely shared with its Mac OS X platform.
One of each
In trying to support everything, RIM will likely find just the opposite: that developers who already make Android apps will find their existing "support" for the Playbook satisfactory, and won't be likely to do the work needed to deliver a native app. RIM is also banking on web apps, much like HP's webOS strategy and Google's Chrome OS, which may likely become in general terms the second most popular way to deliver apps.
Apple also supports web apps on its own iOS devices, recently being ranked by web development tools vendor Sencha as offering "a top rate, no compromises HTML5 browser" in contrast to calling Android 3.0's browser "not ready for primetime, even for HTML4."
Even so, users have demonstrated a clear preference for native iOS apps, largely ignoring attempts by developers (including Google Voice) to deliver their apps via web apps until a native version appeared.
Rise of the microkernel
How well RIM's support for multiple mobile app platforms works will be interesting because the company says its "BlackBerry PlayBook and BlackBerry Tablet OS are built on the QNX Neutrino microkernel architecture with a 1GHz dual core processor and a leading OpenGL solution, which allows RIM to make this incredibly broad platform support possible."
That effort echos the plans of Apple, IBM, Microsoft, and others from twenty years ago, when the world was transfixed by the utopian potential of microkernels to host multiple OS personalities.
In the early 90s, Apple initially hoped to host its Mac OS environment on top of a new Taligent kernel alongside IBM's OS/2 and AIX. Microsoft planned to host Windows, OS/2 and Unix personalities on top of its NT kernel. Both efforts were dramatically scaled back as microkernel technology failed to live up to its initial expectations.
Steve Jobs' NeXT also used a microkernel design, but in a hybrid configuration that didn't run into many of the same issues. Apple's Mac OS X continues to use NeXT's hybrid BSD/Mach kernel, but does not host multiple OS personalities on a single kernel, instead implementing support for Carbon, Cocoa and BSD app environments in the higher level userland environment.
For RIM, the microkernel task will be much easier than 20 years ago because of the relative simplicity of hosting Java apps (particularly simple mobile applets one might encounter on a smartphone), and the similarity of Android and Java apps. The larger problem will likely be whether users will find running the relatively limited libraries of BlackBerry and Android apps all that useful on a 7 inch tablet, as opposed to the more than 65,000 native, iPad-optimized apps Apple already offers for iPad users.