Monthly Archive for June, 2006

Page 2 of 2

Cocoa SOAP/XML-RPC is a PITA; Core Data is the shizzle

Atlassian had its 3rd FedEx Day today, so Jens and I tried to tackle CONF-1837 and implement an offline client for Confluence. I've been meaning to try out Core Data for a long time, so this was a perfect opportunity (cross-platform issues aside).

I have to say that Core Data is just amazing! We were able to recreate all of the objects required to store Confluence Spaces and Pages using Xcode's data modelling functionality (including referential integrity – weeeee!). What blew me away was that we did not have to write any model, controller or view code to get the interface working:

I shall call it... iConf

The only code written for the entire app (please ignore its temporary ugliness) was to retrieve the Spaces and Pages via XML-RPC and pass them onto Core Data. Yep – that entire interface was displayed without writing any code! It's one thing to see it in a tutorial, but a totally different experience to make a 'useful' app.

and now… for the bad part. Jens and I spent half of the day futzing with Apple's WebServices framework to get Page retrieval working. The WebServices framework appears to be a black hole in Apple's Documentation. There's little information on the methods for making SOAP/XML-RPC calls in a Cocoa application, let alone code examples of how to do it!

Fastest Delivery… ever!

I ordered an extra 1GB of RAM for my MacBook Pro at 1:45AM this morning, and had it delivered at 4:15PM this afternoon, making the time from order to delivery 14 1/2 hours.

Woah.

So thankyou to the kind people at AusPCMarket for shipping it out so quickly! :)

(For anyone who's interested, bumping the RAM up to 2GB has made my stuttering little MacBook Pro teh snappy. I highly suggest maxing out the RAM.)