RIM PlayBook AIR SDK Beta

RIM's Playbook, the "BlackBerry Tablet", is one of the most anticipated devices of 2011. Announced at RIM's developer event last September, it's a dual core ARM device with a 7" screen, running the QNX micro-kernel real-time OS.

RIM's Playbook, the "BlackBerry Tablet", is one of the most anticipated devices of 2011. Announced at RIM's developer event last September, it's a dual core ARM device with a 7" screen, running the QNX micro-kernel real-time OS. With the intention of attracting as many developers as possible to a completely new platform RIM has indicated that there are going to be several ways to deliver applications to the new device.

One option will be to use POSIX-compliant C and C++ code, with OpenGL for graphics. Another will be to use the familiar Java and HTML/JavaScript/CSS development environments used by existing BlackBerry developers. Perhaps the most interesting option is PlayBook's support for Adobe's AIR cross-platform runtime – something that's baked deep into the PlayBook OS, and is being used by RIM to deliver the PlayBook's UI.

Adobe and RIM have worked together to give AIR deep integration with the PlayBook's QNX OS, with the PlayBook getting its own API baked into AIR. That's good for the PlayBook, as it means that key functions are deeply integrated into the run time, and applications won't need to use lowest-common denominator options. It's not so good for developers or applications, as it means that to get the best performance on RIM's tablet you're going to need to write a PlayBook-specific version of any application. RIM obviously believes the trade-off is worth it, but it does make it harder to deliver cross-platform applications that work on a wide selection of different tablet OSes.

A beta version of RIM's AIR SDK for the PlayBook has been available for a month or so, with beta 2 just released (along with an updated version of RIM's PlayBook simulator – a single core x86 version of the tablet's QNX OS running in VMware Player). You can use the SDK alongside Adobe's free AIR SDK using Adobe's command-line tools, but it's not really an appropriate way to build visual applications. We'd recommend the other option, using Adobe's Flash Builder development framework. Beta 2 fixes many of the issues with the original release, including adding support for 64-bit Windows. You can also use Macintosh and Linux as development platforms.

Developing AIR applications for PlayBook in Flash Builder 4

Once the PlayBook SDK is installed in Flash Builder (both 4.0 and the still in beta 4.5 are supported) you can start building your PlayBook applications. If you've worked with Adobe's Flex framework and Flash Builder you'll find it easy to work with RIM's SDK. The PlayBook specific AIR classes are easy to use, and you can use your existing development techniques to build and write code. Unfortunately at this time only ActionScript is supported, so you won't be able to use Flash Builder's MXML UI design tools or any MXML components. We were able to build a simple Hello World-style application in just a few minutes following the instructions on the RIM developer portal, and were also able to port an existing AIR-based web services client to the PlayBook simulator very quickly (once we removed its dependency on MXML).

The PlayBook simulator used to test AIR applications

This is still very much a work in progress, and at this point the SDK is perhaps best thought of as a tool for porting existing AIR applications to the PlayBook. Several key device APIs are still missing, including geolocation and access to the device camera and microphone. This will limit the type of application that can be developed at the moment. However RIM is rolling out updates at a fair pace, and we'd expect these to be supported in the near future, with appropriate hooks in the simulator for testing purposes. It's well worth signing up for the PlayBook developer announcement list to get information about new releases.

Applications are packaged as .bar files, and you can use the VMware-hosted PlayBook simulator to test them out. RIM provides full instructions for using the simulator as a debugging tool from inside Flash Builder (and also manual installation and removal instructions if you're using a text editor). Using the simulator is easy enough, but real testing needs real hardware, especially if you're using touch and gesture in your applications. At this point the simulator is a bare bones tool, with none of the RIM-bundled applications that you'll find on the finished hardware. That does make it difficult to develop applications that integrate with the BlackBerry PIM stack – one of the strengths of RIM's smartphone platform.

Developers need more than tools, especially when getting to grips with a new platform. Good documentation is important, and RIM is off to a flying start with its online documentation for its AIR extensions. It's not surprising, given the quality of RIM's existing Java documentation (and there's a certain similarity in the structure of the site that documents the QNX-specific AIR commands). You can drill down into the available packages, classes and the resulting properties and methods. Some UI components have images of how they'll be rendered on the PlayBook, letting you choose what you want to use in advance. There's additional documentation on Adobe's site, including support for developers transitioning from Java to ActionScript.

RIM's online documentation for the QNX-specific AIR classes

If you're looking at working with PlayBook, then you really need to have downloaded the SDK. It's easy to use, and gets you started quickly. If you're new to Air and Flex, Adobe provides trial versions of its Flash Builder, so there's no financial risk, either. Once your applications are ready to share with the world, you'll find that RIM's already taking submissions for the PlayBook section of its App World online store, and as an added incentive early submitters will be given free devices to test their applications.

RIM's PlayBook AIR SDK is shaping up into an effective tablet development tool. It's definitely beta code, with the lack of a visual designer the most obvious feature currently missing, and several key API features have yet to be implemented. Even so, there's plenty here to get you started, with excellent support from RIM's developer relations team (including a series of very useful webcasts).

Simon Bisson