Why I love RIM
Published by Nazmul on August 3, 2009 at 4:44 pm.

RIM BlackBerry

I’ve just spent the last 3 months doing intense development on Wicked Blogging App for BlackBerry. This is the first consumer app ScreamingToaster has launched, after 3 years of development on the ONE Platform :) . So it feels great to finally have an awesome app out there. I chose BlackBerry as the first device platform to target for my first app, I’m going to release Android, web, and desktop apps as well, so I’ve been doing development on all these platforms (all using Java) for the last couple of years. Now, I’ve found some platforms to be very easy to develop for (like GWT, doesn’t get any easier than that). I’ve found others to be very powerful, like Android. And others are just stale and old, and it’s hard to believe that they can be in such stagnation (like desktop Java).

BlackBerry is a very different platform from all of the ones I’ve listed to so far; it’s simply a toxic environment for an average developer to be in; there’s really no better way to say that… it’s toxic. Having said this, I love RIM – its people, its products, and where its headed. It is bad now, but it’s getting better; key people at RIM acknowledge all these gaps and are addressing them. This is why I love RIM! And I stay committed to creating BlackBerry apps and supporting every new feature of the BlackBerry platform. Read on to find out more…

Why is it toxic for the average developer?

The development tools are something from the late 90’s. They have arcane procedures that you have to follow, manually to build or release anything. And it takes forever to download development tools from RIM’s websites! Not to mention these wonderful errors that happen exactly when you don’t want them to (like before distributing your final release binaries):

Code signing error

Honestly, this is just unacceptable. They also don’t provide any source code to any of their libraries, so as you’re following along in the JDE debugger you will find wonderful “No Such File” files open up in their IDE. It’s a great experience ;) . Additionally, their UI libraries have a good bit of potential, but they are too low-level. There aren’t any good high level APIs for animation for example, of even a UI Builder that would automatically layout components in a panel or something. No GUI Builders, nothing! I’ve had to build all of this from scratch, myself, over the last few months! I’ve had to build my own button component from scratch, implement my own animation framework, and timing framework, networking framework, RPC framework, and on and on! I’ve had to create my own JSON code generator, and find a ZIP compression library etc. Whew! It’s very difficult to create non-trivial apps in this environment. Very difficult. Practically nothing is done for you.

Some might argue that this is a good thing. Keeping barrier to entry so high makes it so that only really smart people can write software for this platform. Did I mention, there are no books out there for BB development either? I would argue that all the good developers have packed up and gone to some other platform for their development, and the only apps being made by 3rd parties for BB really suck (like Ubertwitter and most of the apps I’ve used). Most of these apps look like crap, and don’t really do much. There are obviously many notable exceptions, but for the most part, it’s rare to see a great BB app, that’s not made by RIM. And some of the newer apps coming out of RIM itself are pretty gnarly. So what’s going on? I don’t know.

Misleading title?

So if you’ve read so far, you’re thinking “Nazmul hasn’t said one nice thing about RIM, does he really love RIM?”. I have to be honest, and speak the truth about how things are right now. There is however light on the horizon. First of all, BlackBerry loves U2, and I love U2, so therefore I love BlackBerry? :) . Just kidding. Though I do love U2’s music a lot.

RIM is changing direction. And during this transition period lots of things are in flux, but I see great things in the future from this company. First of all OS 4.6 is awesome, when compared to older BB OSes. There’s a lot of emphasis being put on the UI… like great looking fonts, and the use of alpha channel everywhere in the graphics APIs. However, there are some glaring problems, like most of the UI components don’t have a setColor() method, and needless to say, they don’t support animations. As I’ve said before, I’ve had to write these from scratch. Anyway, I can see the OS and APIs moving in a really good direction. There’s a lot of focus with 5.0 on media capture, which is awesome! There’s also a focus on providing more hooks into RIM’s APIs, like hooking into the phone screen when making/receiving a call. These are all great features that I’m going to use in my apps, as soon as they are available. But, a lot of software companies are using 4.2 or older APIs, which are nasty.

Great people

Additionally, I’ve had the chance of working with some people from the company, and all the folks I’ve worked with so far are really nice, sensible, and really really helpful!!! RIM is awesome because even though the Alliance program has been shutdown temporarily until September, they allowed me to get BIS-B access so that I could sell my apps outside of the US/Canada, where BIS-B access is critical! For this, and so much more, I am indebted to RIM, and despite all their shortcomings, really love the company and it’s people! And I think they are heading in the right direction! I like that that newer devices have robust CPUs, lots of RAM, and decent graphics. There’s a long way to go still, but I think they are on the right path.

Trouble in the waters

There are a few signs which are very troubling about what the future direction of RIM might be.

1. App World

First is the App World. It doesn’t exist on most existing devices, even though RIM is making a solid push to get the word our. And it uses PayPal integration for payment, which is pretty bad. I hate PayPal, will never use it, don’t want to be affiliated with it. In my ONE Platform, I’ve built my own payments and licensing system from scratch, but I’m sure most software companies can’t do this. Also, the App World doesn’t get distributed to all BlackBerry devices automatically, rendering it more useless. Additionally, the apps on there are mostly crap. The testing process that RIM puts these apps through before they get approval is laughable. Quantity is the focus, not quality. This is most troubling to me. In the near future, I can see BB getting a bad rap for having an unstable OS and platform, because tons of 3rd party apps, that are approved by RIM itself to be on the App Store, are screwing up your BlackBerry. Why do this? I don’t get it. BlackBerry has a reputation for stability and security, and this is perhaps not the right path to take for this company. But then again, this is a totally evolving space, and I’m sure RIM will improve as it gets more experience.

2. Web apps

Additionally, there’s a focus now on creating web apps on BlackBerry. The browser on BB sucks (although the 5.0 browser is excellent), and encouraging web apps for it is just silly. 5.0 isn’t even out yet, and most BlackBerry devices won’t be running it for a long time… so all these web apps are going to run in a crappy browser, that can’t handle JavaScript at all, without locking up the device. It seems that RIM is desperately trying to get BlackBerry devices bricked left and right with these moves… ;)

3. Quality control

I’ve experienced a lot of problems with newer BlackBerry devices. I hadn’t seen some of the issues with devices 2 years ago, and I’ve been using RIM products for a decade now… The new trackballs are problematic. I’ve personally experienced, and also heard from other people, how troublesome the trackball is and how easily it can get gummed up. Also, the new devices seem to be so delicate, when compared to BlackBerry devices like the 8700. The Bold screen is delicate, and gets damaged if you drop the device. The case scratches so easily. I don’t know, compared to stalwarts like the 8700 (which I still have), these new devices seem too fragile. Don’t get me wrong, I love the hardware capabilities, and new OS, but it seems there’s a lot of room for improvement in build quality, durability, and quality control.

Hopeful

RIM hired a User Experience VP, so that’s a good sign. They are working on an Eclipse based IDE, which is far superior to the JDE, except that it doesn’t really work right now. But as it matures, this is a very good thing. All they need now are books and tutorials on BB development, and these are all good things. But only time will tell. I still like the company though, and the people there are GREAT! I just hope they figure out where they’re headed sooner rather than later.

Nazmul, President, ScreamingToaster

  • Share/Bookmark

Related posts:

  1. Keynote We are at the VIP area of bb devcon looking...
  2. We LOVE our customers This post is dedicated to our awesome customers. Prelude...

4 Comments so far...

  1. I too am and have been a huge BlackBerry supporter. But I wanted to add that I find the Alliance Program to be a joke. This program is not designed to assist developers — it’s designed to make developers work for RIM. What a joke!

    • Nazmul says:

      Hi Elia

      It is a joke :( . I’m hoping that some of these arcane practices and processes will be phased out soon.

      They are relaunching the Alliance program – http://www.blackberryalliance.com. I don’t know if that means substantive changes have been made to the program… there aren’t too many details available yet.

      Take care
      Nazmul.

  2. Matt Lewis says:

    Hi Nazmul,

    I have been browsing the various mobile platform’s application stores (apple, android, RIM) trying to ascertain the pro’s and con’s of each from the point of view of a developer distributing their software via them.
    Looking at the costs involved, apple and android appear to charge a commission (30% of sale price) per download, whereas RIM has a one off fee of US$20 per application regardless of the downloads.
    Can you share any of your experiences regarding the obvious and hidden costs involved?
    If a developer had an above average (or great) application, will people actually pay for it? Is being a mobile platform developer something you could quit your day job to persue?

    Finally, thank you for being so upfront about your experiences. I look forward to reading your future exploits.
    All the best,
    Matt.

  3. Nazmul says:

    Hi Matt,

    Thanks for your comment. Your questions are spot on. There are a lot of hidden costs with certain platforms. With BlackBerry, if you use their payment infrastructure, then you will have to give them a cut of the revenue; this is in addition to paying for the release/bundle upload. However, these are just some small costs… the big ones are needed BIS-B access if you want your app to work on carriers outside US + Canada. We have training courses if you’re interested just for this – A Business of Smartphones course, and Navigating RIM course (http://developerlife.com/tutorials/?page_id=249). Also, there are process delays and software distribution/upgrade issues that you have to be aware of… minefield of procedural issues. This is discounting the level of effort required to build a BB app when compared to Android… BB app can take you 100x more effort to build! And support the disparate device platforms! Not a pretty sight.

    Regarding quitting your day job. I wouldn’t advise it, unless you have lots of savings and/or are independently wealthy. Test out the waters first, get training courses from someone like us, and even try to partner up with someone like us, before you head out on your own. Don’t repeat the mistakes we’ve learned from… this is why we are offering our courses. Also, keep in mind consumers have NO expectations for mobile software. So if you create something special, it’s probably overkill. That’s the biggest thing we’ve learned, is how low people’s expectations are, and how most of them are not able to appreciate great software… Most BB apps on the App World are crap for example… and most apps (even some from RIM) will slow down your BB, make it unstable, make it overheat, or simply brick it. It’s not a pretty sight… these are early days…

    Hope this helps,
    Take care
    Nazmul.

Please share your thoughts, comments, and stories below