I usually don’t post frequently about work projects, especially one after another. I apologize to the aggregation blogs I’m subscribed to, please don’t think I’m trying to “pimp” my clients websites. However, today we had our iPhone App approved for the App Store in . This app integrates with our Dating DNA website so people on-the-go can browse potential matches. We have a video showing how it works.
I helped with the coding on this project. I was in charge of the API that the iPhone used. We created a SOAP API because we assumed the iPhone would have built in SOAP support. We were dead wrong. I had already been frustrated with the iPhone SDK for many reason, and no SOAP was a big one. The fact that they didn’t have anything for any type of web services was mind blowing. So much for using SOAP and having a very well defined WSDL. It made testing the API easy, but implementation was a pain.
So what are some advantages we’ve seen with the iPhone App just in these few hours? Exposer. Great, great exposer. Our poor web servers are already feeling some of the burden of a huge increase of traffic, and I have a feeling I’m going to be implementing some more caching techniques with the website. After this great endevour, here are some of my suggestions to anyone looking to create an iPhone App.
- Developers with Cocoa Experience – If you don’t have a developer already, finding someone with Cocoa and/or iPhone development experience is a huge plus. Obj-C 2.0 is different, and many of the people who wanted to start iPhone development were web developers looking to tap their website into the iPhone niche. I was in this situation, and after having 95% of my career be in PHP, Java, and C#, I found I was at a disadvantage and the learning curve is huge. The iPhone SDK’s DNA is now removed, so you have more places to turn for help, but having built anything for Apple machines in the past will be a plus.
- Understand Memory Management – This killed me, and even hurt our experienced iPhone App developer. All three major bugs and crashes at the end were due to memory management. When we ironed those out, we were gold. Many developers who have never worked in the C world will have a hard time with this.
- Apple will QA Your Application – Apple is trying to do a good job of keeping buggy junk out of their App Store. It took three attempts to get approved for the App Store. Each rejection had a bug listed they found. They also had rejected us for things like “Doesn’t handle off-line mode cleanly” and “Cannot mention upcoming features” because they broke rules and agreements. In the end it was a good thing, we shipped out a better product. We’ve heard horror stories about 2 week wait periods, only to be rejected for a small little thing, and then another 2 week wait period. Currently, for us, the turn around for Approval or Rejection was about 2-4 days. They also work around the clock, even weekends (as you can see, I saw the API being tested on saturday and we were approved on sunday).
- Be Unique – We were lucky because we are the first real dating application in the store. There are some things like “Carlos’s tips to dating women” and “iCycle – Know Your Partner’s Menstraul Cycle.” We really had the advantage to be the first, and we’re seeing sign-ups go through the roof. Hopefully this will continue.
If anyone has any questions about the iPhone App Development process, feel free to comment or question. It has been an interesting experience, and hopefully it will pan out great for the future.