Apple took a while to approve the app. While I was waiting I completed most of the Android version. It’s in test now and will be coming soon. In fact, I had so much time that I decided to take a look at a BlackBerry version.
I had heard horror stories about developing apps for the BlackBerry but just assumed that it was a bit more difficult than Android. After all, it was Java, and they did have an Eclipse plug-in, right?
Well I’m here to tell you, all of the stories were right. I suppose this should have been my first clue:
That’s me attempting to log in to the BlackBerry Developer Zone and failing. And there is no place to "contact the help desk" by the way. When I emailed the webmaster I got this response:
Thank you for contacting BlackBerryTechnical Support. The email you submitted has not been delivered. Please find many alternative support options below.
Hmmm. That was helpful. Not.
Oh well. So I downloaded the tools. I use Eclipse on my Mac so it should be fine. Wait. PC ONLY? Seriously?
Ok, so I’ll run under Parallels.So I install Eclipse and fire it up. But it doesn’t work so well with the BlackBerry simulator. RIM recommends their Java Development Environment(JDE). So I install that, and it works a bit better.
The simulator is another story. It seems that each version of the simulator is for a different OS version, and mocks up a different RIM device. I’m working in OS 6.0, so my simulator pretends to be the Torch 9800. Hmm. So that means that I can’t test my 6.0 code on a Bold? Or any other non-touchscreen device? Oh and it takes about 10 minutes to start up. Just imagine how many coffee breaks I’ve had in the past two weeks.
Fine. So I write some code, and things are humming away when I run it. Until I start to debug the code. Then the simulator starts throwing all kinds of exceptions around. Null pointer. Illegal state. You never liked my mother. Oops, sorry about that last one.
And this little gem:
And my favorite one of all:
That one happened repeatedly whenever I typed a key into an EditField. So I switched from EditFields to TextFields. No visual cue that you should be entering text there in either case, but at least the TextField didn’t blow up. And these aren’t little blow ups. They require me to restart the Parallels virtual machine – reboot basically.
Then I tried to set a border on the field. The JDE walked me through the setBorder() method perfectly. Unfortunately the compile insists that even though the JDE thinks that it is there, it is an unknown method, and therefore simply will not work.
I’ve banged my head against the wall for two weeks trying to get these things to work and I will eventually prevail; I don’t give up that easily. But I have a point in writing this.
RIM makes a wonderful email device; people clearly love it. But though they aspire to be more they seem to be failing miserably at it. For a company that has been building BlackBerries for over 10 years, their SDK is abysmal, and their tools just awful. Their look and feel lags both Android and the iPhone, by at least one technology generation. I can forgive their PC only mentality as it is still dominant, but tools that have been around for years should work much better.
Forgetting the iPhone for a second, I was able to write the bulk of my Android app with fewer lines of Java code resulting in a much prettier and better working interface. The BlackBerry version looks like an old-school DOS application by comparison.
The best money RIM could spend would be to hire four or five bright developers and fix their SDK. Just match what Android does, because that should be enough for now. Worry about iPhone later because they are just out of their league right now.
And really, fix all of your products like Developer Zone. When I told people that I was developing a BlackBerry app they all asked "Why?". You really don’t want to alienate the developers that you already have.
Stop shooting yourselves in the foot.
I’ll try to keep you all updated on my progress. And if you’re from RIM and want to talk to me, feel free to email me at firstname.lastname@example.org. Even if you don’t agree with me.
Powered by Bleezer