Gale Andrews wrote:in case the user goes back to 2.0.6 or previous
I feel that I must complain about this negative design philosophy (which has come up many time previously).
If we're always thinking, "oh, but what if the user wants to go back to an obsolete version of Audacity?"
Well that is their choice, not our choice. If they go back to an obsolete version then they get the bugs and limitations of that version.
Certainly Audacity should not obstruct the user's choice to use an obsolete version, but purposefully designing in a downgrade path will almost always require extra code that has no benefit to current or future users - as far as the current and future code is concerned it is "junk". With that additional code comes additional risk of bugs, and additional maintenance until such time that it is removed.
If the user wants to go back to an obsolete version, then all they need to do is to uninstall Audacity and reinstall the obsolete version. If they wish to ensure that they have old settings, or old versions of stuff, they should restore their backups. If they don't have backups, that was their choice. "Backups" are not a novel concept, everyone knows about backups even if most choose not to make them.
Taking the current example of resetting preferences:
If the user goes back to Audacity 2.0.6 or earlier, and they have previously had Audacity 1.2.x installed. Audacity 2.0.6 and earlier read the preferences from Audacity 1.2.x. The steps to reset preferences for Audacity 2.0.6 are documented in the 2.0.6 documentation, so if they go back to Audacity 2.0.6 or earlier and want to reset preferences then they will need to reset preferences according to the 2.0.6 documentation, which for Windows is to select "Reset Preferences" on install.
I agree that if the user resets preferences for Audacity 2.0.7 or later, and then uninstalls that version and installs 2.0.6 or earlier, then it is not obvious that they will then inherit settings from 1.2.x (if they had it previously installed on that machine and the registry keys still exist). However, that is their choice - Audacity 2.0.6 and earlier inherit settings from 1.2.x - it's a "feature" of that version. If they don't want that feature they should either not downgrade their version of Audacity, or they should deal with it according to the documentation for that version.
Saying that this is a problem acknowledges that the negative design philosophy that gave us that "feature" introduces problems in the future. In my opinion, Audacity 2.0 should have had a clean break from the 1.x versions and NOT read the 1.2.x preferences. It is precisely because of this negative design philosophy that we now need to consider 1.2.x settings.
In my opinion it is MUCH better that effort goes into making future versions of Audacity better and leave obsolete versions in the past where they belong. We have
finally cut ties with 1.2.x legacy and I strongly oppose reintroducing that burden. In 10 years time I don't want to be thinking "oh, what about if a user wants to go back to Audacity 1.2.6?" or "what about the 1.2.6 preferences?" When Audacity 2.0.7 is released I will be relieved that there is no longer a need to work around 1.2.x.