Background

I've designed a couple of apps but never actually developed an app from scratch or went through the developer registration and app submission process with Apple so I was intrigued to see what was involved.

Recently at Kareo we had a hackathon day where we could work on a project of our choosing, enabling us to explore technologies and learn new things. I figured that was the perfect opportunity.

Marty Cagan's book is something we constantly refer to for product development guidance and best practice. If you haven't read it I highly recommend it.

Using Titanium Studio for iPhone development

Any Objective-C developer may tut when they hear I used Titanium but it was so much easier for me to get something up and running.

With Titanium you can write mobile apps in Javascript, which then gets compiled to native (for iOS or Android) when you publish. So if you have some web development experience you may find this easier to get started.

Lessons learned developing an iPhone app

The whole developer registration and app submission process is not a very friendly experience. Apple do provide a step by step guide throughout, but you're jumping from one website to another, using various certificates, from iOS Dev Center, to the Apple Store, to iTunes Connect, to Xcode and the terminology can be hard to get your head around.

Styling and positioning can be awkward. At least, it seems harder to work with than CSS. I sympathise more with iOS developers now and realise why it might be easier to cut out graphics instead of building highly detailed buttons with code.

Remember to prepare your submission assets in advance. It's very easy to rush this part for the sake of getting your app submitted. Icons, description, keywords etc.

Submitting to the App Store takes a while. It took about 10 days for this app to be approved. I've also tried to push another release since, which was rejected as the app contains an external link to Amazon. So you never know what you're going to get when it comes to the App Store.

Now available in the app store

Let me be the first to say here that this is a very basic app with limited functionality. It is really a "Hello World" style app helping me to learn the ropes, but hopefully you'll find the advice as useful as I did.