Yesterday’s Thoughts

February 24, 2005

How Synchronization Should Work – Part 1

I had a plan. I was going to write up a description of how every synchronizable device that I had access to worked, point out the flaws in each of them, and then synthesize the use cases and best practices to create a model for synchronization.

Instead, I am going to invert this. I think that I already know how synchronization should work so I am going to describe that model and then see how my devices compare to my model and what could be changed about them to move them closer to the model.

What kinds of synchronization?

Right now I am addressing the user’s perspective on synchronizing a small peripheral device, a Palm, a cell phone, or a watch, to a more fixed central storage location on a desktop, laptop or server. There are three cases, 1) the peripheral is a data collection device with limited storage, so the goal is to transfer most data from the peripheral to the central location (although there may be some data transfer in the opposite direction), 2) the peripheral is a data storage device (data from the central location is sent out to the peripheral) and 3) true synchronization, the data in the domain of interest can originate at either location and need to move to the other location.

The Ideal Case
The ideal case is simple. The user would do nothing at all and the data would be synchronized as appropriate. There could be an initialization step where the devices would be introduced, the types of data and the role of the device would be specified, rules for dealing with conflicting data agreed upon, but beyond that nothing would be required of the user. The devices would periodically synchronized when the data changed on one.

The nothing-at-all requirement is the hardest to meet, in practice, but since it is my ideal, here is an example. A user downloads a train schedule to their Bluetooth enabled PDA. At the train stations there are Bluetooth transmitters at each entrance. When the user walks past the transmitter, their schedule is updated.

Sorry, comments for this entry are closed at this time.