Since the dawn of the web in the mid-90s, I have always been a web development guy. My experience centered on Microsoft® technologies: .NET and C#. In the summer of 2011, I decided it was time for something new: 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 with 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 appeared that the 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 through the book chapter by chapter.
Next step was developing for an iOS device. I bought myself a MacBook® Pro and installed XCode (3.2 was the current version). 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 iOS 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 of 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.
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 regarding how many draws to make, you need to generate data, display the data in a nice format, save this 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. 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® (RIM®). He was talking to me about the upcoming BlackBerry® 10 release and its huge potential. I started playing around with the BlackBerry® PlayBook™ tablet to get an idea of what is coming in the future from RIM. It was here that 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 BlackBerry PlayBook tablet and the potential it represented for BlackBerry 10. It was 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, Florida. BlackBerry 10 Jam was a conference for developers, produced by developers, and presented by developers: a no-nonsense show about developing for the BlackBerry 10 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 BlackBerry® WebWorks™ platform.
At the BlackBerry 10 Jam, I learned how to install the pieces necessary to develop a BlackBerry WebWorks application, including the BlackBerry WebWorks SDK and the Ripple emulator. The Ripple emulator runs as a Chrome plugin and allows you to view your application without a BlackBerry 10 device. Although the process was not a single file install like the iPhone, the instruction at BlackBerry 10 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 BlackBerry 10 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 and I followed the instructions for installation that I learned at BlackBerry 10 Jam. 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, BlackBerry 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. BlackBerry WebWorks used technologies I already knew and the sample code provided clear examples. The application was running in the simulator and on my BlackBerry 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 BlackBerry 10 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. For me, the road less traveled was actually a shortcut to application development!
It is clear to me that attending BlackBerry 10 Jam was an excellent way to jumpstart my BlackBerry development. Apparently, RIM thinks so too as they are taking BlackBerry 10 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 BlackBerry 10 Jam, you will get a head start on developing for the exciting BlackBerry 10 platform and get prepared to take advantage of an untapped market.
Next I plan to recreate ZenLottery for BlackBerry 10 and document my journey here in the Inside BlackBerry Developer’s Blog. Hopefully my blog posts 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.