Imagine you have a cell phone, a PDA and a PIM software on your computer. You expect to have the same set of contact and calendar events on each device, or a consistent subset. Currently PDA and phone are converging in term of functionalities as phone are having more than just a phone book and some PDA including cell-phone functionnalities. In fact you may just end up having one of these two, but still surely have a home PC.

So you need to synchronise your data from the PDA to the PC. This is something Palm popularised with their Palm Pilot back in 1995. You put the PDA on the craddle, you press the HotSync button and your data gets synchronised in between the two, carrying the changes made on one side to the other and vice-versa. But this was with one device, one PC software, problem was quite restricted 10 years ago. It slowly expanded to other PC software still using the same middleware. Not very different.

Add the cell-phone to the equation, and it does no longer work. PDA A has its software, cell-phone B has its software, and they are hardly interroperable together, even if sometime then end up being plugin of the same PIM software.

That is what iSync from Apple sort of tried to address: synchronising multiple devices, and it took time (2 OS release) before Apple provided the proper APIs for 3rd parties ISV to write drivers or support syncing in their applications.

Now let's see about Free Software solution. There have been several attempts to provide syncing tools, usually between one device to the PC. J-Pilot, Gnome-Pilot, KSync, KPilot, etc. are amongst them. Then came Multisync, whose goal was to provide synchronisation amongst multiple devices and your desktop PC. It was GNOME centric and for that reason got superceeded by OpenSync whose goal is to provide a general purpose synchronisation framework. fejj has been hacking on OpenSync lately, resulting in producing some patches to fix various issues and disappointements. We chated shortly about that on #gnome-hackers and I thought I would give some views on my ideas about thinking. After discovering some flaws in the design of MultiSync, I started thinking about it, but never got through finding the time to implement them, nor to put them down.

To be continued...