The online home for Greg Leedberg, since 1995.

Sunday, April 02, 2006

We Need A Standards-Based, Web-Based Calendar / Address Book Solution!

For years (all throughout college and grad school, really) I have used, and loved, Palm computers. Specifically, for 3 years I had a Palm IIIxe, and then got a Sony Clie. I used them for keeping track of my schedule, making to-do lists of school assignments, and, most of all, keeping an address book that contained "last known good" contact info for basically everybody I've ever known since high school. That functionality was a "killer app" for me during college, and the ability to carry it all with me to classes was what closed the deal. I really feel that my Palms made life a lot less stressful during college.

But then I graduated and got a job. Since starting my real-world job, I have found that I certainly still require those functions -- calendar, to-do list, and address book. However, for my work-life, all of that is provided by the groupware software we use at work (Lotus Notes). Notes is certainly far from perfect, but it provides an amazingly well integrated set of functions. Group-oriented calendaring, to-do's, email, address book, instant messaging, and even journaling functions are all there, and all work together amazingly well.

So, I no longer require a Palm for my work life. However, I still need that functionality in my non-work life. I still would like to keep an address book of everyone I know, without it being tied to my employer. I still have appointments and events I'd like to keep track of in a calendar. But, the thing is, I no longer feel that I need to have all of that contained in a dedicated, separate device.

So this is where the story begins. After 6 years of using Palm computers, I was ready for something different. What I specifically wanted was to find a calendaring/to-do/address book application that I could run on my desktop. Additionally, I wanted it to be able to sync with a web-based calendaring/to-do/address book system, so that I could view and edit all of that over the web when I am away from my computer. Lastly, I really wanted the syncing between the web and desktop apps to be transparent, i.e., I don't want to have to push a big "synchronize" button, I want the programs to talk to each other automatically whenever I make a change. With this set up, I get the benefit of a good desktop interface, a web-based system that I can access from anywhere I have web access, and transparent syncing between the two.

To make a long story short: after extensive searching, I have not found anything that fully accomplishes what I am looking for.

I found several open-source, web-based groupware applications (notably Zimbra and PhpGroupware), but these all seemed to be either overkill, expensive, or, in some cases, buggy. I also found a standards-based, web- and desktop-based solution which integrates seamlessly with other desktop applications (ScheduleWorld) -- but it seems far from complete so far (can't edit from the web). So none of these all-in-one solutions seemed to work. I started to look at standards-based applications, to see if I could piece together a solution.

One pairing that comes close involes Mozilla Sunbird. Sunbird is made by the same organization as Firefox and Thunderbird, but Sunbird is a calendaring/to-do application. Sunbird also includes functionality to remotely publish and subscribe to online calendars. It uses the iCal standard employed in Apple's iCal application. There are free services out there that will host iCal calendars (such as iCalExchange), and I was able to get the syncing working. iCalExchange lets you view your calendar over the web after it has been published by Sunbird. However, at least in the case of iCalExchange, you cannot edit the online calendar. All edits have to be made in the desktop client, and then are viewable on the web. Web-editability is one of my primary needs, so this partial solution was out (I say partial because it only addresses calendaring and to-do's, not address books).

One other partial solution I found was a combination of Microsoft Outlook and Yahoo! Calendar and Address Book. First, some background on these two systems. Microsoft Outlook is the desktop client to Microsoft Exchange, which is Microsoft's competitor to Lotus Notes. However, Outlook can run without Exchange, and provides all of the functionality I need, plus more (email). Despite my sometimes dislike for Microsoft, Outlook is actually not that bad of a program. Yahoo! provides an online groupware-ish solution in the form of Yahoo Calendar and Address Book. These are web-based calendaring, to-do, and address book systems. They have amazingly nice interfaces for web applications, and also are able to import/export tons of formats, so your data is not going to be forever locked into your current vendor (one of my fears throughout this search).

So, here we have one good desktop client, and one good web client. Luckily, Yahoo also provides a program called IntelliSync, which allows you to synchronize your online Yahoo data with a number of desktop applications, including Outlook. This is very, very close to what I want, obviously.

But, not quite. There are a number of problems here as well that become apparent when you start to use it. First and foremore, Intellisync is not transparent. You have to manually run IntelliSync and press a "Sync" button in order to synchronize Outlook with Yahoo. Which means every time I make a change to one, I have to make sure to synchronize it in order to see the change in the other. Annoying. The other problem is that if I am going to have Outlook open most of the time for address book / calendaring / to-do list functions, I might was well just use it for email as well, rather than having Outlook open as well as Thunderbird. Which brings up two new problems. One, I really like Thunderbird as an email client, and I really don't like Outlook for email -- it just doesn't "feel right" to me. Also, Outlook doesn't seem to do spam filtering on IMAP email accounts (which is what I use so my email is always accessbile online as well as from my desktop -- just like what I want for calendaring and address books!). I get a ton of spam, and Thunderbird does a great job of filtering it over IMAP. I can't give that up.

So, Yahoo / Outlook was as close as I could get. In looking at the problems with this combination, I realized what the ultimate solution would be: transparent syncing between Yahoo and the various Mozilla products. By which I mean, the Yahoo address book should sync transparently with the Thunderbird address book, and the Yahoo calendar/to-do list should sync transparently with the Sunbird calendar/to-do list. This statement here is really my big conclusion. I really think that there are a lot more people out there who would use this solution if it were available -- but it isn't. Mozilla makes excellent desktop software, and Yahoo makes excellent web software. Plus, there seems to be a growing desire for web-accessible groupware-like functionality amongst home users. We really need transparent syncing between these two excellent software sets. Yahoo does not provide an open API for developers to access its calendar and address book systems (it does provide APIs for several of its other systems). If they provided this, I'm sure that someone out there would write a plugin for Thunderbird and Sunbird, if Yahoo didn't want to do this themselves. Do you hear me Yahoo? Mozilla? We want this!

For the time being, I have decided to just use Yahoo's online calendaring and address book systems, with no desktop part of the solution. This isn't ideal though. If I lose my internet connection, I also lose access to these important pieces of data. It's good for now, but I will certainly keep looking for my "ideal" solution. And if anyone else out there has searched for this sort of a solution and found something closer to it, let's discuss in my message board!

Labels: ,