Can RIM afford to make developers wait for BB10?

The paucity of the development tools for the BlackBerry platform let it down compared to its competitors. The improved tools for BB10 might be too late
Research In Motion has conceded its BlackBerry smartphones cannot compete with iPhone and Android
Developing software for BlackBerrys is a job for masochists. Photograph: Scott Olson/Getty

You know how sometimes you can cut the head off a chicken and it keeps running around the farmyard seemingly oblivious to the fact for years before it dies? The BB10 announcement at BlackBerry World this week reminds me of that situation. That chicken just won't die.


Most developers are familiar with Steve Ballmer's fantabulous "Developers, developers, developers!" outburst from an internal Microsoft event in 2000. It seems that RIM's management missed that memo, because if they want any hope at all of avoiding having to fund themselves using Kickstarter then developers, developers, and more developers are what they need. People who don't make money from developing software laughed at Ballmer. Windows developers, and Microsoft (which focussed with such intensity on getting developers on the platform), laughed all the way to the bank.

Say you want to write software for iOS. You buy yourself a Mac, pop over to the Mac App Store, download the Xcode IDE for free, install, and off you go. You'll need a developer account to do anything proper with it so you'll need to find £60 down the back of the sofa.

Or Windows Phone? Simple – download the SDK. Comes with a free copy of Visual Studio 2010 Express, the free version of the best developer IDE in the world. You'll need £60 and an App Hub account.

Android? Download the SDK, download Eclipse, apply quite a lot of faff and off you go. Likewise, get yourself a Google Play developer account, but you'll only need £16.

The common thread running through all of those is that they all come with IDEs. For RIM engineers that are reading this: let me tell you what an IDE is, because your toolset doesn't come with one. "IDE" means "integrated development environment". The category was invented in the late 1980s. IDEs come with things like source control integration, advanced editors, breakpoints, watch windows, and logging. Some even come with exciting application lifecycle management (ALM) features. What they're designed to do is help developers – who you like, remember? – to write software in a way that doesn't feel like having their skin sanded off.

If you want to write software for BlackBerry, you take your own text editor, some "ant" scripts they give you, and add in an infinite supply of patience.

Developing for BlackBerry

The reason why I introduced the idea of RIM behaving like a terminally over-treppaned chicken at the top of this article is that it highlights its utter lack of defined and consistent strategy for developers. The takeaway is that it has actually managed to make the story worse over the past couple of years.

Two years ago I wrote a book on developing software for BlackBerry. At the time the recommended way of doing it was to write applications in native Java (albeit a horribly limited version of Java called J2ME, aka Java 2 Platform, Micro Edition). Funny thing about that was that you did it by running your apps in Eclipse and using an Eclipse plug-in to drive the device or the emulator. Those of you who've seen Android development will recognise that as exactly what you do with Android development – you run Eclipse and drive and Android device and simulator through a plug-in.

But that's OK, because as soon as RIM worked out they need to dump their crappy home-grown browser and replace it with a WebKit-based one, they decided that they weren't going to do any native apps any more and that developers needed to use BlackBerry WebWorks. This works by letting developers build an HTML5 website and run it in a self-contained application on the device. Those of you who remember the heady days of webOS may recognise this model. Those of you still actively developing in PhoneGap/Apache Cordova may more keenly recognise it.

But that wasn't finished, which is why there are no tools, and why it's worse than it was in 2010. RIM expect developers to create these web apps from scratch, basically using a text editor, and offering no debugging or logging support whatsoever.

The emulator won't work on a Mac, only on a PC. (Apple and Microsoft are equally guilty of this, to be strictly fair, on Xcode andVisual Studio.) But what kills is that deploying the app to a device takes at least five minutes, and then when the app doesn't work there are absolutely no debugging tools whatsoever. I know this from bitter experience. Plus – and this is just ridiculous – when you sign an app to put it on your locally attached device, you have to fire off a request to RIM's servers: one request per file. A small PhoneGap can easily run into 50-100 files. You get send one email per file. On a good afternoon you can easily get a thousand emails back. But that's not annoying – what's annoying is that those servers often go down. (About 3pm in the UK for some reason.)

When that happens, you can't develop. You just have to wait..

A while back, RIM bought an emulator called Ripple from a company called Tiny Hippos. (You can download it here.) Ripple was a good proof of concept. However having RIM take it and present it to the world as in any way finished, or useful, or working, or practical, or good, or helpful is insulting to my intelligence.

The long and short of it is that there is absolutely no way that building software for BlackBerry is appreciably easier today than developing bank software was in the 1960s on punched cards.


So let's look at BB10, which was announced this week at BlackBerry World.

At some point in the summer of 2010, RIM's headless chicken-led management managed to end up at the door of QNX, which they promptly bought. QNX is a real-time operating system that RIM decided would be a good replacement for its ageing BB7 type operating systems. Its first use was in the PlayBook OS – specifically the PlayBook OS is QNX-based. This is why the PlayBook was such a disaster in terms of actually having an email client, or playing nicely with BlackBerry Enterprise Server (BES). (Why any software company that builds an operating system would scrap its own in-house OS and import a new, untried, and untested one is beyond me, but anyway.)

QNX is also the OS that underpins BB10. That means that existing BB7 apps won't run on BB10.

They have said that HTML5 is their future. I would presume then that they are expecting developers to cross-compile the WebWorks app over to BB10. You can also target QNX with C++ if you want high-performance/game software.

What we're not hearing from RIM at this point is that it's going to come up with the type of world-class toolset that its competitors have. RIM's toolset needs to be so amazingly, awesomely good, that – well, at this point to catch-up it would have to come out with something as good as Visual Studio.

I'm sure that just as RIM's shareholders were watching the BB10 announcement with bated breath, ready to cheer if only something wonderful would happen, that developers like myself were keen to hear some good news from the company. Personally, what I got was no good news. What I inferred form the announcements was more of the same – a rushed, lacklustre implementation with bits missing, and a lack of understanding and support of what developers need. I saw no guarantees that RIM's developer story would improve from where it is today, and I saw no indicators that suggest that's even on their radar.

Other bits

Other bits while I'm here…

There was talk at BlackBerry World about BB10 being an operating system that could be used in retail automotive solutions. That's stupid. Just focus on one thing. Every manufacturer has tried to do something in the automotive market; they usually fail because the risk of having to recall the cars at the cost of a bazillion dollars per mistake is too high. Stuff that runs in cars is simple for that reason.

Heins announced a revenue guarantee on App World, which at first blush seems interesting. If you can sell at least $1k worth of apps, RIM will guarantee that the cheque you receive will be at least $10k. (So sell $9,999, you'll get a dollar extra. Sell $10,001, you'll get nothing extra. Perverse incentive?) It's a cute idea, but with a faint tang of desperation. To be clear, $10k will buy you between three and four weeks of developer time – and that's the way to look at it. However much time you put in to a project, they'll pay for one man-month if the revenues turn out not to be very good. It looks good on paper, but is clearly aimed at the cottage industry developer. Is it enough to divert one of them off of a less risky platform? I doubt it.


RIM's developer story over the past two years has darted around like a headless chicken. "You use J2ME!", "Now use HTML5!", "Now you can use Android!", "Now you can't use Android as we said you could before!", "Now use Flash!", "Now we've got a new OS, so cross-compile everything!", "Now we haven't finished that OS but here's a device that's basically it but not quite because we haven't decided!"

Being in a state and running around like a chicken with your head cut of isn't a problem in itself. Microsoft, Apple, and Google are hard to track in this market, but at least you know where they are. Being a developer and dealing with RIM is like having a duel with someone in the middle of a raging battle.

BB10 might be interesting – but it, and RIM, don't have a chance unless they start treating their developers better.

Note: the headline and standfirst beneath it have been changed from the original version. The headline said "If RI wants developers on BB10 it needs better tools" but further details have since come to light.


Today's best video