So what about Apple Mail? Currently Apple Mail has an Exchange connector. From my experience this Exchange connector is just a façade on IMAP. It appears to behave just like IMAP except that it hides/ignores meeting invitations and receipts. I have not found it to be terribly useful. For the most part email is not a problem.
For the Address Book we are in pretty good shape too. Users can configure Address Book to use the Exchange Server as an IMAP server. When you compose an email Mail automatically queries your local address book and your LDAP servers. This works pretty well. You have to know a little LDAP voodoo when you first configure LDAP and you have to update your LDAP password anytime you change it on the Exchange Server.
Calendaring on the Mac with Exchange is in a pretty sad state. You have two software options. There are a couple other online service options but let’s stick with the software options for now. You can buy GroupCal from Snerdware. This is a great program for someone who needs to sync their calendar with Exchange but still use iCal. It works with sync services to talk to iCal. You set up one calendar in iCal as your Exchange calendar. It then connects to the Exchange server over Outlook Web Access. This is rather remarkable because Apple has change the format in SyncServices and Exchange has a couple of fundamental design differences in the way it handles repeating meeting exceptions, all-day events, invitations, and timezones. GroupCal lets you subscribe to other people’s calendars and display them in iCal. GroupCal has some support for resource/room scheduling. Every time Apple or Microsoft change something in their systems Snerdware has to scramble to catch-up. Like Thursby‘s DAVE/ADmitMac, if you are the lone mac user in a sea of Windows users you can use this software to be a good citizen.
Last year when day light savings time changed I spent a week with my calendar an hour off because my Mac was patched for the new DST rules but the Exchange server wasn’t. After a week, all was well. Whenever I travel I am very careful not to sync if all my timezones do not match or risk creating duplicate events all over the place.
The other Exchange calendaring option is Microsoft Entourage. In Entourage 2004 Microsoft added iCal sync. It was not in the first revision so you have to run Microsoft AutoUpdate to make sure you are current. Usually when people run AutoUpdate they are shocked to learn how many updates have come out. It is very frustrating because there is not one roll-up update. You have to run AutoUpdate over and over again until you finally see the message that “There are no updates available for you Microsoft software at this time.” You may need to run it a dozen times. If you are on Entourage 2008 the Sync feature is included in the first release. When you turn this option on, it will create a new calendar in iCal called “Exchange”. You do not have any options. It is just there. The sync is pretty quick. You have to leave Entourage running for it to update. iCal does not have to be open because Entourage is talking to SyncServices.
I usually launch Entourage and leave it running in the background. I do not want to get into an Entourage vs. Mail/iCal/Address Book debate. I have used Entourage in the past and currently choose not to use it as my primary app. The point of this article is how to use Apple’s tools to connect to Exchange. The fact is you need to have another program as a conduit to Entourage.
The sync between Entourage is tenuous at best. I am very careful to keep the minimum amount of data on the Exchange server. I maintain a private calendar in iCal for historical calendar events. Once an event has passed I copy it from the Exchange calendar to the local calendar and delete it from Entourage. Notice I did not say move. Moving an event from one calendar makes SyncServices unhappy. You do not want SyncServices to be unhappy. The whole point of Exchange is to trust whatever is on the server as the authoritative source. I should at any point be able to look on the Exchange Server and see my current calendar.
The support for meeting invites is really weak for Exchange even in Leopard. I generally accept or decline meeting invitations in Entourage. This causes the least problems with Windows co-workers. When accepting or deleting an invite Entourage will ask you if you want to reply to the meeting organizer. You can choose Reply-with-comments, Reply-with-no-comment, or No-Reply as appropriate. If I am accepting or declining a meeting invite, I will choose the correct reply. If I am deleting a meeting that happened last week I do not want to send a reply. iCal infuriates me in this area. First, it sends a reply automatically without asking. This is very embarrassing if you delete a bunch of events or a whole calendar all at once. Yup – that was me who sent you all those meeting cancellations from 2006. You can just ignore all those messages. It also sends those meeting message via whichever email account you happened to be view last. Which in my case it probably not my Exchange email address. If I delete messages in Entourage I avoid this whole mess. If I have to delete an invite in iCal I first unplug my Mac from the network and turn off Airport. This way my Mac cannot get to the net. I delete the iCal events and let the email message pile up in my outbox in Mail. I then go to Mail and delete all the message. I then quit and restart Mail to make sure there were no other outgoing message hiding in the corners waiting to go out. Only then is it safe to re-enable networking — please fix this Apple! I’m sure Apple is thinking that the computers should all talk to each other and not bother the humans. That is not reality.
My other complaint against Entourage is its lack of resource scheduling. I cannot book a room in Entourage. I had hopes that Microsoft would fix this in 2008 but I was let down. The only way I know to book a room is to fire up Outlook on VMWare. But I digress. If Entourage cannot do it, iCal by extension cannot.
So here’s what I want. I want Apple to bring the ActiveSync license to the desktop — at least for calendaring. I love what Apple is doing in the calendar server space but unless you can play nice with Exchange it is not going to do me any good. Using the iPhone implementation as a template have one place where I enter my Exchange server credentials. I think this should be a system preference panel but it would be acceptable to bury it inside of Mail. This way I would not have to enter my username and password in 4 places every time it change — the fourth location is Directory Utility for WINS/SMB.
Like the LDAP implementation in Address Book, I should be able have a personal calendar along side the Exchange Calendar. The ability to see other people’s calendars and schedule resources would really round out the implementation.