Filed under: Developer, iPhone, App Store, SDK, iPod touch
My first iPhone application
Last month I wrote about some resources for learning Objective-C that I was using to learn how to write iPhone applications. Judging by the number of comments on that article, I thought that I should write a follow-up post about my progress and the status of my first iPhone application.Since I had a few programming classes in college (VB, C++), the logic of loops and decision statements was not a big hurdle. By using the learning resources like screencasts and books, I was able to get a better grasp of object-oriented programming (OOP) in general, and of course the syntax specific to Obj-C. I became familiar enough with Xcode just by using it for demo programs, and I used the wealth of iPhone developer resources from Apple to use the iPhone SDK. After paying $99 to Apple to enter into the iPhone Developer program, I was then able to access the forums; they were helpful in figuring out specific things (like how to preset a UIPickerView object).
When I felt comfortable with the basics, I started writing my first iPhone application. My girlfriend recommended that I create an application that keeps track of how much money is in my piggy bank since I'm always tossing spare change into it but never sure of the total (and therefore never sure when to cash out). This seemed like a simple enough idea to program, so I started on it shortly after I wrote the Obj-C article (mid January). I quickly figured out how to use Interface Builder to add buttons for coins and linked the touch of a coin to the addition of a coin value.
And then I made a rookie mistake... using floating point numbers for representing money. In my program testing, every so often my math would be $.01 wrong. I finally realized this was because I was using float values and the addition of money was not being done correctly. So I switched to using integer math for the entire program and solved that problem. When the math logic was complete, I spent time improving and beautifying the user interface with graphics and a color scheme.
With my first program complete, I decided to try to submit it to Apple for review in hopes that they would put it on the App Store. I had to download and install a Distribution Certificate to sign my Obj-C code, build the program for the proper iPhone OS version (I chose 2.0), and create a .zip of the .app that Xcode built. I then had to assemble my screenshots, App Store artwork, and application description for upload to iTunes Connect. I submitted the application, and about six days later it was approved and is now available in the App Store (along with 20,000 others!).
My personal goal of creating an iPhone application and getting it on the App Store is complete, but I will most likely work on more applications. If you're interested in using my first iPhone application, you can download my Piggybank application in the App Store for $0.99US.
[Editor's Note: Todd wrote Piggybank on his own time and it is not an 'official' TUAW application; this post is not an endorsement or review of the app, but a perspective on the development and submissions process from Todd's point of view.]


![TUAW [Cafepress]](http://www.blogsmithmedia.com/www.tuaw.com/media/tuaw-cafepress-promo.png)


Reader Comments (Page 1 of 3)
Mike said 8:27AM on 2-15-2009
And your second rookie mistake is not adding localisation ;-)
I so wanted to try it but it's not available in the UK!
Joking aside - this just goes to show that the real skill is in coming up with a good idea - and then refining it over time ... for example, if you can change the piggy-bank artwork to a 'demijohn' and have it fill up with the coins you added it would actually start to become a useful app. Also try allowing users to rename the coins (and value?) to their local currency and maybe even take a photo of their actual coinage and you get even more depth. I imaging the basic math and logic in the app would support just about any combination of decimal coinage.
I'm not being critical - I've actually been playing with iPhone dev myself but keep bombing out when it comes to an idea that people will actually use - you may just be onto something here!
Any the question we all want to know ... how many purchases have you had?
Reply
Todd Ritter said 9:18AM on 2-15-2009
Thanks for the feedback Mike. I plan to add more features (like sound and localization), but this is just 1.0 and I need to learn all about localization so that other countries can benefit.
I've had about 20 downloads in a week (some are redemptions of developer codes). I'm finding it's very hard to get "noticed" in the App Store!
KA said 8:35AM on 2-16-2009
The most important thing seems to be the description. Please don't cheat like other people,* but make sure you vary the words used. SEO applies on the App Store, probably more than on the open internet.
* http://tinyurl.com/dlgfcv
Jash Sayani said 8:40AM on 2-15-2009
Great work Todd !
Even I was learning Cocoa Touch but was diverted to Computer softwares as I had to complete a few pending Adoba AIR applications.
BTW, top submit your app to AppStore, which ADC scheme did you choose ?
Reply
profcrayzee said 8:38AM on 2-16-2009
editors note aside, I think it would have been more appropriate to post this app for free. Or let all TUAW bloggers plug their apps.
Reply
Kila said 9:20AM on 2-15-2009
Nice - I'm in the same boat as you and have intermediate experience in programming, but never got round to learning Objective C. I bought the book Objective C Programming 2.0 and it is great.
Hopefully I'll get round to producing something one day.
Why are you charging $0.99 for your App? You think people will actually pay for that?!
Reply
Todd Ritter said 9:22AM on 2-15-2009
I need to make back the $99 to enter the developer program!
Luigi193 said 2:20PM on 2-15-2009
I just learned objective-c myself, and just payed to be enrolled in the dev program. THAT BEING SAID, I wouldn't post a first creation of mine for money! Considering this is a fairly basic app, you should put it up for free, get feedback and then make a more extravagant app for pay...
BUT I guess it is cool to have something up there that some people would buy.
To each his own I suppose!
Adam Gamble said 9:57AM on 2-15-2009
How long did it take between submitting your app and getting approved? How do they (apple) pay you?
Reply
Chris Rossini said 10:11AM on 2-15-2009
Congratulations on completing your app and getting it approved.
I'm currently reading "Programming in Objective C 2.0" It's the best resource in learning the language that I've come across so far.
I was wondering though...Is Cocoa something that can be learned along with Objective-C? Or, should I wait until I have Objective-C firmly under my belt first?
Reply
ksmith said 10:04AM on 2-16-2009
I'd learn both concurrently. Cocoa's main language is objective-c. Just learn and teach yourself cocoa, and you'll learn objective-c along the way. Cocoa does have some regular old C calls (mosty graphics stuff), but the majority of your code will be ojb-c.
JFMartin said 10:12AM on 2-15-2009
I'm doing exactly the same. I'm about to start writing iphone apps too. I started a blog to talk about this experience (http://buildingiphoneapps.blogspot.com/). My idea is pretty clear (but cannot talk about it right now), I'm just starting to gather informations about Objective-C, the iPhone dev community, etc. It is pretty exciting. We are witnesses of the birth of a great plateform.
Reply
drumthrasher109 said 10:44AM on 2-15-2009
Man, I can't wait until I start learning how to do this stuff in college! Then I'll be making some big bucks, hopefully.
Reply
FD said 12:40PM on 2-15-2009
Give me a break. This app was made for learning purposes only. It is pretty terrible if you ask me, yet you are charging $0.99 for it. Asking people to pay for your useless demonstration app shows why you wrote the app in the first place.
Furthermore, regarding the editors note - if your note is true then Todd should have posted the article on his personal blog. Letting him post on TUAW is giving him exposure he (or his app) does not deserve, and compromises and pseudo-jounalistic integrity you may have.
Reply
nikescar said 1:02PM on 2-15-2009
You are some kind of douchebag aren't ya?
This app may not have any value to you but it's pretty obvious that there is value in this app for some.
I think I know what the problem is. You wrote one of the 198 fart apps and you're not getting the downloads you would like. I'll try to find it at the app store though. Should I search by developer under "Asshole"?
SpinThis! said 1:22PM on 2-15-2009
Douchebag or not, I have to agree with FD here.
I really don't intend to be mean but this app should be free and
Todd's post sums up entirely what's wrong about the app store:
a) Developers assume since their app is on the iTunes store, it will magically get downloaded and used with no marketing effort on the developer's part. That's the same irrational idea businesses have about a website—by somehow having one, people will flock to it.
b) If you want to make your money back, write a better app but please don't charge people for your learning experience. People complain how much junk is in the app store—this is only really adding to the problem.
We can partially blame Apple here since it doesn't let you put applications on the phone without paying the $99 for the certificate, but there are other ways to make your money back. Your developer cert doesn't expire anytime soon so you can test all you want. If you can't swing the $99, that's your prerogative. It just sounds like you're doing this partially for the wrong reasons—you should have posted this as an app-hoc application, let TUAW members have a free crack at it, and let them post their suggestions, etc. Refine it, then post it on the app store.
I could probably write this as a web app, store the data in local sqlite database on the iPhone (so it comes up on subsequent reloads), and do it less than a day's work. Just because it's a native app doesn't mean it's better.
Thomas said 2:15PM on 2-15-2009
Or you can not buy it if its not worth it to you. There is nothing inherently wrong with the app store. If a developer would like to charge for their app its their right to do so, and its your right not to buy it if it isn't worth it.
If you don't like personal opinions and perspectives in your news, you should probably find a better outlet then reading blogs. Blogs will, by definition, have personal spins to it. And an apple blog that covers iPhone apps that also has iPhone developers is bound to have perspectives about their experience.
Quit your bitchin'.
Stephen.4 said 2:37PM on 2-15-2009
Although from a developers stand point, i can see why people put prices on things. He is a beginner developer, like me, and he is stand alone, not with some company giving him money. Don't his app, or the price, don't buy it, it's as simple as that.
P.S. I just made this application in 5 minutes for fun, something to do. I'm a beginner so i still need to learn to make it save the count on close, but then i'm set. I also included $1.00 and $2.00, as i am Canadian, and we have many coins :).
AP said 2:54PM on 2-15-2009
The point is since he posted this app as a demo, he should have made it free. If he truly posted it as demo then it would be free so that everyone could check it out.
Instead, he took advantage of the tuaw site exposure to try to make money. Pretty lame considering the app.
mi_sat said 4:26PM on 2-15-2009
Let the market determine whether it's worth $0.99. I agree with FD. The Editor's Note is form over substance.