This is really cool so far. Thanks for the hard work that obviously went into this!
I do have some UX comments, though. If a user wants to carefully run sync (previewing the upcoming actions, as in other sync apps), the current implementation requires the user to:
----------------------------------------------------------------------------------------------------------------------------
1.
Trigger "Sync Folders..." via menu, button or hotkey combination
2.
Click a Preview button.
3. Look at a new "[PREVIEW] Sync Folders Completed" window which isn't particularly informative/useful.
4.
Click a Reports button and
click to select the type of report to be viewed.
5.
Click to close the report(s).
6.
Click to close the "[PREVIEW] Sync Folders Completed" window.
7.
Trigger "Sync Folders..." via menu, button or hotkey combination again.
8.
Click "Start."
----------------------------------------------------------------------------------------------------------------------------
The issue I have with this is that 8 manual steps (with 8 clicks or keyboard triggers) is a lot of steps to take just to do cautious syncing.
I believe, from what I'm seeing, that the PREVIEW really just borrows from the actual sync code and runs a simulation without actually performing any file operations. Thus, it was probably a lot easier/quicker to implement things this way from a coding standpoint. You have two different routines based on the same code - one which doesn't do file operations, and one which does. But then the user has to take a lot of UX steps as a result of the coding convenience. And if a user is making changes to checkbox settings in the Sync Folders window and testing to see the results, it's a lot of work to go back and forth, see the new reports, and remember what the user did.
If a user wants to use the Preview feature at all, then by nature that user will likely almost always want to use the Preview feature when syncing. So here is what I would suggest:
----------------------------------------------------------------------------------------------------------------------------
1. Add the "Reports "button to the current "Sync Folders" window. It would be greyed out until "Preview" is clicked. (If that's not possible, then perhaps it could appear only once "Preview" is clicked?)
2. The user could click "Preview" and no additional window would open. Instead, an indicator would appear that "Sync preview is processing," and the "Sync Folders" check boxes and operations buttons would be greyed out during that time. A "Cancel" button would appear to allow the user to cancel Preview.
3. Once the Sync Preview simulation completes, the Sync Folders check boxes and operations buttons would become active (no longer greyed out). The user could click the "Reports" button to view reports.
4. Once satisfied, the user could click "Start" to run the actual sync.
This would save
three UX steps.
----------------------------------------------------------------------------------------------------------------------------
And even better, building on the above:
1. Allow the user to set an option for the Sync feature: "Always preview sync results before performing file operations" preferably in the Sync Folders window itself, or alternatively in Configuration. From then on, when the user triggers "Sync Folders...," the main Sync Folders window will appear and will immediately indicate that "Sync preview is processing." The sync simulation will happen in the background at this time, and while it runs, Sync Folders check boxes and operations buttons will be greyed out. A "Cancel" button would appear to allow the user to cancel Preview; in this case, if it's clicked, the background Sync Preview would stop and the Sync Folders check boxes and operations buttons would immediately become active (no longer greyed out).
2. Once the background Sync Preview simulation completes, the Sync Folders check boxes and operations buttons become active (no longer greyed out). The user would be able to click "Reports" to immediately view reports.
3. Once satisfied, the user could click "Start" to run the actual sync.
This would save an
additional UX step, bringing the number of steps required for a busy (yet cautious) user to sync folders down to just
4:
1.
Trigger "Sync Folders..." via menu, button or hotkey combination
2.
Click a Reports button and
click to select the type of report to be viewed.
3.
Click to close the report(s).
4.
Click "Start."
----------------------------------------------------------------------------------------------------------------------------
Also, since I'm being picky

-- I'd like to have a main Sync Folders "Report viewer" window where I can navigate back and forth between the different reports, rather than having to manually open each report in an individual window.
Thanks again for all you've already done to make this an excellent feature.
Thoughts?