Late yesterday afternoon the project I have been working on for much of the summer was made available in Apple App Store. This was of course, great news!
The Good Turn application is a simple yet hi-tech replacement for the age-old good turn coin carried by many scouts to remind them to “Do a good turn daily.” It was primarily designed for the iPhone and iPod touch. It works on the iPad in the double-size mode. The fully functional application is free of charge. Additional in-app purchases provide different stylized coins, bronze, silver, and gold, for flipping each time a good turn is done. The cost of these goes towards keeping the web companion site running, future development, and most importantly supporting our local Boy Scouts and Cub Scouts.
The Good Turn Web companion site provides a view from any web browser to the good turns that people are doing all over the world. You can navigate around a dynamic Google Map with markers on recent good turn locations. The site also provides support information for the application.
The Development Process
iOS development is quite fun. The application took much of the summer, from May through late September to complete. Much of this time was me continually re-factoring large chunks of code and testing. Due to my own vacations, travel, and other commitments, there were no long periods of time to work on the code, so answering the question of, “how long did it take?” is quite difficult.
What I can answer is how did the app approval process go. It went swimmingly. My first submission on September 30th, 2010 was rejected on October 6th, 2010. I resubmitted a few hours after getting the rejection and the app was available in the store on October 14th, 2010. Columbus Day made for a long weekend in there. The app got rejected the first time due to my mis-use of the in-app purchase for a donation and a flaw in the installation of the coins purchased in-app. Changing the language (removing donation) and minor code fix was all that was needed.
The web companion site was as much a part of the development as the application itself. It is built on the Google App Engine which provides data storage and application hosting. I chose to use Python to implement the web application which turned out very nicely. Google’s App Engine service, libraries, and agreement are quite generous and I would highly recommend them for similar small projects.
I’ve already been brainstorming on improvements to the application and website for version 2.0. And maybe, just maybe, an Android and/or web-based version.