For this column, I thought I'd take a look at a product that I've previously not been impressed with, namely Zimbra. Zimbra, or more correctly, the Zimbra Collaboration Suite, is a groupware product, ala Exchange, Domino, Kerio, etc. It does calendaring, email, contacts, etc. Probably the big differentiators between Zimbra and the other products I mentioned are that it is designed to be used through a web interface, and that you can download the source code for the product.
Two of the things that I had not liked about Zimbra in the past was its lack of offline support, and the way it dealt with fat clients. Regardless of the "we are always connected to the Internet" meme, the truth is, no, we are not. There are times when you're offline, a web - only client is no good at anything but the most basic offline work, and that's just the reality of the situation.
Well, Zimbra has created an offline client to address that very need. It's still in development, and is being touted as an alpha version. From what I can tell via the release notes and other information on the Zimbra Desktop entry in the Zimbra Wiki, Zimbra Desktop is a local java background process that talks to the Zimbra server for synchronization, etc. You still use it via a web UI that connects via port 7633 at localhost. If you read the release notes, you can see that it still has issues. But, it's a good start, and I kind of like how Zimbra is dealing with UI issues for offline. By going with a a local client - server setup for the UI, they don't have to create client UI code for each platform. They just use the same UI, only it connects locally instead of externally. All in all, a rather elegant solution.
My Top 50 Mac Applications
Top 10 Mac Productivity Enhancements
iPhone and Steve Ballmer
Using Vista and Linux on a Mac, Part One
The other issue Zimbra has had was fat client support. While they supported almost everything via iCal, IMAP, SMTP, etc., they had a separate conduit for Outlook that let Outlook treat Zimbra like an Exchange server. If you use Outlook, that's great. If you use other groupware clients, then not so much. Their answer was to either just use the IMAP/SMTP/iCal etc. features or their iSync connector. Until recently, I'd not been happy with that. For one, as an Entourage/Outlook user, I can tell you there's more to groupware than just email and .ics files. It's not as complicated as Exchange and Domino try to make it, at least not for most of the SMB market, but it's more than what you get out of the shipped versions of Mail and iCal.
Zimbra's other solution for fat clients is their Apple Desktop Connector, which talks about connecting via iSync. I had dismissed this a while ago, but after talking to Zimbra about it, I realize I shouldn't have. First, it's not an iSync connector, it's a Sync Services connector. This seems like a minor semantic detail, but it's not. iSync is a manual application designed to manually synchronize Sync Services data with devices such as cell phones. Sync Services is an OS service that allows different applications to synchronize data. So for example, Microsoft Entourage can synchronize calendar and contact data with iCal and Address Book, respectively.
What I found from Zimbra is that the Apple Desktop Connector is a process that talks to both a user's Zimbra Server and Sync Services for pretty much all non-email information. This means that to use Entourage with Zimbra's desktop connector, all you do is set up an IMAP account in Entourage, then have Entourage talk to Sync Services for contact and calendaring, and you've got what amounts to full Entourage connectivity with Zimbra. I don't know all the differences between this setup and what you'd get with the Outlook Connector, but it's better than having to sync manually. And of course you also get the advantages of being able to sync with Address Book, iCal, and .Mac if you like.
I've been a big fan of Sync Services since it was first talked about as part of Mac OS X 10.4, and this is a really neat use of it. If you think about it, it allows any Sync Services-compatible application that deals with contact and calendaring data to work with Zimbra. This is not only stuff like Entourage and iCal, but really, anything. For example, Daylite, a CRM application suite for Mac OS X from Marketcircle will support Sync Services in version 3.5. So that means Daylite users get integration with Zimbra for free. Since Mark Space's Missing Sync for BlackBerry supports Sync Services, you get (not over the air) BlackBerry support. (Since Mark Space supports Sync Services for their Palm and Windows Mobile products, you get those devices for free as well.) The replacement for Now Contact and Up-To-Date, "Nighthawk," will support Sync Services, so Zimbra can support them for free. Spanning Sync, which lets you have Google Calendar talk to Sync Services, should be able to sync Zimbra and Google Calendar data.
As well, if your application supports Sync Services, you get iPhone support for free. No, it's not OTA sync, but it's better than nothing by a long shot. If you really dig into Sync Services and what it can do for your application and your user base, it's more than pretty neat. It means you can interact with all sorts of devices and applications and not ever have to do anything but support Sync Services. By adding Sync Services support, Zimbra made what I consider to be an incredibly astute, and forward-thinking decision, and I'm really sorry I didn't realize it earlier. By supporting Sync Services, Zimbra has -- with one decision -- opened the Zimbra Collaboration suite to a range of applications that would take what amounts to an infinite amount of time to support individually. As Sync Services improves, the story only gets better.So for anyone looking for a solid, flexible, standards-based groupware solution that supports a wide range of clients on the Mac, take another look at Zimbra if you haven't already.