Friday, October 20, 2006

My Holy Grail of Synchronization

the-holy-grail-of-synchronization

I came across this blog post (the link above) the other day claiming to have the “Holy Grail of Synchronization”. I started to get really excited as I clicked on the link, hoping for some relief to an issue that’s bugged me for a long time. Alas, it was only a guide to hack your way to synching your Outlook, Google Calendar, Gmail, iPod, and Mobile Phone together. It didn’t solve any of my problems, the best I could hope for it would be to raise awareness of this issue. So I decided to write my own thoughts down, with the hope of furthering that awareness.

My example compares my experiences with Palm and Yahoo in the realm of contacts and calendar syncing, but I could equally apply this to any device that contains address and calendar information, including Outlook and Gmail. In this article I mostly mention the address book, but the same can be applied to the calendar as well.

If there was ever an easy one sentence statement that would sum up what I want everyone to get from this article, it is this: Let me easily access my data so that I can share it with myself!

My Setup

Yahoo (Past and Present)
As for my email setup, I use Yahoo Mail. Yes I have a Gmail account, yes I really like it, but it lacks some features of Yahoo that I simply cannot ignore. So much so that I even have a Yahoo Plus account, which I happily pay $25/year for the use of.

It should be noted that Yahoo used to provide a tool for syncing with the Palm Pilot. It used to sync during the Palm’s HotSync process, when the Palm was trying to sync with the host computer. Yahoo’s tool would make a (often slow) connection to Yahoo to make updates to your web account. Often time the process would time out, or didn’t work at all.

I often felt the application would have worked much better if it would forgo trying to update Yahoo during the HotSync process and just update directly with Palm Desktop. I even wrote a few emails to Yahoo about this, but as usual, they never seem to respond to any user requests. I noticed the other day that Yahoo doesn’t even offer the application anymore (at least for Yahoo Mail beta users).

The only current way to get contacts into Yahoo is through their import procedures, which just require a specially formatted text file (CSV, vCard, etc) to import your contacts. There are no syncing abilities available.

Palm
I have been a Palm user for 8 years now. I started with the Palm III, and I used it to my hearts content until the device was on its last legs. Then I waited with that device a few extra months to get the Palm Treo 650.

If there was ever a complaint that stuck with me since my very first Palm, it was that I couldn’t share my contacts between devices. That’s why I got the Palm Treo – I was tired of trying to get my contacts on my Palm to be in sync with my cell phone. Finally that issue has been solved with the Treo, but I still have one remaining: I can’t sync my contacts on my Palm to my email address book.

Palm gives you the choice of 2 different applications to use when syncing your Palm device with your computer: Outlook and Palm Desktop. It should be noted that there are some utilities that will sync with Outlook, but I want no business using Outlook. I use web-based email for a reason – I have multiple computers and want access to my email from anywhere I am. I have been a Palm Desktop man ever since owning my first Palm. Anytime I have tried using Outlook, it just hasn’t worked out too well and I end up back in Palm Desktop land.

What I’d like to see

An application that can sync with everything; it would have a common database that would contain my address book. It would have plugins able to sync with all my devices/services that require it. It could access a Yahoo API to update users in my Yahoo Mail’s Contact list. It could contact directly with the Palm Desktop on my computer (and leave my Palm alone). Heck, it could even sync with Outlook, Gmail, Thunderbird, etc. Any company that wanted access to that data could provide a plugin for the user to install. It could be so simple.

I would like to see the application be a free open source tool. I would understand if a company was behind this effort and wanted to charge for plugins, but the base application would be free and open source. This way the application could avoid political issues (or at least attempt to). It could be ported to run on any OS, and if someone wanted they could write a plugin for it on that platform.

The application could set itself up by requesting which plugin it should use to import the users, then it could go from there. Conflicts? You can easily map out what fields are available for each service and provide an easy way for the user to decide.

What’s available now

These are the present possibilities as I see them. There might be other solutions, and if there are I’ll be glad to take a look at them. I’ll start off with my current setup, then move on to other services.

Here is my present setup for syncing my Palm and Yahoo (as per the Yahoo instructions):
1. Export my Palm address book via the Palm Desktop as a vCard
2. Go into Yahoo and delete all my current address book entries
3. Import the vCard with all my contacts in it


Plaxo
Honestly, these guys seem to be the closest to achieving the goal. My disclaimer is that I have never used them. I’m a little afraid of giving out all my contacts to a service that wants me to email and invite them to Plaxo. Stuff like that makes your contacts question if you are trying to sell their information.

Plaxo has a tool that claims it can sync with Yahoo and Outlook, but it will only touch a Palm if it HotSyncs with Outlook. To use this tool I would have to convert my address book over to Outlook, and I don’t use Outlook. Their solution is to export my contacts from Palm Desktop and import them into Plaxo. Why use them at all then? I can cut out the middle man and import those same contacts directly into Yahoo.

Goodlink
Goodlink is an Exchange (Outlook) synchronization tool that allows corporate users to read their email and keep their contacts and calendar in sync via the phone’s internet service. It has applications available for both the Palm and Windows CE devices. It basically makes these Smartphone devices act like a Blackberry.

My work bought me a Treo setup with this service (so now I have two Treo’s). I work from home, and I like that I can access my work email and work contacts while I’m not in front of my computer. It works out great when I’m making breakfast and I get an important email that I wouldn’t have gotten unless I was constantly hovering over my computer.

However, I despise the tool’s interface. When installed onto your Palm, it replaces the Palm’s address book and calendar applications. You can’t access any of your old contacts or calendar events, and you have to import them all into Outlook one way or another. Its interface is sorely lacking in features and the navigation system is not intuitive.

Coincidently, I ran into an article on how to break this take-over mentality in Goodlink. By making this change it allows you to manage the exchange contacts/calendar separately from the Palm contacts/calendar. Thank goodness I found this link; it completely made my day when I found it.

Chad Dickerson's blog

Conclusion

I hate to say it, but it seems like Palm is the thing holding me back the most. No one seems to interface with Palm Desktop, and nothing else will interface with the Palm except for Outlook. It’s hard to believe, since it seems like the Palm Treos are more popular than ever. They have been around for so long it boggles my mind that there isn’t some sort of solution for this problem.

Palm Desktop stores all of its data in a binary file. I’ve looked into reverse engineering this file to figure out if I can grab my contact’s information out it. There are a few sites that have tried something similar and posted their notes, but they always give up at some point. It just shouldn’t be that hard, I think Palm should have realized by now that their application is being worked around, they should open it more to inspire more development. Give us an API please!

As far as Yahoo goes, I know that there are tools in place for the type of application I am proposing. Plaxo already has tools where they demonstrate how they can access your contacts on Yahoo, Hotmail, Gmail, etc. There is even a Yahoo Widget that can access your Yahoo contacts. You can also buy 3rd party APIs that access these services. So why hasn’t an official API been released from Yahoo? Or even Google (they already have a calendar API)? My explanation is either these tools are hacking into the service to get the data, or they are paying some money to get exclusive access.

So in the end, I’ll leave you with my original request: Let me easily access my data so that I can share it with myself!