Forgot your password?

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 BAD

It’s difficult to get started

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.

Confusing environment set up

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?

Signing server process/outages

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.

ON TO THE GOOD

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

Writing code is easy!

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.

Great IDE

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.

Short release approval process

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.

Useful stats provided by the BlackBerry Vendor Portal

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.

A few good souls on the forums

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!

Number of users on BlackBerry App World

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.

Useful links

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

10 total comments on this postSubmit your comment!
  1. Yea, that isthesigningserverdown.com sure is useful. If only there was a BB app for it with PUSH notifications. Poor guy can’t get his PUSH credentials approved, _RIM_… *poke poke*

  2. The biggest frustration for BlackBerry development to me was the complete lack of community cohesiveness. In other words, its “every developer for themself,” and no one “in the community” is stepping up to fill the gaps in RIM’s resources that Don was mentioning.

    As an attempt to counter this, I’ve been working on an unofficial community-oriented developer Wiki:
    http://www.blackberrydev.net/

    However, I can only do so much by myself. We really need more developers to start contributing information to it.

    • The main reason for this is that BB is such a difficult platform compared to everything else, and so being the one with the answers is beneficial monetarily. If BB development is your job, then you’re not going to want to tip the scales. Android and iOS is so easy that anyone can do it, and so there is no point in being private with what you’ve learned… because chances are someone else already blogged about it.

      • This is something we hear commonly, but when we pose the question – what is difficult – we get [virtual] blank stares. Sometimes we hear “UI layout is hard” – understandable if you’re not used to do programmatic layouts. But outside of that, I’ve run across very few people who can quantify what exactly is difficult in comparison to other platforms.

        So – maybe you’ll be the first to provide a good answer: when you say it’s “such a difficult platform”, what do you mean?

        • This is why I’m actually quite happy with the second half of Don’s response. He actually doesn’t make that “usual complaint.”

          I honestly think that most of these people who bitch and moan about BlackBerry development have a severe deficiency in basic software engineering skills and/or Java knowledge. The tools don’t write boilerplate most-of-an-app code for you, so they get frustrated. Since Don actually does come across like a competent Java developer, he’s quite obviously not making those same tired old complaints.

          • I agree that Don’s comments are valid (though personally I hate the trend of using video for tutorials all over the place over the last few years – give me text tutorials!)

            I was just wondering if Fred could provide the same, or if (as I suspect is more likely) he’s just repeating what he’s heard elsewhere.

          • As always would love to have you guys give you two cents too. I think RIM needs this kind of constructive feedback.

        • I don’t need to list out reasons. Just go to the support forums. All the basic questions people ask are things that should just be intuitive on a platform. Everything is very manual. Difficulties extend beyond just APIs too. Trying to get things done once you have the code written, or even before you can write the code is included. The tools, documentation, working examples and APIs combine to make the platform what it is. I’m not saying that BlackBerry is a bad platform, I am just saying that for a newcomer it is most definitely not intuitive. And this extends into WebWorks, Playbook and the new BBM SDK as well. To a newcomer something that is not intuitive is perceived difficult.

          Things have changed in new versions of the OS, but if you are trying to build for 4.2.1 and higher, you still need to know all the little tricks.

      • Some excellent points here. Here’s my take on it. [Edited after finding the BlackBerry UI Guidelines document]

        The reason BlackBerry development is considered ‘difficult’ by a lot of people is that the whole platform (sdk, tools, docs, community) is not as well designed as the Android and iOS platforms.

        I’ll give you an example. I am also an iOS developer and when you’re getting started you’re referred to the fabled “iOS Human Interface Guidelines” document.

        This document outlines to developers exactly how they should design their apps, and why they should be designed that way. It includes all the common controls and the use-cases for each one.

        Even if you’re not an iOS developer I can recommend giving it a read: http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/Introduction/Introduction.html

        It is incredibly well written and thought out, and your app MUST conform to it if you want it in the app store.

        By contrast RIM have the “BlackBerry UI Guidelines” document.
        http://docs.blackberry.com/en/developers/deliverables/17964/BlackBerry_Smartphones-UI_Guidelines-T893501-980426-0721013746-001-6.0-US.pdf

        Here’s the second sentence:

        “Most users want applications to be intuitive and satisfying to use. ” – So is RIM saying that some users want applications which are unintuitive and unsatisfying?

        I’m perhaps being a little pedantic here to illustrate a point. The document isn’t that bad. But there isn’t the same level of passion which has gone into writing it. With the iOS documentation it feels like someone really really cared about getting people excited about writing apps for iOS. With BlackBerry it’s more like a tick in a box. “UI Guidelines: yep, we’ve done that”.

        And that really is my point: It feels like RIM doesn’t care that much about their developers. The docs, sdk and tools all smack of ticks in boxes rather than genuine developer engagement, and a passion for excellence.

        And when these frustrated developers turn to the support forums there’s noone from RIM there to help, just a whole load of other developers with the same unanswered questions.

        In summary, I don’t think that BlackBerry development is more difficult than any other platform, but it is definitely more frustrating.

  3. I just thought I should add, on a really positive note, RIM have really sorted out their review times for app releases. I just did a release for MusicRoom and it was approved and on App World within 7 hours. This kind of responsiveness is excellent for responding to customer demand for new features.

BlackBerry© is a registered Trademark of BlackBerry Limited. BerryReview is in no way affiliated with BlackBerry Limited though sometimes their lawyers send us love letters...

Copyright © 2007-‘2016’ BerryReview LLC