Hola world!
I've spent a good amount of time the last few days diving head first into the glorious world of Objective-C programming. Before I can do any serious planning for my application I feel I need to have a good head around the concepts in Object-C and how to do the basic things my app requires.
I'm much more familiar with web development languages such as C# and php so not only is the Objective-C language foreign to me, but so are some of the concepts around true software development outside the world of web applications. Not a lot of what I've worked on in the past has had to deal with the concept of memory management for example, which is extremely important in a low resource environment like mobile devices. My inexperience in this area isn't helped by the fact the iPhone doesn't have garbage collection, and so you have to get reference counting right or your application will leak like a sieve.
I've looked at many resources for learning iPhone programming, including website tutorials, Stanford University videos on iTunes U and the O'Reilly book, however I ended up using iPhone Programming: The Big Nerd Ranch Guide which was recommended on TWiT. It goes into great detail about every aspect of developing for iPhone, explains things very well, has great example applications you develop as you read the book and provides neat challenges at the end of every chapter to force you to think through and develop code on your own. It also has a great support form for people having problems.
Following the book I've developed this basic application (pictured bellow) that allows you to view a list of "possessions" (in this case whisky) that can be edited, re-ordered and deleted. Each possession contains basic details about itself, such as name, serial number, value and date created, along with a picture that can be added from the devices camera or picture album. I'm pretty happy with how it turned out, and feel I have a pretty good understanding now of how a simple iPhone application is structured, how to navigate between views, use table views to display and interact with data and how to write files to the applications sandbox.


The book has many more chapters to go which I will continue to work through, however the biggest questions I have regarding my app right now are how interacting with web services and using a SQLite database will work on the iPhone. Fortunately there are chapters for both these things coming up later.
As far as planning for my project goes, tomorrow I'm going to take a stab at working out interface designs. Before I can plan the structure for my code I need to know how many different views the app is going to have, how you navigate between them, what data they require and what user interaction they will have. From there I should be able to make an object diagram (which the book uses heavily to show app designs). The book recommends using OmniGraffle for this, which I will have a look at using the 14 free day trial, but the software better be amazing for the price they are asking.