The other day, I finally delved into iPhone development. I battled with getting to grips with the idiosyncrasies of Mac OS X, XCode alone, and then there's the very alien approach to programming that Objective C and developing for the iPhone in general brings to the table.
I must be honest, the whole process of learning how to develop for the iPhone which was a humbling experience but a good one none the less.
For 2 days, I pretty much learnt OS X, Xcode, Objective C and iPhone development from scratch and I came up with an application that has RSS aggregation and ties into a project website I've been working on to pull data from a server.
So far, I've learnt to the navigation bar, toolbar, searchbar, xml parsing, grabbing data using the connection classes and so on, so forth.
There are multiple tabs in the navigation bar, and these all load a different section of the application.
The current screen to the left shows a list of RSS feeds as pulled from a plist data file.
When a link above is clicked, as per standard iPhone navigation bar functionality, the screen scrolls over to display the new specified page.
This page then contains a list of the news feed stories from the relevant website chosen in the previous page.
This data is grabbed on the fly and a load ticker is displayed to denote progress.
A UIWebView is used to display data.
This posed a few challenges, in that many of the images were too large for the area and caused the user to have to scroll within the UIWebView.
To combat this, I wrote some simple JavaScript to resize the images to fit the available width that is executed when the page is loaded with the news story.
A search is performed and the list of contents for the current search query is processed by the accompanying website for the application and a list of items is sent back and processed by the application.
When an item in the previous page is clicked, a detailed enquiry is made for the relevant item and the profile page is updated.
You can see various stats being displayed, although I've used a placeholder for the profile image.
I've yet to implement profile pictures in both the app and the website.
It was an enjoyable couple of days and I can't wait to get some more done when I have the time.
Let's follow up a positive with a negative, however.
Applying for iPhone development has probably been the worst part of this experience.
While Apple were happy enough to take money to join a developer program where they're presumably going to take a fair bit of your profit from ads and sales anyway, they further extract the urine by refusing me on the grounds that they could not identify me and wanted me to send a notarized copy of some identification.
Notarizing identity documents is the kind of thing you'd need to do if you're entering another country, not just join some damn developer program.
Apple are also as slow as cat-shit in getting back to you too, so I can't say this has been entirely positive.