I’ve always said that I am a geek and nothing proves it more than one of my new hobbies — writing mobile apps. Looking for something that I could enjoy and learn at the same time, last year I decided to ‘become’ an iOS developer. $99 paid to Apple and a trip to a notary public to prove that I am who I say I am opened the door to the iOS development world.
Apple’s iOS Software Development Kit (SDK) is XCode. XCode is an Integrated Development Environment (IDE). It supports C, C++, Objective-C, Objective-C++, Java, AppleScript, Python, Ruby source code with a variety of programming models, including but not limited to Cocoa, Carbon, and Java. Having done FORTRAN, BASIC and COBOL programming in the pretty distant past, I figured it would be no big deal to use it. I found a course offered by Stanford University in iTunes U, iPhone and iPad App Development. Objective-C is taught in the course with a prerequisite of a knowledge of C. Having learned a little bit of C a very long time ago, I figured I’d give it a whirl. If I was doing this for a living, it might have been OK but as a hobby, this was way too much like work for me. I hung in for a couple sessions but found that I wasn’t enjoying it at all. Oh well, $99 and a couple of hours down the tubes to find out that I didn’t want to be an iOS developer wasn’t too high of a price to pay.
I had pretty much thought that it was a done deal that I wasn’t going to do iOS development. But Last November, while listening to TUAW (The Unofficial Apple Weblog) podcast, it was mentioned that a 7-session course was being offered online as a series of webinars that could teach you how to write a mobile app. Each session lasted about an hour. Seven hours, no cost. I was intrigued.
I looked up the course online. The company is called RunRev and their software is LiveCode. I found LiveCode to be significantly easier than XCode. I found I was learning something and, more importantly, enjoying it, too.
At the end of the course, I bought the LiveCode software and the iOS deployment platform. After I loaded them on my MacBook Pro, I thought ‘Now what?’
Not having written any code for many years, I decided that I didn’t want I get too complicated for my first app. A former math geek, I figured that I’d try my hand at a math app.
In my exuberance, I dove head first into coding the app. After I got down the mechanics of the math problems in the app, I ventured into adding sounds and some animation. iStockPhoto was a great source for both images and sounds to use in my app.
Coding first, thinking later is not something that I would advise. It wasn’t until I thought that I was close to being ready to submit my app that I read Apple’s iOS Human Interface Guidelines. I should have read these first.
I had a navigation screen. Not a good thing. I had a Preferences screen. Also, not a good thing. I wasn’t writing the preferences to a file. Again, not a good thing. In actuality, my app was more like a desktop app than a mobile app.
Some effort would be needed to rework parts of my app to make them comply with the Human Interface Guidelines. How would I even figure out how to do some of this stuff? Enter RunRev and the LiveCode forums. RunRev’s website has extensive documentation, including videos, that explain how to do many things in mobile apps. If I didn’t find it there, I turned to the forums. If I didn’t find my answer by searching the forums, I would post a question. The timeliness and volume of responses and the willingness of forum participants to help me out was pretty astounding. Oftentimes, I’d have multiple responses, including sample code, within an hour.
Having reworked my app, I was now ready to submit it to the App Store for approval. I submitted it on July 7th with some trepidation. Apple has very strict standards (rightfully so) and, having read some blogs and postings about getting an app approved, I didn’t have a warm and fuzzy feeling about this.
According to the iTunes Connect website, 89% of new apps are reviewed in eight business days, which would be July 18th. I obsessively checked my app status several times a day, each and every day. July 18th came and went and my app status never changed from ‘Waiting for Review’. Hmmm. I guess I was in that other 11%.
On July 19th, I continued to check my app status but there was no change. Then, at 7:53 PM, I received an email that my app was ‘In Review’ and, at 9:12 PM, another email this it was ‘Processing for App Store’. To say that I was shocked would be an understatement. My first app being approved on the first try. I never expected that to happen. At 9:22 PM, my app was ‘Ready for Sale’ and in the App Store. Pretty darn cool.
So, what’s next? One of the advantages of LiveCode is that it allows you to distribute your app on different platforms using the same code base. So I am going to try my hand at releasing my app for the Android OS. While we used to live exclusively in the Apple ecosystem (except for our work Windows laptops), a few Android devices – Kindle Fire, Nook Color and Nexus 7 – have found their way into our home.
After my venture into the land of Android, now that I have my feet wet, I’m going to give a game app a whirl. I’ve already seen plenty of resources on RunRev’s website to start me on my way. But first, I will put some time and effort into the design of the app and make sure I know where I am going with the app before I write a single line of code. Lesson learned.
In an act of self-promotion, please check out my app, Number Wizard, in the App Store. A math app aimed at preschool through mid-elementary school, it goes from counting to arithmetic to times tables.