Last weekend I spent one and a half hour watching the presentation of Google Waves and by all means it was very impressive. This was software engineering done right: a set of functionality, founded in standardized protocols and interfaces and a portable user interface in the browser. I'm pretty sure, this will transform communication over the network.
This also was a reminder that Google operates at the cutting edge of the Web. They are, app after app, building a complete solution to store all personal information in the web, including sharing data with other.
I've been always impressed with their online products with one deal breaker: they're only available while online and they would not really sync to the iPhone. That's why I've been using MobileMe and it has been surprisingly good to me since its introduction: I experienced none of the issues that plagued others. But Apple is not a Web company. During the last year they only surgically improved MobileMe and major functionality, such as subscribing and sharing calendars, is still missing. And since Apple treasures secrecy over everything, we don't even have a clue if it will ever come.
Now, since quite a while, Google offers calendar and contact sync for the iPhone. I haven't really looked into this as sync is a tricky thing and third party applications, more often than not, mess up your data. For two reasons I gave Google iPhone sync a try: first it is using Microsoft Active Sync, which is native to the iPhone and should be more than just a hobby for Google as it is also the key to the Windows Mobile world. Second, you can switch back and forth between Google and MobileMe in minutes and even run both in parallel on the iPhone (provided you can sync local calendar and addresses with Google, which I'm using Spanning Sync for).
So I retired Apple Mail (which I still think it's the best e-mail client around and iCal (which is pretty but slightly cumbersome to use) and moved over to Gmail and Google Calendar. Both offer offline support as well as a notification app for incoming e-mail and due events.
I've been running Google iPhone sync now for a couple of days and I'm utterly surprised how well it works. Changes in Google Calendar - except notifications - sync over almost immediately to the iPhone. Same with contacts in Gmail. Only Gmail e-mails are (not yet, hopefully) pushed via ActiveSync, but they can easily accessed via IMAP.
So what's missing? ActiveSync, for some reason can only sync 5 calendars, which could be a restriction. Groups in Gmail contacts are not synced. Also, generally, contacts are a little bit underpowered in Google and some useful fields, like birthday, are missing. I hope Google has some plans here, for example integrating it with the new Google profiles, so that addresses can be enriched automatically with public data in a profile.
As it is Googles habit, everything is free, which I see with mixed feelings as it relieves Google from all obligations to its users, except their promise to do no evil, ever.