Developing For Other Tablets? – BlackBerry PlayBook

It was over a year ago that Steve Jobs unveiled the iPad. Criticised by many as being “pointless” and “just a big iPod Touch”, it went on to sell nearly 15 million units in the first nine months. That success has heralded the dawn of the post-PC era, and now other manufacturers are finally starting to catch up and produce their own tablets – CES 2011 saw well over 100 such devices on show. The question for iOS developers is should we be branching out onto these other platforms? Over the next three weeks I’m going to take a look at the major new tablet platforms – Android 3.0, webOS, and BlackBerry Tablet OS – and take their development tools for a test drive, looking at what’s possible. And for each platform I’m going to finish with an App Store style review. First up is the BlackBerry PlayBook.

What is it?

The PlayBook is an upcoming tablet from BlackBerry. It’s got a seven inch widescreen display (1024 x 600), a 1GHz dual core processor and 1GB of RAM, which is all pretty impressive, especially when you think about how behind the times BlackBerry’s current phone hardware is. As is their phone software, which is why they very smartly bought out QNX and adapted their operating system for the PlayBook. An interesting feature of the device is the touch sensitive bezels, which mostly do app switching, but the top one is accessible to third party developers. It’ll be out in Q1 this year apparently – I’m guessing it’ll be late March if it ships on time. What’s great is the RIM want to give you a free PlayBook, just for making an app for the device! Awesome – let’s get cracking!

Restrictions

Right now there are two ways you can develop for the PlayBook – using the Adobe AIR SDK or using standard web technologies and the WebWorks toolkit. That is all. So you won’t be porting any 3D games in a hurry, unless you become one of RIM’s selected partners i.e. someone the size of EA.

Choices

So given your choice of the two frameworks, which one do you go for? It’s up to you, but personally I’m really not a fan of Flash. I’m the sort of person that has uninstalled it from their primary browser. I like AIR even less – it’s a surefire way to bring an ugly, clunky user experience to your customers. While it’s tightly integrated into Tablet OS, and BlackBerry’s own apps are written using it, it’s not the path I wanted to take. In my mind, there’s no point gaining skills in a technology that I hope is dying, and I didn’t become an independent developer to do something I hate doing. So I chose the open web standards route and the WebWorks toolkit, which effectively lets you package web apps as native apps on the device. The rest of this post talks from the perspective of using WebWorks.

The Tools

When you sign up as a developer, be prepared to enter all of your details into a lot of forms, even when you’re downloading software as a logged in developer. The documentation is OK, but pretty Windows centric and lacking in some crucial areas. There’s no specific IDE, so you’re free to use whatever web development tools you like. There’s also no stand alone simulator, so you have to use VMWare Fusion to run the simulator. I tried using Virtualbox, but unfortunately it didn’t work. The compile and run is done through terminal commands, which gets pretty clunky pretty quickly. I got to the stage where I had to run and wait for 5 different commands to deploy changes – uninstall the app, remove .DS_Store files, zip the files, compile the archive and install the app. The whole thing is an order of magnitude slower than deploying to the iOS simulator, but in theory you wouldn’t have to test things out on the simulator too much. After all, we’re effectively making glorified websites so we should just be able to test most changes in a Webkit browser and it’ll look the same, won’t it?

Wrong!

My first thought was that as I’m making an app and not a website, I should use a framework. I went for Cappucino as I liked the look of it and knew that people had created stuff for iPhone with it, so it was mobile friendly. However, the WebWorks compiler is very restrictive on file names, which caused issues. Once I got round those, however, it still didn’t work. It was at this point that I started to wonder how I would debug the app. So far all I’ve done is compile and install it to the simulator. Here’s the fun part – you can’t! The official word from RIM:

“There is currently only the command line packager, without any debugging / profiling capabilities.”

It gets better. As we’re making super-apps (I think that’s what RIM calls them), and we have access to WebKit, we can use lots of HTML5 goodies like audio and video tags, and CSS3 fonts. In the simulator at least, none of those work. Flash videos don’t even work in the simulator. There’s also no way to do any form of multitouch gestures in the simulator, and you can’t rotate the device. I guess it’s possible that it all works fine on the device, but it’s one hell of a gamble to ship something you’ve never seen work. I think you might be able to get a HTML 4 and CSS 2 compliant app to work, if you used minimal Javascript and no external frameworks. Basically make a simple website and call it an app, but that’s not for me.

Costs

All the development tools that RIM provide you with are free, and it’s currently free to sign up to the developer program, but you’ll need to buy a copy of VMWare Fusion for $50. If you’ve an individual like me, RIM require that a certified Notary verifies who you are before you can become a vendor. My lawyer friend informs me that the other option, which is to become a registered company, would almost certainly be cheaper, in this country at least.

Review

1-star, should be free! Oh, it is free? Then you should give me a free PlayBook for having to put up with such awful development tools. Oh you do? I’m still not convinced it’s worth it. While all these tools are still in beta, they are so bad that I don’t think they should have seen the light of day. If RIM are treating developers like this now, who’s to say things will get any better? And here we have a ‘vicious for RIM’ / ‘virtuous for us’ cycle, where the tools are bad so developers aren’t attracted to the platform, so apps don’t get developed for it and so the platform fails. I think we’ll see some Flash games get ported, and some BlackBerry fan-boys buy the devices themselves, but unless there is some radical change I can’t see the PlayBook being a major player in the tablet market. Which will be good news for developers, as they’ll have no reason to go anywhere near RIM’s poorly designed SDK.

Next week … webOS!

Update[0]: I contacted RIM regarding the whole notarised deal. Here’s what they said:
Me: As an independent developer I can afford neither to become incorporated, nor to get a notary signature. Could you explain the reasoning behind this?
RIM: We require our vendors to be 18 years of age or older. This is why we require a notary form.
Me: Is there not a way of proving that I’m over 18 other than spending £200 on a lawyer? I could send you a copy of my drivers license?
RIM: We do not except photocopies unless they are notarized. You can try a local bank or family doctor to see if they will notarize your documentation.
Me: OK, but what you ask for is a certified notary i.e. someone legally authorised as a notary (http://en.wikipedia.org/wiki/Notary). Are you saying that this is not actually the case?
RIM: Correct, we would prefer a certified notary but sometimes it is difficult for people to find them so we make exceptions.

Update[1]: Seems this has become a hot topic recently. Jamie Murai details similar experiences, to which Matt Rix responds.

4 Responses to “Developing For Other Tablets? – BlackBerry PlayBook”

  1. John says:

    The signup process sounds like an absolute nightmare.

    At least you’re in though, I’m sure many developers won’t want to go through that hassle so on the good side it lessens the competition.

    The emulator though.. I don’t get it, how come Apple can write a good simulator and no one else can?

  2. Hendrik says:

    Very interesting post. Looking forward to the next one!

  3. Thomas says:

    Just a couple of quick comments:

    “All the development tools that RIM provide you with are free, and it’s currently free to sign up to the developer program, but you’ll need to buy a copy of VMWare Fusion for $50″
    If you’re running Mac, this seems to be true; for Windows and Linux, you can use the free VMWare player. Oddly, the certified notary is apparently a requirement in the UK and EU but not in the US — I’m not sure why.

    As for the rest – sounds like you made up your mind before you started. I’m developing with Senscha Touch and have had no problems; most of my testing I’m doing in a local Webkit browser, and only as I get close to release am I finding it worth it to package and deploy to the simulator. The results so far have been very consistent between the local browser and the “as a webapp” behavior on the simulator. This also alleviates most of the tedium of packaging — though of course, it only takes a few seconds to make (or search for) a batch app that makes packaging a one-line command anyway.

    You complain about the missing flash video – after saying you didn’t want to use Flash (et al) in the first place.

    SIgning up/entering data: actually you need to enter it once and check “remember my info”…

    As you mention there is concern about a subset of functionality not available in the simulator. (Specifically: Orientation, multitouch, accelerometer). On the other hand, each release of the simulator improves upon missing functionality, so it’s not like you’ll never have the tools you need. (Most of the things you’ve called out as missing, they’ve said or implied will be in the final product.) If you keep in mind that they’re building this platform even as they’re providing us the tools for it, you can’t be surprised that there are a few bumps in the road.

    Finally, you refer to the SDK as poorly designed, yet you never actually explain this comment.

  4. Luke says:

    Hi Thomas – thanks for clearing those details up. I’ve heard of other people getting on well with developing for the PlayBook, and there have been some nice looking tech demos. I guess I’m just unlucky being on a Mac in the UK! When I refer to the poorly designed SDK, I’m talking about the development tools in general, which I personally found to be substandard, particularly when used to using Apple’s. Just my experience and my opinion though.

    I was actually looking forward to making something cool and getting a free PlayBook, and I did put a lot of time and effort into it, but I just found I wasn’t getting anywhere.

Leave a Reply

Spam Protection by WP-SpamFree