How to build a Blackberry App in 4 weeks
Building your first Blackberry app could be roughly compared to surgery… that you perform on yourself… without anesthesia. Yes, it is an excruciatingly painful and scary experience that you might not survive. However, having successfully completed my first Blackberry app, I am here to share with you a few things I learned along the way in this rough journal of my journey.
Week 1 – Excitement
Going into my project I had an abundance of excitement. Stepping into this unknown territory was a huge adrenaline rush. I had never built a Blackberry app, had no Java experience and had not even used a Blackberry before. This would definitely be a challenge for me. Having a positive attitude is important for any project that you work on. A positive outlook will help you not give up when faced with problems. During the first week I didn’t really learn anything or make very much progress in the app development, but was still happy and optimistic about the project.
Week 2 – Despair
By week two I fully realized that blackberry development was nothing like I expected. Sure, I had the api documentation, but the developer community was very small, quite unlike the iPhone or Actionscript developer community. The api has many limitations. The way the UI is built is confusing and still irritates me. Overall I felt like I was building an app using a language that was old and dead. I began to make a little progress. However, I didn’t fully grasp how things worked.
Week 3 – Understanding
Progress started to flow much more rapidly in week three. I was finally beginning to understand a bit more about blackberry development. One of the most difficult things for me was figuring out how to develop the UI. My thinking here had previously been create an object, set its properties, give it some styling rules and finally position it. Doing this for the blackberry kind of makes me think of html tables. Layout of UI objects is done by using Managers. You can use HorizontalFieldManager (aka <tr>), VerticalFieldManager (aka <td>) or create your own Manager. Here my thinking had to shift from using a screen position for objects, to using a layout for objects. For many things, you could not just change the color of something or some other small change just by modifying a property of the object. Instead, you need to subclass the object or override some of the object methods. So overall, getting the app to look the way I wanted was much more involved and tedious than other languages that I’ve worked with. The sample apps provided by RIM, and a few of the apps that I seen on the device are just plain ugly. I guess the reason for that is it takes a lot of patience and effort to make something that looks decent.
Week 4 – Finishing Touches
The app was coming together. It was functioning properly, it looked good and all that remained was a few loose ends to finish the project. I needed to make a few design changes, implement some screen management and do some final tests on a device. After that was done I remembered that I’m developing for several devices and OS versions. I probably should have thought of that sooner. Thankfully, there were no major problems that I saw and was able to release the app on time.
I think I was able to take away several things from this project. First and most important: I personally hate Blackberry devices, despise their api and I hope soon Android and Apple will crush them into oblivion with their far superior and powerful devices and operating systems. However, as long as they are around and there is a demand for apps, I will continue to drag myself through the minefield that is Blackberry development. Secondly, this project helped me strengthen my adaptive programming muscles, which is always a good thing.
Lastly I want to offer a bit of encouragement to you. Are you working on developing your first blackberry app but on the brink of giving up because it’s just too much of a daunting task for one person? Are you needing an app built but finding it difficult to find a competent team of professionals? If you answered ‘yes’ to either of those questions then I would like to encourage you to contact the best mobile development team in the entire world at Accella.