Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question
    
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 '13 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. –  Brian Green Jun 26 '13 at 20:46
add comment

3 Answers

up vote 9 down vote accepted

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.

share|improve this answer
4  
+1 for the last paragraph. –  Robert Harvey Jun 26 '13 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 '13 at 3:04
    
@jhewlett - At least Opera and Firefox have the old versions still available in their website. –  Juha Untinen Jun 27 '13 at 13:35
add comment

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.

share|improve this answer
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." –  Robert Harvey Jun 26 '13 at 22:07
    
I didn't say to do deny just that it is acceptable approach. –  Balog Pal Jun 26 '13 at 22:10
1  
much better than forcing an update at least! Sometimes I wish it was 1999 again, easy times... sign –  phi Jun 26 '13 at 22:13
    
Ergo, Google Chrome does a Bad Thing (TM). –  Allan Jun 27 '13 at 19:15
add comment

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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