One app I am supporting has a very nasty bug in user's private preferences. This bug does not happen now, but is inherited from some previous bad release and now the oldest users have this bug.

I've done zillions of testing how to fix this, but the only real fix it "clean install" of the app (uninstall the current one, lose all preferences and reinstall it again).

This sounds like a horrible idea.

Has anyone seen any app advises users to do the clean install? Is this unprofessional as it look like?

Any other suggestion how to overcome this situation and not lose credibility?

closed as primarily opinion-based by Robert Harvey, user22815, user53019, Ixrec, user40980 May 20 '15 at 0:08

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • sadly, in many applications the only way to fix a problem is via a reinstall. It's not unheard of, and I'm sure most people would have had to do this at some stage. Is it a mobile app? – user1666620 May 18 '15 at 13:27
  • 1
    Yes, it's going to look unprofessional, but if it's your only choice... – Robert Harvey May 18 '15 at 13:30
  • 1
    I wouldn't say it'd look unprofessional - it just means you got caught out, and have to share it with the customers because you can't hide it with a silent update. Happened not so long ago with Evernote when one of their updates broke the auto-update functionality, meaning users with the patch (me included) had to reinstall the application. C'est la vie. TBH the only way I think you'd truly lose credibility is if you did nothing and let the complaints roll in. – user1666620 May 18 '15 at 13:32

This bug does not happen now, but is inherited from some previous bad release

This may be the key here.

If you ask a complete reinstall every time you release a new version, this looks indeed very unprofessional. It may be OK if the users don't customize your app, so losing previous configuration wouldn't be an issue. If they do and spend at least several minutes doing it, it will quickly become annoying: they will either install a similar app released by your competitor, or stop customizing it.

On the other hand, since there is a before and a now, and upgrading works well unless the user has a previous version, this situation is more common and somehow similar to breaking backwards compatibility. You can do one of the following:

  • Increment a version number and tell that upgrading from YourApp 3.0 to YourApp 4.0 requires a full uninstall.

  • If you're, say, at version 3.7.15, and the upgrade works well since 3.4.82, but not for 3.4.81, just document that such upgrade is not supported. If the user attempts to upgrade, the updater should indicate that the option is not supported and will result in the loss of preferences.

Finally, in all cases, backup users' preferences before doing the upgrade. This has two consequences:

  • If the upgrade fails, the user will be pissed off but will still be able to go back to the previous version without losing anything.

  • After a fresh install, you can use the backup to get some of the preferences you know to be fail-safe. Losing only a part of the preferences is slightly better than losing everything.

  • Backuping preferences in the mobile app is close to impossible. Not to say that I don't think it would be legal to upload their preferences to our server and download them after the reinstalation took place. Anyway, thanks for suggestions - I had a similar idea, but wanted to check up with the community before I implement it. – deviDave May 18 '15 at 14:13
  • @deviDave Perhaps you can help users find a way to export the data to a file or something. The point is to avoid losing the user's data and preferences. – rwong May 18 '15 at 14:43
  • @rwong I agree completely. – deviDave May 18 '15 at 14:50

Surely a new release of your application should be able to recognise whatever bad information was left over from a previous application and be able to discard it. So yes, asking the user to completely remove a previous install and install from fresh looks very unprofessional to me.

Not the answer you're looking for? Browse other questions tagged or ask your own question.