
After a bit of a rocky start I am pleased to announce the publication of my first iPhone application.
World Leaders, Presidents, Prime Ministers, Kings & Queens

This is a simple reference application listing various world leaders, sourced from Wikipedia and presented in a familiar “Contacts” style interface.
As this was my first app, I thought I’d write a bit about the steps I went through on the way to publication.
1. Identify a gap in the market.
There are already a few Presidents apps and one King and Queens of England app, but at the time, I didn’t see any apps covering other countries. This looked like an opportunity to build a more comprehensive world leader reference application. There is plenty of data covering world leaders on Wikipedia so I decided this would be a good candidate for a first simple application.
2. Learn Xcode
First step was to learn the process of building apps using Xcode. This also involved learning Objective-C and Interface Builder so there was a lot of stuff to get through. The type of app I had chosen was also based around a desire to learn how to use TableViewControllers and sqlite. These two technologies are used extensively in the app.
3. Mock up some screen shots
This was initially done on paper and later built in IB. In this case, IB was just used as a sort of graphics drawing package. This identified the various navigation levels and an obvious need for a search capability. Also, with so much info on Wikipedia, I had o decide which bit to include and which to leave out. This then led to the inclusion of the Wikipedia browser screen to supply any extra info users may require. This seemed much more user friendly than jumping off into Safari everytime. I always find apps that do this a bit annoying – especially if you don’t have internet access at the time (which is often the case with my iPod). Although apps may remember where you left off, you still need to exit Safari and then find the app you were running. Not always a simple thing on a full device!
4. Build and Go
During coding, I initially used IB quite a bit and TableViewControllers. Later I ended up hand coding some of the IB screens and converting some controllers to simpler ViewController that implemented the appropriate delegate protocols. This was mainly because I couldn’t achieve certain effects, in particular the flip to the instructions screen from the first page, and the search screen.
5. Too much data
The data I gleaned from Wikipedia was entered into a spreadsheet and I wrote a small python script to convert the data into sqlite insert statements. This was the included in the build steps. It was at this point I started to wonder if this was the best app to start with. I probably spent at least a quarter of the total development time just typing in dates and names and cropping images. Also, the data on Wikipedia had a tendency to change. On one occasion, the dates of a whole bunch of early Scottish kings changed by one day!
6. Coding Numbers
Code was version controlled using Subversion. Version 1 of the app consisted of the following classes:
- 6 Controllers
- 1 UIView
- 10 Support Objects (mainly model data holders)
- 1 Protocol
- 8 NIBs
Counting the days up in my calendar across February and March, I worked on the app about 30 different days. This is definitely not full days however. Some I only spent an hour and I don’t think I every worked more that 5 hours in one day. I’d say an average of about 3.5 hours/day. Total about 100 hours.
7. Submission
I probably spent another day or so getting everything ready to submit the app. Screen shots, descriptions etc. The app was submitted early June and approved about a week later on June 14th.
8. The web site
This website started life a few months ago as a Blogger site. This didn’t really look very good so I switched to WordPress and hosted it on Bluehost. Spent a bit of time trying out different themes and hacking style sheets and php until arriving at my new site RobsMobileApps.com Also spent a bit of time creating a video. This was also all new and a bit of fun. Basically I captured some screen shots and live recordings of the simulator using Capture Me. I then edited them in iMovie and added titles etc. Finally I posted them to YouTube. I’m not very happy with the image quality on YouTube and spent a bit of time trying out different resolution. The local movies are nice and crisp but the YouTube one are not so clear. I may investigate some alternatives soon.
9. One week later
To my absolute astonishment and delight, some people have actually bought the app! Not many yet, but considering there are over 50000 to choose from and over 250 new ones every day I’m surprised anyone noticed my little app! After 1 week I sold about 40 apps. Mainly AU, US and GB but a few elsewhere (KW, MY, RU). Might just keep me in coffee. I’ll need a few more sales to keep me in beers though!
Overall its been a very rewarding and interesting experience. I’ve learned a lot of new stuff and been able to apply it to actually produce a finished product that I am able to sell and am proud to say is all my own work.
(This blog entry was moved here from my personal site)