People like to complain how the web service APIs (read: iCloud) are difficult to get working, but based on what I have read once you get it right it just works™ perfectly. Google's offerings, on the other hand, seem to be easy to get working, but there are a lot things that need to be just right before they work as they should.