4 ms·
> If you think about the parent's case, unidirectional syncing ended up causing empty dataset to be synced from the computer to the iPhone. Not if the user sel
by lutusp 12y ago
> If you think about the parent's case, unidirectional syncing ended up causing empty dataset to be synced from the computer to the iPhone.
Not if the user selected the new iPhone as the source. In fact, that's the only way the described outcome could happen -- assuming the desktop machine originally had a full collection of music and the iPhone was empty.
> That doesn't seem right.
True, it doesn't seem right. But the customer is always right.
> Or consider your mobile device calendar. You add an appointment on your phone, it doesn't disappear when you sync with your PC (or with cloud, as is common today).
A perfect example. What if your phone is the source of most of your appointments and contacts? Wouldn't it seem logical to make the phone the source for a sync transaction?
Let's take the next step -- what if your phone is the source of your music collection? What if you add music to your phone while on the road and want to add those tracks to your desktop machine's archive? To do this, the sync program must accept your instructions about which device is the source and which the destination. So you must not get it wrong. In other words, in order to get the expected outcome, you must know how sync works.
To repeat your earlier point:
> Or consider your mobile device calendar. You add an appointment on your phone, it doesn't disappear when you sync with your PC (or with cloud, as is common today).
Yes, that's right, but you're not taking that example to its logical conclusion -- the smaller, more peripheral device, the phone, is the source for the sync. If that device has no music on it, the desktop machine will have its music collection erased.
> I didn't mean to imply that dictionary defines the meaning, but it does seem to agree with what I mean with "sync".
Yes, true, which explains why I've been hearing so many accounts like yours -- people rely on dictionaries to define technical terms and end up erasing their music collections.
> Where does this "true technical meaning of sync" come from?
Logical thinking:
1. "Sync" means that two directory trees end up with the same content -- exactly the same number of files, same names, same everything.
2. For (1) to be true, the program performing the sync must sometimes delete files as well as add files.
3. For (2) to be true, the program must know which directory tree is the source. Therefore the user must know this too. But users, reliant on dictionaries, may not understand what sync actually means.
Q.E.D.
- guygurari 12y agoSuppose I create appointment A on my phone's calendar, and appointment B on my laptop's calendar. After syncing, B shows up on my phone, and A shows up on my laptop (as I would expect). Who is the source and who is the target in this case? According to your definition, this is not 'syncing'. But for most people, it is.
- lutusp 12y agoAll synchronization depends on either the user, or a program, deciding which is the source and which is the destination. Such a choice is always made. Consider this example: 1. Device A has a list of 9 contacts. 2. Device B has a list of 10 contacts. 3. According to your thesis, the sync program doesn't need to be told which is the source and which the target. 4. If so, and if the user intentionally deleted a contact from device A, shall the sync program: x. Restore the contact missing from device A from device B, or y. Delete the contact missing from device A from device B? The answer is that the sync program cannot know what to do without being told which is the source and which is the destination. This is how iTunes decides what to do -- the user tells it which is the source and which is the destination. > According to your definition, this is not 'syncing'. But for most people, it is. Yes, and to prove this point, and of the ascendancy of human instinct over logic, the OP lost his music collection. This is a classic example of people's inability to think logically. How on earth could a computer program know what to do in the above example without being told what to do by the operator? There's one exception, which ironically proves the point. In the example of real-time contact list synchronization, a sophisticated system would automatically assume that the device the operator is using at the moment, that he is editing, is the de facto source, and make other synchronized devices have the same content (this is how Google Contacts works). But in this example, as in all examples, the sync process cannot proceed until a decision is made about the meaning of "source" and "destination". In this example, the decision is automatic, but it has to be made. In the case of syncing two music collections, the operator has to specifically identify which is the source and which the destination. I cannot tell you how often I've heard stories of people buying a new iPhone, then running iTunes, then erasing their music collection by misidentifying the source for the transaction.
- 12y ago
- icebraining 12y ago3. For (2) to be true, the program must know which directory tree is the source. Nope. Both are the source of their own actions, and both are the destination of each other's. You're inventing restrictions that haven't applied since at least the first DVCSs.
- lutusp 12y agoPlease do not contribute to public ignorance. You clearly haven't tried to use rsync, which has its name for a reason -- it's a synchronization utility. All synchronization operations must know which is the source and which the destination. Something this is arrived at automatically, but in the case of rsync and iTunes, you must tell it. http://en.wikipedia.org/wiki/Rsync http://en.wikipedia.org/wiki/Rsync Quote: "rsync is a file synchronization and file transfer program" SO which word is confusing? > Both are the source of their own actions, and both are the destination of each other's. Of course. But let's return to planet Earth. Consider this example. Two systems have directories with independent collections of files. System A has 9 files. System B has 10 files. The operator tries to sync the two systems. But to do so, the operator has to tell his synchronization program, which is the source and which is the destination. The outcome depends on the operator's decision, it cannot depend on the contents of the directory trees. Read the original post, the one I replied to -- the OP lost his music collection by choosing the wrong source for a file synchronization operation using iTunes. I replied to explain what "synchronization" means in that context.
- icebraining 12y agoYou clearly haven't tried to use rsync, which has its name for a reason -- it's a synchronization utility. Like many others, e.g. Dropbox, Unison, Git-annex. Just because "rsync" has sync in it's name doesn't mean it's the only syncing model possible. All synchronization operations must know which is the source and which the destination. In rsync, yes. In others, no. SO which word is confusing? No confusing word. The only confusion is in the assumption that sync == rsync. It's like saying that all cars work like the Model T. Two systems have directories with independent collections of files. System A has 9 files. System B has 10 files. The operator tries to sync the two systems. But to do so, the operator has to tell his synchronization program, which is the source and which is the destination. Nope. You never have to tell Dropbox, Unison or git-annex which is the source and destination. In the latter, I just do "git-annex sync", and both are synced with each other.