Windows 8 Mail App, How To: Bring Back Google Calendar Events
This is a post from my blog. It's a bit of history on the EAS, CardDAV/CalDAV, Google Calendar API fiasco between Windows Phone and Windows teams and Google.
The Mail, Calendar, People and Messaging suite of apps in Windows 8 have been updated, and while it is nearly a very positive welcome set of changes, there is one side effect: Google calendar support is removed entirely.
To understand the why, you need to go back to some of the feuding that I talked about in this article: Microsoft vs. Google: Services. In particular you'll want to focus on Google dropping support for Exchange ActiveSync (EAS).
The Verge announced in mid December that Google would be dropping EAS support for services like email, contacts, and calendar. It was somewhat rumoured around the end of November. Either way, the announcement was roughly 3 months ago. Not even 2 months after the launch of Windows 8. This announcement affects Windows Phone and Windows 8 being that each platform relies on EAS for its communication with Gmail (email, calendar, contacts). Google's solution? To provide CardDAV and CalDAV support. Microsoft didn't have support for these protocols at the time.
Now, this is where things get a bit hairy. Amidst a ton of backlash, Google decided to extend Windows Phone support for EAS to July 31st. This announcement was made pretty much the last day of January 2013...but with no announcement whatsoever about Windows 8. Around the similar timeframe Microsoft announced that it would be providing CardDAV and CalDAV support to Windows Phone. If you're keeping score at home, this means that Microsoft would be providing an update to Windows Phone which (if updated prior to the July cut of) would prevent any service interruption with Google's email, contacts, and calendar syncing on Windows Phone.
But, there was no announcement from the Windows team about CardDAV or CalDAV support. And if you read above, Google did not announce an extension for EAS support on Windows.
If that wasn't confusing enough, on March 13th Google announced that it would be shutting down support for the CalDAV API. The API would now be deprecated and will be discontinued on September 16, 2013. However, some whitelisted developers will be able to use CalDAV. They are pushing developers to use the new Google Calendar API. If you're counting at home, this is the score card:
- Late November/early December 2012 - Google announces it will discontinue EAS support for Windows Phone and Windows 8. Suggests it wants developers to use CalDAV and CardDAV instead of EAS.
- Late January 2013 - Google announces an extension for EAS support to July 2013 for Windows Phone users but not for Windows.
- Late January 2013 - Microsoft announces it is working on an update for Windows Phone to support CalDAV and CardDAV in place of EAS for Gmail.
- Mid March 2013 - Google announces it is deprecating CalDAV API and it will be discontinued on September 16, 2013. Google is pushing developers to use the new Google Calendar API.
Yes, in the span of 4 months Google has: announced it is discontinuing EAS support, pushed developers to use CalDAV/CardDAV, announced CalDAV API is discontinued, and then pushed developers to use Google Calendar API. I don't know about you, but this leaves a bad taste in mouth, especially after the Google Reader services being shut down. Google's new motto might have to be: "Don't be evil...unless you're us."
But anyways, back to the timeline above. So, Mary Jo Foley reported on March 14th that Microsoft is still okay to implement CalDAV support on Windows Phone. So that's a plus. In that article there is a little nugget that said the following:
The Windows team is not going to be adding CardDAV or CalDAV support for users who are trying to connect to a Google account via Mail/Calendar/People after January 30.
Microsoft has an article on integrating Google services with Windows 8/RT: How to sync Google services with Windows.
You'll notice one glaring omission for Google Calendar support on the new Windows 8 Mail update: there is none. Actually, they say the following before offering steps to sync Google's email and contact services.
....And you'll no longer be able to sync your Google calendar with the Calendar app.
Very disappointing. Now, before I show you a workaround (which may or may not be suitable to you..), here's my $.02 on the matter:
- Google is at fault
- Microsoft is at fault
..Google more-so, but Microsoft is at fault for not communicating (properly) across Windows and Windows Phone teams the whole CalDAV/CardDAV bandaid that is being worked on. In particular, if Google account holders on Windows Phone haven't lost email, calendar, and contact support, then Windows 8 users shouldn't either. There's no other ifs, ands, or buts around it. I understand that Windows Phone and Windows have different development tracks. But if the solution is releasing a Calendar update for Windows 8 and it drops support for Google Calendar, then maybe that update shouldn't have out until they came up with a better solution.
Now, the unfortunate side effect of all of this is the following:
What if there wasn't another solution? What if the Windows Phone team was the only team granted longer support for EAS. If so, this means that the Windows team was never granted an extension. Then the development they were already working on for the Calendar app would have had lost support for Google Calendar services regardless on update. On the other side of the coin, what is Microsoft doing to support Google's calendar functionality? IMHO, it can only be one of two things (not support Google's calendar functionality should not be an option for a company the size of Microsoft...):
- Play nice with Google and get Windows whitelisted for CalDAV support so functionality doesn't break after September, then update Calendar to support Google Calendar API.
- Update Calendar to support Google Calendar API.
My guess is that they're working in the background on updating Calendar to support Google Calendar API...and this should restore Google's calendar syncing functionality to the built in Calendar app. But that's just a guess, but maybe more-so a hope. I'm sure when it came down to it, it was a timing issue and different development tracks that caused EAS support to run out for Windows for updates to Mail...and the Windows team was stuck at a crossroads of either programming support for CardDAV and CalDav as opposed to focusing development efforts on the Google Calendar API.
It is interesting to note that the People application is still working, which was part of the updated suite of applications. If this is the case, it's probably more evidence that Microsoft is going the Google Calendar API route. This is largely because they probably rolled with using CardDAV for contact support...and just didn't opt for CalDAV support since it'd be deprecated in September.
Another interesting tidbit is that there is another wave of core application updates coming. Not to mention the Windows Blue update. If that's the case, it's very possible that there were concurrent builds of the Calendar app going on: one without Google Calendar API support (the one just released) and the one with Google Calendar API support (hopefully next update).
All that drama aside, I will openly say that I'm a Gmail user. I love their calendar, and whilst I feel their contact functionality is a bit out of date and clunky, I do love their calendar functionality. I also have a Microsoft account, which is essential for this workaround.
If at this point you're thinking to yourself: Steve is just going to suggest I export my calendars from Gmail and import them to Windows Live Calendar....then you are 100% right.
Before I continue, I want to reiterate something I've been screaming for months: MICROSOFT PLEASE UPDATE THE CALENDAR WEB INTERFACE! OUTLOOK LOOKS AWESOME, SKYDRIVE LOOKS AWESOME, CONTACTS LOOKS AWESOME!! CALENDAR LOOKS LIKE CRAP!
Okay, rant over.
- Gmail account
- Microsoft account
- A web browser not from the Stone Age
- Login to your Gmail account and go to your calendar. You could also just go to calendar.google.com.
- On the left hand navigation pain click the down arrow carrot to the right of "My Calendars" and click on Settings. You could also hit the gear in the upper right hand corner of the calendar and click Settings, then click on the Calendar tab.
- From there, you'll see a link to the right of the "Create new calendar" button that says "Export calendars". Click on that. This will download a zip of all of your calendars. Each calendar is in iCal format (ICS). Go ahead and unzip them locally, you'll need to import each individually.
- Go to your Windows Live calendar. You can either go to outlook.com, click on the arrow at the top left, then click on Calendar.
- *Cringe* at the site of an out of date calendar web application, then click on Subscribe.
- Click on the "Import from an ICS file" radio button.
- Click Choose File and pick one of the calendars that you unzipped.
- Pick whether to "Import into a new calendar" (and if so, name the calendar, pick the color) or "Import into an existing calendar" (and select the calendar to import to).
- Click on Import calendar.
At this point, your Windows 8 Calendar app should show your new events. If not, it might need to sync first. You can force this by closing out of the Calendar app and reopening it.
I know this isn't perfect, and this may force some users to move over to Microsoft's calendar. It's making me think twice as well.