On Thursday I tuned in to RIM’s Webcast on the Playbook’s Native SDK (NDK). As a BlackBerry developer my goal was to get a feel for the various ways you can make apps for the Playbook and also get a sense for the kinds of apps that are possible on it. Here is what I found.
Let’s start with the positive. In addition to all the QNX goodness like file access, networking, sockets and what have you, the NDK will provide access to all current BlackBerry Tables OS stuff (eg. SQlite, OpenGL, etc) as well as the BlackBerry platform services like Payment and Advertising SDK. Developers will also have access to the BBM social platform at some point so you can do cool things like BBM with your friends while playing Quake 3 in multiplayer mode or have a games with additional levels that get unlocked through an in-app purchase. Very cool stuff. The caveat here is that while the intention is to provide access to the BBM social platform soon it doesn’t sound like it will be available in the first release but please stay tuned.
The NDK will be available first in a public beta sometime this summer and then in a ‘gold’ release during DevCon 2011 in the fall. RIM promised the gold release to be available on both Mac and Linux in addition to Windows. The tooling will have live debugging and profiling capabilities built in and will be available free of charge.
So what kinds of apps can you make with the NDK?
For those of you looking to port your native BlackBerry Java apps and code to the PB, the NDK is not the way to go. That’s because in this case by ‘native’ RIM means C/C++ so unless you have a magic compiler that takes your J2ME/CLDC Java code and spits out C (POSIX-compliant at that) you should look elsewhere. What I found very odd is that the NDK does not provide a UI toolkit and the RIM rep said they have no plans of making one available any time soon. Hmmm. So unless you are comfortable writing your UI from the pixel up or in OpenGL, or have the time on your hands to port something like the popular UI framework Qt to the Playbook then the NDK is probably not for you. From the looks of it, RIM’s approach on this one is to leave things to developers at first and see what comes out of it (my prediction: not a whole lot of native apps that are not games, at least initially).
My take is that the NDK is intended for game makers and the likes of EA trying to port their games over to the PB (which would be awesome imo). Or for someone like Netflix or Samsung who want to stream all kinds of media over Flash or bring over their own native C codecs. Or a large medical software company who already has a ton of legacy *nix C/C++ products and its own proprietary UI libraries. But if you are a making the everyday kind of business-centric applications, you know like the ones that have a UI and don’t require you to port code libraries the size of Texas just to say “Hello World”, then there really isn’t a whole lot to be excited about here.