The problem with most synchronization systems I've encountered is that they're based on unification -- "one version to rule them all." Unification seems to be an optimization strategy, seen in all kinds of networks, from computer to political. History doesn't suggest it's a very good model in the long run, since it's so fragile. The Bible survived because so many people duplicated it, while all those single manuscripts in Alexandria, however divine, went up in smoke.
Duplication seems to beat unification. Just look at how Wikipedia and Google, writhing seas of duplication, kick the living shit out of closed taxonomies and hierarchal directories. Anand Rajaraman hit the nail on the head with his "more data beats better algorithms" observation, and I'd skew it here as "more copies beats better organization." I want to asynchronize my data, not synchronize it. The tricky part is making this model work at a personal level, across devices and yet not exposed to the world at large. I wouldn't put my money on MSFT figuring it out.
I yearn for the day when my cell phone runs git and has a single namespace for my data (including that maximum-length WEP2 key that I've typed into my iPhone twice).
Duplication seems to beat unification. Just look at how Wikipedia and Google, writhing seas of duplication, kick the living shit out of closed taxonomies and hierarchal directories. Anand Rajaraman hit the nail on the head with his "more data beats better algorithms" observation, and I'd skew it here as "more copies beats better organization." I want to asynchronize my data, not synchronize it. The tricky part is making this model work at a personal level, across devices and yet not exposed to the world at large. I wouldn't put my money on MSFT figuring it out.