Mobile Free (Partial Solution - Calendar Edition)

August 1, 2008 - 4 minute read -
iphone sync WebDAV ics

The holy grail is to have a computer at home, a computer at work and a computer (or a phone) in your pocket. Those things have calendars and contacts and email on them. You might use them at different times, but in the end, you want to know what you need to do tomorrow while you're sitting on the couch surfing the web on your MacBook Pro. And you want to know if you have plans tonight while your at work figuring out if you have time to start one more thing.

MobileMe seemed like a promising service that would do all of this, allowing you to sync all of your computers with the data on your iPhone. It happened over-the-air and gave all of the systems the same, unified view. And it works. Sort of. As long as you're just using a Mac and an iPhone. Usually.

Outlook support seems to be incredibly hit and miss. To the point where it's just not worth the hassle. You can read the forums about all the trouble people are having syncing with Outlook. Some people blame it on having Outlook hooked up to Exchange. Hello? That's like saying your browser won't work hooked up to the web? Who uses Outlook willingly without Exchange involved?

Partial Solution - WebDAV

Setup a WebDAV Server

There are plenty of Web Servers out there and plenty of hosting services. Many of them can support WebDAV. I'm using Apache 2.2 as my Web Server so I setup WebDAV there. Your configuration might vary based on what you are using of course.

Apache Configuration
I created a new virtual host for my WebDAV server and configured it as such:
<VirtualHost *:80>
<p>    DavLockDB /var/www/var/DavLock
    DocumentRoot /var/www/dav
    <Directory />
        AuthType Basic
        AuthName " DAV"
        AuthUserFile /etc/apache2/dav_svn.passwd
        Require valid-user</p>
<p>        Dav On
<p>    ErrorLog /var/log/apache2/dav_error.log</p>
<p>    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn</p>
<p>    CustomLog /var/log/apache2/dav_access.log combined
    ServerSignature On

Publish your Outlook 2007 Work Calendar to WebDAV

In Outlook. Right click on a Calendar and Choose Publish to Internet -> Publish to WebDAV Server

[caption id="attachment_135" align="aligncenter" width="300" caption="Publish Outlook Calendar to WebDAV"]Publish Outlook Calendar to WebDAV[/caption]

Enter in a path to an existing directory on the WebDAV server. This copies an ics file out to your WebDAV server and will periodically update it out on the server.

Publish your Apple iCal Calendar to WebDAV

In Apple iCal. Right click on your calendar and choose Publish. In the Publish on drop down, choose a Private Server and enter in the proper details.

[caption id="attachment_145" align="alignnone" width="300" caption="Publish your home calendar from Apple iCal"]Publish your home calendar from Apple iCal[/caption]

This will push the calendar out to the server so that you can subscribe to it from Outlook.

Subscribe to your Home Calendar in Outlook 2007

In Outlook. Choose Tools -> Account Settings from the toolbar. Then choose the Internet Calendars tab. Click the New... button.

[caption id="attachment_136" align="aligncenter" width="300" caption="Subscribe to a WebDAV calendar in Outlook"]Subscribe to a WebDAV calendar in Outlook[/caption]

Enter in the full path to the shared ics file on the WebDAV server.

Subscribe to your Work Calendar in Apple iCal

In Apple iCal. Choose the menu Calendar -> Subscribe and enter in the URL of the work calendar. [caption id="attachment_146" align= "aligncenter" width="300" caption="Subscribe to a shared Calendar in iCal"]Subscribe to a shared Calendar in iCal[/caption]


Now I sync my iPhone with my MacBook pro and all of the info gets onto the iPhone. Any changes on the iPhone to the Home calendar get pushed into iCal and get synced up to the WebDAV server. So the next day when I come into the office they show up in Outlook when it pulls down the changes from the Home calendar.

This is not MobileMe though. There is no over-the-air syncing. Each of the calendars is still only editable from its origin. (You can only edit the Work calendar from Outlook and the Home calendar from iCal.) But it works.