> 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.