Wednesday, August 24, 2011

BlackBerry Development – A Developer’s Perspective

Don Turner is programmer and founder of UK based app development company Chonk Limited and the MusicRoom BlackBerry app.

Problems-solutions

I was honoured to be asked by BerryReview to write an article on what it’s like to be a BlackBerry developer. I have been a Java programmer for 14 years, and developing specifically for BlackBerry for the last 9 months. At times it’s been wonderful but it has also been incredibly frustrating. Below I have detailed the things which have hindered me along the way, as well as what has worked well. Hopefully this will help anyone looking to develop for BlackBerry, but most of all I am hoping my constructive criticism and compliments help RIM to create a world leading app market which developers love to be a part of.

I’ll start with those areas which I have found frustrating and feel could be improved.

The first step for most would-be BlackBerry developers is the BlackBerry Developer Zone website. Unfortunately, and there’s no polite way of saying this, it is a confusing mess of information which is difficult to digest and infested with ‘Marketing speak’.

This whole site could benefit from being restructured with a single objective in mind:

Helping new developers to create excellent apps in the least possible time

I’m no Apple fan, but Apple have got it right with their developer website. It’s clearly laid out and exceptionally well written. Also, there is a whole series of videos on best practice for developing apps. By contrast, videos on the BlackBerry Developer Zone website are few and those that are there are a few boring PowerPoint presentations with poor quality audio narratives; not exactly inspiring stuff!

Of course, RIM have a more difficult job with their four different approaches to development – PlayBook, Themes, WebWorks and Java – but this is no excuse for poorly written marketing waffle.

The BlackBerry developer forums are a bit better if you have a specific question, but the minimal involvement from RIM employees means that there are hundreds of unsolved problems and finding what you’re looking for can be a time-consuming and fruitless task.

The developer forums could definitely benefit from much more involvement from RIM employees. A higher priority should be given to registered BlackBerry developers to enable RIM to give help where it’s needed most.

I only have experience with native (Java) apps so can only comment on the set up required for this approach. The easiest set up, and the one advocated by RIM, is to install the confusingly named ‘BlackBerry plugin for Eclipse’. This is actually a bundle of Eclipse Helios (3.6) with some customizations done by RIM for developing BlackBerry Apps. You cannot download this ‘plugin’ without Eclipse, which means it’s not really a plugin but a custom IDE. If RIM could just call it ‘The BlackBerry Java IDE’ it would be a lot less confusing to new developers – who cares that it’s built on Eclipse?

If you want your app to run on a real device (not just in the simulator) and it uses the BlackBerry APIs (which it will if it does anything useful) you must have your app signed by the RIM code signing servers. There’s no easy way of saying this, these servers regularly fail. Last month they were down for 4 days, during which time it was impossible for any developer anywhere to deploy an app to a real device for testing. Such is the scale of the problem that there’s even a website (not run by RIM) to check the server status: http://www.isthesigningserverdown.com

RIM, please, for the sanity of all BlackBerry developers, remove this ridiculous process for signing apps. There are strong cryptographic techniques for allowing developers to sign their own apps. Apple do it. Google do it. You really should do it too. I know more than one developer who has quit BlackBerry development because of the extreme inconvenience caused by this problem. At the very least, next time please communicate an estimate of how long the servers are going to be down for during an outage, rather than the token post-outage apology you gave us last time.

OK, enough of the bad points! There are plenty of good reasons to develop for BlackBerry.

If you are a good Java programmer you will love BlackBerry development. Java is a wonderful language to work with – no memory management, no pointers! Lovely strongly typed variables and clearly defined design patterns. This is more of a good point of Java itself, but it was a good choice by RIM as Java is an excellent OO language, with a much easier learning curve than C,C++ and especially Obj-C.

The only thing to watch out for is that RIM uses its own modified version of J2ME which means when copying in other libraries you often have to make changes to ensure it’s compatible with the RIM runtime environment.

Coding user interface elements is also relatively easy. You can have a Hello World application up and running in around 15 lines of code.

Eclipse is a great IDE. It has loads of features which are extremely useful to a developer, including code-completion, automatic documentation lookup and my personal favourite: one click refactoring. You can also download and install new BlackBerry SDKs from inside the IDE which is much simpler than hunting around for new SDKs on the BlackBerry website and having to install them manually.

At time of writing my record for having a release approved on BlackBerry App World is 18 hours. This is a fantastically quick time to have a new release out to new users, bearing in mind that it must be tested manually by RIM prior to being approved.

The vendor portal provides some extremely useful stats about app downloads, which you can import directly into Excel for further analysis. Particularly useful information includes the device types which are most popular (so you can ensure your app runs absolutely perfectly on these devices) as well as OS versions so you can stop supporting old JREs as soon as they become obsolete.

It should be said that there are a few people who should be congratulated for providing such excellent support to new developers. These aren’t RIM employees, but are just extremely generous individuals, who strive to help new users, despite having a constant deluge of new questions. To Peter Strange, Simon Hain and all the other guys who actively answer developer questions thanks very much for your help – I salute you guys!

One of the biggest surprises for me was the immediate number of downloads of my app upon launch – over 3,000 in the first 24 hours! We’ve now had over 100,000 downloads of the free version of our app (www.musicroomapp.com if anyone’s interested) and that was in the 10 weeks since launch.

Don’t be fooled by all the doom and gloom surrounding RIM at the moment, there are around 50 million BlackBerry users who are all chomping at the bit to get their hands on high quality apps, and they have cash to spend!

That’s it. Hopefully this has been a useful insight into the trials and tribulations of being a BlackBerry developer. Happy to answer any questions in the comments.

I found these links extremely useful when developing for BlackBerry:

Vendor Portal for BlackBerry App World™ – Login

Java Development – BlackBerry Support Community Forums

BlackBerry Development – Knowledge Base

appworld.blackberry.com/webstore/

developerlife – Tutorials » Working with BlackBerry list fields – Tutorial

More on BerryReview

No comments:

Post a Comment

Comment

Comment