The other day you helped me with your concept of Local and Remote sources:

mikeduncan177, to give more detailes regarding "local" and "remote" sources:
Are considered as "local" sources, an Android device or a Windows Mobile device connected via USB to the server, or a Thunderbird installed on the same PC as the server. In this case, a user name and password is not required to connect.
Are considered as "remote" sources, Android devices or iPhone connecting via Wi-Fi and Thunderbird installed on a remote PC (so not on the same PC as the server).

Today I was configuring a calendar sync which needs to be one-way. On my iPhone (remote device) I have subscribed to Apple's US Holidays calendar, and it shows correctly as Type = Subscribed in the Configuration Display. I plan to have BirdieSync sync this calendar to a calendar on Thunderbird named the same. I don't want any changes I make to this calendar on Thunderbird to modify the subscribed iPhone calendar; this will prevent accidental edits on Thunderbird affecting the Apple calendar.

On the iPhone calendar "US Holidays" I set Way to "Read only"

On the Thunderbird calendar "US Holidays" I left Way at "Read/Write"

Here is the issue - I look at the selections for Sync Mode on the iPhone side (Remote device) and pick "Replace local with remote items" because I want to replace Thunderbird calendar (local device) with iPhone items (remote device). And I get an error message saying it can't be done. So now I feel confused again about Local vs Remote!!! Please explain in more detail, so we can all understand this feature of the program.

First, thank you for your feedbacks ! It give hints on what could appear confusing and should help improve the User Interface.

Actually the term "Local" and "Remote" are always looked from a specific point of view.

The terms "Local" and "Remote" that we discussed were used from a server point of view. A source was "local" if it was on the same machine as the server or plugged via USB. And "remote" if connected via Wi-Fi or located on another machine. So the same Android device could be considered as local if connected via USB or remote if connected via Wi-Fi. Note that this distinction is only used for the password checking at the moment.

The term "Local" and "Remote" that you can see in the "Configuration" view (like "Replace local items with remote ones" in the Synchronization mode menu) are always used from the point of view of the selected Source. If you select an iPhone and configure an address book, "local" means on the iPhone and "remote" on the other sources.
So in your case, if you have selected the iPhone in the Configuration view, the local source is the iPhone (if you would have selected Thunderbird in the configuration view, the local source would have been Thunderbird).
If you wish to replace Thunderbird calendar with the iPhone one, and that the iPhone is selected in the Configuration view, then you should select "Replace remote items with local ones".

Now I see that it may not be obvious that the notion of "local" is related to the currently selected source. So there might be something to improve here... Like adding the name of the source near "local" in the menus for instance to avoid any confusion.

And since the terms "local" and "remote" for connections are used in a different context, maybe it could be necessary to find another terminology for "local" (installed on the same machine as the server) and "remote" Thunderbird (installed on another machine).

am also a bit confused by the terminology, but in my case I would appreciate a better understanding of the difference between "way" and "mode". A couple of examples would help. I also had the long "preparing to sync" experience, so I wondered if I had these way and mode settings wrong.

The synchronization mode is especially usefull for the FIRST synchronization or when you want to RESET the synchronization and restart it from scratch. When you first synchronize your mobile device, you may want the content of an address book on a source to be replaced with the content of the address book of another source. So you can set the synchronization mode of this address book to "Replace". A the end of the synchronization, the synchronization mode will automatically switch to "Synchronization" which is the usual mode: a modification on a source is replicated on another source.
The "Combine" mode looks for items present in both sources. If the same identical item is present on both sources, nothing special is done and these 2 items are considered as synchronized together. If an item is present in a source and not in another source, then it is copied on this last source. Again, at the end of the synchronization, the mode automatically switch to the usual "Synchronization" mode.

The synchronization way is there to protect address books and calendars and prevent them to be modified during the synchronization. If you have subscribed to a remote Holiday calendar (in Thunderbird for instance), and synchronized it with another local calendar on an Android device, and if by mistake you add an event to the Android calendar, you wouldn't want that this new event would be added to the subcribed remote Holiday calendar in Thunderbird (where you might get an error if the calendar is automatically set as "read only"). So you can set the synchronization way of this calendar in Thunderbird as "Read only". Which means that the synchronization will never have the rights to modify this calendar, which can "only be read". But remember that the goal of the synchronization is to keep identical the events in both calendars. So the consequence is that if you create an event on the Android device (Read Write), it will be deleted in the Android calendar at next synchronization because synchronization is not authorized to modify Thunderbird calendar (read only), and that the 2 synchronized calendars must remain identical. In the same way, if you modify an event in the Android calendar, it will be reverted to its old state, and if you delete it, it will be created again (based on what is found in Thunderbird).
In a symmetric way, a "Write only" calendar will have all its modifications reverted to their previous states, based on what is found in the Read Write calendar it is synchronized with.
So the "Read only" mode (and possibly "Write only" mode) should be used with very specific address books or calendars, like a Holiday or a Birthday calendar (generated from the contac birthdays) or because you want to protect an address book, calendar or mail folder, and prevent the synchronization from modifying it.

Again, I think it will be necessary to add some information in the GUI to help understanding and differentiating the purpose of synchronization way or mode.

It is a bit complicated, but the examples you go through have made it clear for me. Not sure you will be able to condense the explanation much, because it relies for clarity on the examples you describe.

Birdie, thanks for your detailed explanation of the sync process configuration parameters. I have been giving this a lot of thought because I recognized that users want the configuration to be SIMPLE, for what is a very complex process. Cheers to you for taking this on, and I think what I see in version 3 is excellent.

The issue of Local/Remote identifiers being used for Devices and Data Items (event or address items) needs to be resolved to avoid confusion in the user's mind. I would suggest that using Local/Remote for the Data Items is the best fit. I have looked at the History Report & Preview List in that light and it seems a good fit. Therefore, may I suggest that you try and find different terms to describe how the Devices are connected to the Sync Server. Here are some of my thoughts:

Is the only reason why the topology has to be defined, is to determine if a username/password is required?

That could be handled by saying all connections require username/password, except if Thunderbird resides on the same PC as BirdieSync server.

Now the term Local/Remote is not needed for device classification and can be used with the parameter for Data Items (Mode).

You might consider using the term "Read/Write" instead of Way, or naming it Data Protection.

Let me know what you think.

I am planning on doing some testing on the Holidays example you gave, since I am using this approach (my subscribed Holiday Calendar is on my iPhone).

The notion of local and remote is mainly used for Thunderbird. As you mentioned, "Local Thunderbird" is a short expression to say "Thunderbird installed on the same PC as BirdieSync server". And "Remote Thunderbird" for "Thunderbird installed on a different PC than the server".
The distinction between "local" and "remote" Thunderbird is used for several reasons:

If local, it is not necessary to enter the server address, and a user name and password in BirdieSync options in Thunderbird

If remote, Thunderbird installation path and profile don't need to be set in Thunderbird source parameters (Sources column, Creation or Edition)

The procedure to install BirdieSync on the remote PC (so not on the server) may be slightly different

The term local and remote are used in BirdieSync options in Thunderbird, in Thunderbird source edition (local computer and remote computer) and in the "How to install on Thunderbird" accessible with "Plus" button above the Sources column in Configuration view.

So it may be possible to avoid using the term "local" and "remote" with Thunderbird and use a longer expression.
The advantage of a short expressions is that we can recognize it quickly. But source edition or connection options is not something that should need to be changed very often...

The term "Synchronization way" may have been inherited from version 2.x. Before the possible values were "Both ways" and "From PC to mobile device".

After gaining a better understanding of the configuration options (thanks to your explanations), it is more difficult to "remember" where I got confused with the Local/Remote terminology.

There may be a very simple solution, which involves minor changes to text in your Information window "Source and content synchronization". By naming the 2 possible Thunderbird locations Local Thunderbird and Remote Thunderbird and for the PC boxes calling them BirdieSync PC
and Other PC, you reduce the possibility of the user thinking (as I did) that the Data Items (Events, Address etc) mentioned in Sync Mode (e.g. Replace local items with remote ones) are in any way tied to the Device Local/Remote. Sorry that this is such a clumsy explanation, but it is hard to describe a confusion that has since been cleared up.

I agree with you about using Short Expressions, as long as their use doesn't conjure up incorrect assumptions by the reader.

Thank you for the suggestions. Additionnally to the use of local/remote with Thunderbird, it may be necessary to consider again the use of local/remote for the synchronization mode and the description of operations.

To avoid any confusion, it may be possible to use the name of the source in the synchronization mode menu. For instance:

Thank you for being receptive to suggestions. In the end, I am sure you will make a "balanced" decision on the best nomenclature. This has been a good discussion and has helped me understand the configuration choices. This new BirdieSync is very powerful.

I agree a helpful discussion. At the moment I keep preview on to make sure I haven't misunderstood the combinations. Having connected a second phone to the Tbird on the desktop I was almost caught out when the phone was classified as the "local".

Based on your feedbacks, the terms "Local" and "Remote" were replaced in various places of the application in version 16. I hope for instance that the various synchronization modes are more explicit, as well as the description of the operations in the History or in the Operations preview.
The term "Synchronization way" was also replaced with "Permission" which should help to distinguish it from the Synchronization mode.

Thank you for the new points you raised ! A global pass will be made on content of tooltips, and new ones should be also added.

I tried to reproduce the problem regarding the difference of network information between the status bar at the bottom and menu "Connection/Server address..." but didn't succeed. When I plug or unplug an Ethernet cable, or connect or disconnect from a Wi-Fi network, the information is properly updated in the status bar. If the problem is reproducible, would you have more information about the circumstances of these differences ?
Thanks.