I did it! My first iPhone app was submitted to Apple and was approved. It is now available in the iTunes store. The application allows users to view Pennsylvania Department of Transportation traffic camera live images.
So what”s the story behind my first iPhone app, PA Traffic Cams?
Idea: I decided that I wanted to build an app for the iPhone. After about a week of thinking about ideas, I came to the conclusion that I should build something useful that I would want to use. Then it hit me! How many times have I wondered what traffic was like or if a certain road was busy? Sometimes I would be at home and could look on PennDot’s website, other times I was driving and couldn’t easily do that. How nice would it be to click on an app and be presented with a choice of cameras?
Creation: I am a software developer for my day job, so coding the application didn’t seem that hard of a task. The hurdle was learning Objective-C. I have some experience coding in C# and Java, so picking up the syntax of objective-C wasn’t too terrible. Plus I love learning new languages, and saw this as an exciting challenge. Anyone who is interested in learning how to program for the iPhone should visit Apple”s iPhone Dev Center and read through their documentation. Also, you should download their sample code and and experiment with it.
Graphics: If you have no background with creating graphics, please do yourself a favor and hire someone. A quick google search should yield results of a cheap graphics consultant willing to help you. I was able to create the graphics myself. However, I failed to read some of Apple’s documentation for graphics when submitting my app for approval. My iTunes app icon was submitted with a transparent background which yielded undesirable results. I had to go back in and update this graphic.
Logistics: There are a few things that you need to complete to get an app up on the iTunes App Store.
1. Enroll in the iPhone Developer Program. It”s $99, and you need to do it.
2. Complete the contract information for Paid Applications if you plan to charge for the app. This step required me to go open a new bank account that funds could get deposited in. (My credit union didn’t have the correct routing numbers and features for international funds)
Learning and Support: I purchased two books to help me get going. They are “The iPhone Developer’s Cookbook – Building Applications with the iPhone SDK” and “Beginning iPhone Development: Exploring the iPhone SDK.” I found and added on twitter the authors of the later book. Dave Mark and Jeff LaMarche have been great and are more than willing to respond back. Dave and I kept going back and forth on the Pens/Caps playoff series. Go Pens! Thanks guys for writing the book and providing such a great resource. There are a lot of communities out there that can provide help if you are stuck when coding or need help understanding some code. Other twitter followers that helped me with tech knowledge or moral support are JeanLouis Villecroze, Jamie Grove, TapFactory Apps, and many others.
Submission: The submission process was very simple. Again, please read Apple’s documentation! They have the entire process mapped out to help you. I originally submitted my app on Sunday May 3rd, and the waiting game started. I’ve heard that it takes about 7 days for Apple to review an app and get back to the developer. On Wednesday May 6th, I got an email from Apple. Denied! The app “did not adhere to the iPhone Human Interface Guidelines.” I forgot to add a dialog box to inform the user no network connection was available when trying to view a camera if one wasn’t available. No big deal. I went and looked at sample code, added the modification to the app and resubmitted it that night. Finally on Thursday May 14th I got another email from Apple. This time the email read “Your application status is Ready for Sale.” AWESOME!
Marketing: I am no marketing wiz, however I do know that “word of mouth” and referrals are a valuable marketing tool. So far my promotion of this app has been through me emailing everyone I know letting them know about the app, twittering about it, creating a dedicated website for the app, and writing this blog entry. I will be creating some banner graphics and fliers. Beyond that, I do not have a budget for advertising. Going to grad school full time and planning a wedding for next year limits the funds I can dedicate to this project. If you are willing to put a banner graphic on your website, please send me an email. Another resource that proved valuable was Carla White’s books. She is also the created of Gratitude Journal. She took the route of hiring a developer.
Conclusion: Overall, this has been a very positive experience for me. I have met a bunch of new people, and learned valuable things. I didn’t talk about project planning because I knew what I wanted to do and I did not have to communicate it with anyone. It is always a good practice to write things down on paper such as objectives, features, milestones and dates. This will help you stay focused and complete your project.
If you have an iPhone or iPod Touch, feel free to download it and give it a try. I plan on adding features in the near future. If you would like to see something added, send me an email.
All feedback is welcomed and appreciated! Thank you for your support!
Apple iPhone Dev Center
iPhone Dev SDK Forum
Stanford CS 193P iPhone Application Programming