2

I'm writing an application for a medium sized company that will be used by about 90% of our employees and our clients.

In planning for the future we decided to add functionality that will verify that the version of the program that is running is a version that we still support. Currently the application will forcequit if the version is not among our supported versions. Here is my concern.

Hypothetically, in version 2.0.0.1 method "A" crashes and burns in glorious fashion and method "B" works just fine. We release 2.0.0.2 to fix method A and deprecate version 0.1. Now if someone is running 0.1 to use method B they will be forced to update to fix something that isn't an issue for them right now.

My question is, will the time saved not troubleshooting old, unsupported versions outweigh the cost in usability?

2
  • What if 2.0.0.2 introduces an even worse bug into method "C" which prevents getting any worthwhile work done in the application?
    – Mike
    Jun 26, 2013 at 20:37
  • We are going to have several versions of the application supported at one time. I left that out for the sake of brevity, but we will support at least 2 or 3 versions at a time. Jun 26, 2013 at 20:46

5 Answers 5

15

I would not force an update on a user.

First, it tends to happen that someone's "work flow" or "process" becomes dependent on certain behavior of your app. If you change that, it will cause chaos and anarchy and whining to someone's boss that those mean IT people are stopping me from doing work and they need to fix it NOW.

Secondly, like you said, sometimes people don't need to or have time to upgrade right now. Imagine a critical report is due very soon and you can't get your work done because the app is updating and you're stuck waiting for it.

I think the best solution is to have a written policy somewhere that states that you support versions 2.0.0.3 to 2.0.0.5. and that if you are outside that window you either have to upgrade to get support or you are on your own.

4
  • 4
    +1 for the last paragraph. Jun 26, 2013 at 21:01
  • Why is it becoming acceptable for software like browsers to auto-update? Is it because they're most likely not being used for mission critical tasks?
    – jhewlett
    Jun 27, 2013 at 3:04
  • @jhewlett - At least Opera and Firefox have the old versions still available in their website. Jun 27, 2013 at 13:35
  • @jhewlett it's just because browser vendors forced it on people AFAIK. Browser vendors forced it on people somewhat reluctantly (I hope), after considering the frequency at which security holes are found in browsers.
    – user253751
    Feb 3, 2021 at 20:53
4

As with any question, the answer is "it depends".

If your application works as before after the update and the update is critical to the security of the user and the average user is not tech-savy enough to decide himself, then I think forced auto-updating is a good thing.

If your application connects different users in a competing scenario, it's absolutely critical that all are using the same software. Forced updates are the default behaviour here. Think of online games for example.

Nudging Users to update by themselves by softer means like only supporting the three most recent versions is quite normal.

Forcing the users to update in other scenarios is considered a Bad Thing (tm). The user bought the software he installed. If you change it without his consent, it will not make him a happy customer.

1

Forcing users to whatever is a Bad Thing (TM). Forcing to download and install stuff is even more rude. And your reasoning is not sound either.

If you don't want to support some versions, do that. You need not sabotage my ability to run the program to achieve that goal. Just start any support session with version request and stop if it's out of range.

I may be more interested in just running what I used to than "support". If there is a problem that is indicated as fixed, I can go out and upgrade. At my pace, voluntarily.

9
  • 1
    It's funny how everyone is saying "don't force the user to upgrade," but then "deny support if they don't want to upgrade." Jun 26, 2013 at 22:07
  • I didn't say to do deny just that it is acceptable approach.
    – Balog Pal
    Jun 26, 2013 at 22:10
  • 1
    much better than forcing an update at least! Sometimes I wish it was 1999 again, easy times... sign
    – zuiqo
    Jun 26, 2013 at 22:13
  • Ergo, Google Chrome does a Bad Thing (TM).
    – Allan
    Jun 27, 2013 at 19:15
  • @RobertHarvey why is that funny?
    – user253751
    Feb 3, 2021 at 20:54
0

It's really not a problem for you as a software developer, but for your product manager who needs to think about the consequences.

"Forcing" is bad if it forces the user to upgrade right now. If the user is in a rush to finish their work, and you hold them up by forcing an upgrade, that's very bad style, especially if the upgrade takes a long time. Pestering the user to update is a bit better.

Is there a cost involved for you if the user does not upgrade? For example if the existing app takes lots of resources on your server, and the new app doesn't, or the existing app is buggy and people call support all the time, and the new app reduces this. That's a good reason for not enforcing, but strongly encouraging an update.

If you found bugs in the old version that are so severe that the risk of running the old verion outweighs the inconvenience of upgrading, that's another reason possibly to enforce an upgrade.

And before you force an upgrade, you better be one million percent sure that the new version doesn't have any fatal bugs.

0

In some industries, configuration control is not just important, it is essential - and that extends to the development environment, as well as the project source code... it is not unknown to have multiple hard-drives with different configurations.

These sort of projects require ANY change to the environment to be assessed, verified and validated. This includes such mundane things as Windows Update and/or any other such ancillary packages. Similarly on Linux systems, undate and apt most definitely do not run overnight...

An automatic or forced update would be a Bad Thing.

Now, I appreciate not every project, or workplace has those constraints - but you need to be aware of any such issues your customer may have!

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