DZone API and iPhone app

As “I already mentioned”:http://blog.nofail.de/2010/08/using-blocks-in-objective-c/, I am currently getting my hands dirty with Objective-C and iPhone application development.

The biggest problem with getting started was that I had no idea what application I could write for that device that “could become somewhat usable”:http://www.dzone.com/links/we_want_a_mobile_dzone.html. As I am a passionate tech reader, I consume a lot of articles posted on “DZone”:http://dzone.com. Usually I use a feed reader like “NetNewsWire”:http://netnewswireapp.com/ for that, which works very well for my MacBook but is nearly useless on the iPhone, because the DZone site is not very mobile friendly…

h2. Problems

Since there was no “DZone iPhone application”:http://github.com/phoet/dzone on the marked I started working on it. Parsing DZone feeds was easy, even though the buildin XML support on iOS sucks. There were “some nice libraries”:http://www.raywenderlich.com/553/how-to-chose-the-best-xml-parser-for-your-iphone-project that made my life easier.

h3. No deeplink

The DZone RSS feed does not provide a deeplink to the actual linked article, so one would still land on the DZone page… Since “DZone does not provide an API currently”:http://meta.dzone.com/questions/66/dzone-api, I started working on my own Rails application hosted on Heroku. Spidering the RSS, calling the page and extracting the link to the article is fragile, but it works (currently).

h3. No voting

One of my goals was to let the iPhone user vote for the article while reading it. The lack of an API forced me to do some more fragile login and posting stuff to the DZone page, but it works too (currently)!

You can read more about the API I created on the “actual page”:http://dzone-api.heroku.com/.

h2. iPhone app

The first version of the *”dzone mobile”* app has passed the iTunes store review process and is “available through the app store”:http://itunes.apple.com/app/dzone-mobile/id389511515. A version with some minor bugfixes is currently beeing reviewed. Have a look at updates and documentation “here”:http://blog.nofail.de/dzone/ or “here”:http://github.com/phoet/dzone.

h3. voting

You have got to provide your DZone login credentials if you want to use the voting feature. Go to the iPhone Settings > DZone and add your username and password. I want you to know that there is NO SSL, so your credentials will be submitted UNSECURE!

h3. more Features

If you are interested in pushing this further, you can “add bug reports or feature requests on GitHub”:http://github.com/phoet/dzone/issues.

!http://dl.dropbox.com/u/153067/dzone_screens.png(screenshots)!

DZone iPhone sugar!