Life in the cloud...
So ever since I got my iPhone 3G almost a year ago now (End of Aug 2008), I've been slowly trying to come to grips with the real potential of this device. Did I mention that this thing makes phone calls too? :P
Having a 24/7 connection to the intrawebs is a game changer for me as this opens up endless possibilities. But the ability to get my email, check my calendars, have access to my contacts and keeping the calendars and contacts always up to date have always been an issue for me until now...
Enter Google... they pretty much own me now... let me explain... My main email is a Gmail account, my calendar is through Google Calendars, my contact list is sync'ed through to Google Contacts (little known feature as part of Gmail). I'm playing happily in Google's eco-system and I'm hoping that they keep to their motto/code of conduct of 'Don't be evil', and a whole bunch of my life is now kept in the Google cloud.
Anyways, it wasn't easy getting to the point of synchronisation zen for having access to my up to date email, calendar and contacts. Actually email was easy as it worked right off the bat with the iPhone and accessing Gmail through IMAP, however calendar and contacts are trickier due to the myriad of computers, devices and operating systems that I need access to this information from.
My work life is all Microsoft centric, I'm a software developer/IT consultant for a company that does pretty much work revolving entirely Microsoft products/offerings/solutions. But at home I'm an Apple fanboy running Leopard OSX and use my iPhone for most things.
Also I need access to multiple calendars, work/personal/wife's calendar and these span both Google Calendar and Microsoft Exchange, and thankfully my requirements for my contact list is that I only keep a personal contact list.
Oh, did I mention that a requirement is that I don't have to spend a single cent? :) Even though there is a great solution using a paid offering like MobileMe (which works very well, and is well worth the money), my super tight-arse asian upbringing led me to find a free offering...
So after much research online, trail and error and testing, my solution which suits my purposes is as follows:
This is used to host my personal and work calendar, as well as my wife's calendar. As Google Calendar allows multiple calendar, my main calendar is the work calendar, and I also created a personal calendar. My wife has her own Google Calendar, which is shared and linked to my Google account.
Basically, I have the luxury of having a work computer that is always on, and on my work network, so I use Google Calendar Sync to 2-way sync my Outlook exchange calendar with my main Google Calendar (this is a limitation on the tool, which can only sync with the main Google Calendar), which takes care of getting my work calendar up to the cloud.
These calendars (3 - Work, Personal and Wife's) are then synced back home to iCal my Mac through CalDAV (Enable Google Calendar in Apple's iCal).
Same process to setup my iPhone to sync to my Google Calendar (Calendar & Contacts Sync: Set Up Your iPhone or iPod Touch), noting that I set it up for when my iPhone was on OS Version 2.2.x. Version 3.0 allows you to sync with Google's pseudo-"I'm pretending to be an Exchange Server"-server as well as to a local calendar through iTunes, but since the old way still works for me, I'm leaving it status quo (if it ain't broke...).
Extra note is that you'll need to log into http://m.google.com/sync to choose which Google calendars on your account you would like to sync (Calendar & Contacts Sync: Choose Which Calendars to Sync)
Since I am only interested in syncing my personal contacts, I'm only syncing my contacts stored in Address Book on my Mac to Google Contacts (iTunes: Syncing address book contacts with your Google contacts) which is done through iTunes everytime I sync my iPhone.
Technically, I can sync directly to Google Contacts from the iPhone as per the instructions for syncing the Google Calendar(s) to the iPhone and selecting the 'Contact' option of what to sync with Microsoft Exchange, but I have grown to like the photos of people I associate with contacts on the iPhone and Address Book on the Mac, and these do not get sync'd if directly synced with Google Contacts (although this is an assumption and I'm not willing to lose my pretty pics of people doing a test...). This works pretty well whenever I sync my iPhone with my Mac (every day), and most times update contact information on the iPhone which means I don't really get out of sync with the cloud.
Thing to note is that if you do not have an iPhone or iPod touch, there will not be an option to sync Address Book on the Mac with Google Contacts (as this option is only available in iTunes when syncing with either of these types of devices). I actually needed to do this on my hackintoshed netbook, as I do not sync my iPhone to this, so a workaround is described here. This will allow you to manually sync using the standard iSync functionality on the Mac.
Key benefit is that I have access to my calendar and contact information wherever I go. I have access to them whenever I am on a computer with internet access, so if I forget my iPhone or lose it, I still have this information handy. I also have the added benefit of using iCal or Address Book on my Mac to search, view, edit these in a nice UI on a client app. Another benefit which only occurred to me recently is that I'm no longer afraid of losing any of my gear as it's all stored in the Google cloud, and I'm not going to be overly put out, and lose productivity/efficiency by not having access to this information.
Nice touch is also having my work calendar to automatically update when I get invited to meetings, without having check my work email (which I don't do outside of work hours), and not miss an appointment which was organised with short notice based on having missed checking my work emails.
Personal benefit is that I am able to put appointments into my wife's calendar to remind her of upcoming things organised like dinners, birthday parties, etc. and they get sync'ed to her iPod touch. Similarly, she can put in appointments so that I can have visibility of these and not double book nights out with the boys when it's our anniversary or something like that... :) Now if I can only get her to enter in appointments in her iPod touch, and also to turn that darned thing on at home so that it will get sync'ed of wifi, then this might actually be useful... :)
Syncing with Exchange Calendar at work relies on a client desktop computer turning and running at all times, although I'm not sure if I can sync to multiple exchange servers in OS Version 3.0, which means I can do this directly over the air (although this would mean that I cannot edit/update my work calendar through Google Calendar if I don't have my iPhone or have access to Outlook Web Access).
This solution also puts a lot of trust and faith in Google in their code of conduct of "Don't be evil.", as they would have alot of personal information about me in Gmail, Calendar, Contacts, Search History etc. but I'm going to just put up with that based on the convienience/elegance of this solution. Oh, and the price is right... :)