Categories
iPhone app

Software engineering 101 for iOS app development: I

Reading Time: 2 minutes

I thought this for a while, when I was in the Voices That Matter iPhone developers conference, I have seen the great interest from iPhone app developers, from indie developers (individual or small team development shop), to high school teacher who taught self programming and teaches kids on iPhone programming. They come from different background, software consulting, development, education, authors. Being from enterprise software development background and have created iPhone app on my own time, I think I can share some of my thoughts on “applying software engineering principle to iPhone app development”. Hopefully this can shed lights on the best practice of iPhone app development, and ideally those thoughts can be applied to software development on other areas as well.

The No. 1 thing I want to talk is testing. Why we need to test an iOS app?

As my old C++ professor said in the class: a program is a novel if it does not run as expected. We always want to test the software (aka app) if it’s a bit complicated and takes some time to develop. For simple iOS app sometimes we would just skip the formal testing process, and in some cases we just assume it works. I learned the lessons the hard way recently.

1) After I uploaded the binary via iTunesConnect, I found some problems with the app. So I rejected the app, fixed the problem, and uploaded it again. I did this 3 or 4 times in one case. After the last upload, my app was end up in “Upload received” status but did not automatically move into “Wait for review”. Waited anxiously for a few days. Finally I googled and found this article on StackOverflow and followed the instruction to contact Apple, waited for a few more days, and it got resolved eventually. Had I tested the app more thoroughly, I would not have to go through all the pain and the app would get reviewed soon.

2) More recently, I added a feature to the app and tested it on iOS 3.1.2. After it being released, I tried it on iPhone 4, and I found the feature does not work. Ouch.

How to test?
Ideally we should have a test suite and automatic test. But we don’t live in an ideal world. As I minimum, I would test the following:

Categories
401k and Personal Finance iPhone app

Earn $25 filing a bug report, enhancement request, or user story

Reading Time: 2 minutes

for #iPhone #app #myNestEgg ~ the retirement calculator (link at iTunes store) and receive an Amazon gift card (one winner per category).

I am starting this mostly for fun, three categories ($25 per category):

bug report; enhancement request; user story

Send email to uudaddy(No Spam) AT gmail DOT com. This runs until Dec 31, 2010. One entry for one person.

How the prize being determined
My 7 months and a half daugher gets to decide 🙂

Seriously, I will decide according the merits.

AmazonThankYou2010-04-27 myNestEgg_12_2010-10-25_2

Version 1.2 is coming
Just in time for annual benefits enrollment. The following is a glimpse. Note I purchased Glyphish Pro icons this time. So hopefully you can show this app to your friends without being embarrassed for lack of icons in version 1.0/1.1

F.A.Qs