The Road Less Traveled

May 25, 2012

Fork in the RoadI have always been a web development guy since the dawn of the web in the mid-90’s. My experience centered on Microsoft technologies: .NET and C#. In the summer of 2011, I decided it was time for something new; time to explore the world of mobile application development.

 

Like so many before me, I began to travel the well-worn road of iOS development. I started learning Objective-C with “Learn Objective-C on the Mac” by Dalrymple and Knaster. However, this is where the road began to become a bit bumpy. The book was well written and a fabulous introduction to Objective-C, but it was with Objective-C that I was beginning to “object”. To me, the system seemed cobbled together without a clear road. It even apoeared that language was half-way to converting to the dot syntax. No matter, the goal was to produce an iPhone application so I worked my way chapter by chapter through the book.

 

Next step was developing for an iOS device. I bought myself a MacBook Pro and installed XCode (3.2 was the current version). I was impressed with the installation process; one file downloaded and everything was ready: the IDE, interface builder, and the SDK. Since I liked the Dalrymple/Knaster book, I purchased “Beginning iPhone 4 Development” by Mark, Nutting, and LaMarche which was considered part of the series.

 

The experience of learning iPhone development went pretty smoothly. As before, I worked my way chapter by chapter through the book. I found the Mark, Nutting, and LaMarche book to be the same high quality as the Dalrymple/Knaster book. The examples were well written and very practical. My road had smoothed a bit and about two-thirds of the way through the book, I felt I had the necessary knowledge to build my first application: ZenLottery.

 

I picked a lottery app as my first application because it encompasses many of the requirements of other applications. You need to get user input (how many draws to make, draw PowerBall or MegaMillions, etc.), you need to generate data, display the data in a nice format, save user data (in this case the picks made), and store user preferences. In addition, the Zen part was using the geolocation services to generate a random number seed based on the location of the person. ZenLottery was posted to the App Store on March 27, 2012; about six months after starting my journey down the iPhone road.

 

I figured that was it. Like everyone else, I priced it at $0.99 and waited for the iPhone gold to start pouring into my bank account. And I waited. And I waited. Hmmmm. Something must be amiss. I hear about people making gobs of money with iPhone apps, but not for me. A search for “lottery” in the App Store returned about 750 lottery apps. There had to be a better way.

 

Around this time a good friend of mine had joined Research in Motion. He was talking to me about the upcoming BlackBerry 10 release and its huge potential. I started playing around with the BlackBerry PlayBook to get an idea of what is coming in the future from RIM. I had come to the proverbial fork in the road. Do I take the well-traveled iPhone road or the less traveled BlackBerry road? I had already invested six months in the iPhone road, maybe I should just keep on trekking. On the other hand, I was very taken with the capabilities of the PlayBook and the potential it represented for BB 10. Time to take the road less traveled.

 

I joined RIM at the end of April, 2012. My introduction to the company and the technology was at the BlackBerry 10 Jam in Orlando, Fl. BB10 Jam was a conference for developers, produced by developers, and presented by developers: a no-nonsense show about developing for the BB10 platform. There are several technologies you can use to develop BB10 applications: C++, Adobe Air, even HTML5. With my history in web development, I decided to focus on the WebWorks platform.

 

The WebWorks platform allows developers to write BlackBerry 10 applications using HTML5 and JavaScript. Since these are standard technologies I could also take advantage of many of the JavaScript frameworks like JQuery and Dojo.

 

At the BB10 Jam, I learned how to install the pieces necessary to develop a WebWorks application. This includes the WebWorks SDK and the Ripple emulator. The Ripple emulator runs as a Chrome plugin and allows you to view your application without a BB10 device. Although the process was not a single file install like the iPhone, the instruction at BB10 Jam made it easy. At the Jam I was also introduced to the bbUI.js project which is an open source project on GitHub that mimics the new BB10 Cascades UI.

 

Back home after the show, it was time to develop my own application. I downloaded the Aptana studio to use as my IDE. I followed the instructions for installation that I learned at BB10 Jam (URL). Next, I logged on to GitHub to download the bbUI.js project so I could leverage the new UI. I was happy to see the bbUI.js project included a large library of sample code. Following the sample code made utilizing the power of the library a snap. I had my pieces together, time to start cutting code.

 

My first application was a simple one. Utilize the bbUI.js framework to produce a context menu when the user clicks a button. The context menu would list several images. Clicking on the menu item would load the image into the screen. Seemed like a good little application to get my feet wet with Aptana, WebWorks, and the bbUI.js.

 

To my surprise, about an hour and half after starting the project I was done. There was no need to read chapter by chapter through massive books, WebWorks used technologies I already knew and the sample code provided clear examples. The application was running in the simulator and on my PlayBook tablet. It was thrilling to see my code running on the tablet. Granted, it was a simple application, but it was my code. I then realized that I had produced an application for the BlackBerry platform after only a few days of study: three days at BB10 Jam, a day getting my machine set up and less than two hours of development time. I compared that to my iPhone experience of six months. It looks like the road less traveled is actually a shortcut to application development!

 

It is clear to me that attending BB10 Jam was an excellent way to jumpstart my BlackBerry development. Apparently, RIM thinks so too as they are taking the Jam on the road. If you want the easiest and quickest way to learn BlackBerry development or ramp up your existing skills, you can attend these same sessions, still delivered by developers, in a city near you for free. Just go to http://www.blackberryjamworldtour.com/ for details and registration. By attending the Jam, you will get a head start on developing for the exciting BB10 platform and prepare you to take advantage of an untapped market.

 

Next I plan to recreate ZenLottery for BB10 and document my journey in this blog. Hopefully my blog will be a useful tool for people who want to learn as I learn.

 

I have chosen the BlackBerry road, and it has made all the difference.

by | Categories: Road to BB10 |

Share with others

No Responses so far | Have Your Say!

Leave a Feedback

You must be logged in to post a comment.