Why does a rollback to a previous firmware version completely reset all settings?

When you upgrade to a new firmware version, all the old settings of both the watch itself and the apps and widgets are fully retained.
However, rolling back from the current firmware version to a previous one will completely reset all settings.
Why didn't Garmin make the option to save watch, app and widget settings before rolling back to a previous version?
Many settings in the watch are just separate files in special folders. Is it really that hard to implement a backup?

  • Unless Garmin weighs in we can't really know for sure, but I am a software developer and I have a theory as to why they do this.

    It's probably a matter of cost and testing. 

    Normally Garmin progresses and they upgrade all the tens of thousands / millions of watches in bulk. Very rarely do they need to downgrade, only it there was a serious problem would they ever downgrade. I've never seen them force a downgrade even when they halt a partial upgrade they don't send downgrades automatically.

    It's mandatory that they not wipe out people's data when upgrading, it just would be a huge customer satisfaction fail with thousands of customers complaining and possibly causing them to switch to other vendors. Garmin is probably willing to spend around $100,000 in development time and testing budget per release to ensure smooth upgrades.

    Upgrading smoothly and downgrading smoothly are two very different tasks from the perspective of implementation. You can't in-general run a migration program backwards, you have to save extra information and do extra work to reverse any operation.

    For a trivial example, let's say that Garmin internally used to store First Name and Last Name as 2 separate fields and with the upgrade they switch to a single Name.  It is completely easy to merge "John" and "Smith" into "John Smith".  But if you were going to reverse that, it is trickier.  You could split "John Smith" on the space and that would work for that case, but if someone had "John Quincy" "Adams" originally, how do you know not to go back to "John" "Quincy Adams"?  Someone else might have a space in some other part of the name.  You'd have to remember the old values somewhere so you could reverse them. What if someone updated their name and then reverted the version? Would they want the new name split or would they want their old name brought back? It is possible but it is complicated and costly to build back-migration.

    Also, if there is a problem with the upgrade, then how would they know exactly what was wrong? It could be that downgrading with preserved data might bring bugs or errors back too and now the customer has no idea where the problem came from. The first thing customer support is going to do when faced with this problem is to ask the customer to perform factory-reset anyway.

    There's just no return-on-investment for creating rollback functionality on most consumer devices. (e.g., MS Windows does support limited rolllback, but as you may know, there are often significant limitations and problems with system restore on Windows.)

    Note that banks, utilities and other enterprise companies do have very expensive rollback plans and tests in place for fixing problems if encountered during software upgrades. Usually these sort of upgrades require extensive testing and/or use hot-backups of servers to be able to cut back without any downtime if an upgrade fails. The costs are huge, running into the millions of $ per year to maintain the software.

    You could so something similar yourself by buying 2 watches and upgrading them every/other time so you always have 1 watch running the current and 1 watch running the old software.

    As for your backup / recovery suggestion, I am not sure why Garmin doesn't do a better job of supporting backup/recovery of their watches. I agree with you that a manual backup/restore process is much easier to implement and wouldn't suffer from the back-migration problems I outlined above. I can only guess that it is still a matter of ROI, they just don't think enough people care or would use the feature to be worth the implementation time even if it is much easier than a real downgrade function.

  • +100

    I'm also a software guy, but loo lazy to explain it this detailed... But yeah, explained absolutely right

  • Turning the Physio True Up settings on (and syncing) BEFORE you reset, will at least restore your training metrics after a reset.

    I'm not disputing the hassle factor in trying to re-create your old settings, just noting that what is not replaceable with some button presses and some time, is in fact restoreable.

  • Thanks a lot for the replies, but honestly, the real reason is probably that Garmin firmware developers and watch app and widget developers are just too lazy to implement at least cloud storage of settings.
    Especially since there are already examples of the implementation of such a possibility among the developers of dials for watches.
    If Connect IQ already has the ability to store a huge number of settings in the cloud, why not also store the settings for the watch?

  • Calling them lazy is a bit harsh, don't you think so?

    A Garmin watch has basically just one public available stable version. Going back and forth with versions is not a supported case and mainly possible when using beta releases (basically on your own risk). So for the general supported usage there is strictly no such requirement.

    Speaking of lazyness: give me an estimation of what you think how long it takes to realize such a feature. Keep in mind that it won't be just for Fenix 6, but for the complete product range. If you give me a realistic estimation of man days, i could give you an estimation of costs (based on my daily rates plus overhead for management, testing and other stuff) Joy

  • Well, what else can you call the programmers of a company that sells a premium smartwatch for around $1,000 and yet they lack a "billable watch" to implement trivial saving of clock settings to a file or cloud storage? Through ConnectIQ, a huge amount of much more complexly structured data is already stored in the cloud. They did it, didn't you?! So why not make the watch settings and  settings at least the most popular apps and widgets saved?

  • Well, programmers are paid for doing what management tells them to do.

    I see, you paid a lot of money for a product. But that doesn't bring you in the position of demanding new features, wider support and different product strategies from the vendor.

    One officially public firmware, no way to switch back and forth between it. So no need for settings storage and / or back and forward migrating those settings. Face it, your demands never have been announced by Garmin and see your Garmin Pay issue -> you are ending up in unsupported states where subsystems are incompatible with each other...

    I'm out here, angry customer that paid a lot of money, therefore his dreams have to be made come true by a global company.