When Should You Stop Support for Software?
hahafaha asks: "I am currently working on a website for a small organization. We (I am not alone in this) have a beta version ready, and are currently testing the site on browsers. We have tried all of the big browsers (Firefox, IE, opera), as well as other browsers, such as lynx, links, w3m and even NetFront. So, when can one decide that they will stop supporting a system. Obviously, going (for example) down to IE 1 is crazy, but is IE 3 crazy? This is not only relevant to web design but to any programming at all. When, for example, can you say that I will *not* support a certain version of Windows. Can you say that now about Windows 98? How about 95?"
I think the best way of looking at this is with money.
Who are your customers, and what are the demographics of their systems. Windows 98 is still a very prevelant system out there. I am writing this post from a computer that is still running windows 98. The big questions are
How many are you going to loose by not including their system?
how many can you afford to loose?
And how much would it cost to include them?
30% Troll, 50% Underrated, 10% Interesting
Score:5, Troll
There's a formula you can use to help you figure this out.
A) Take the amount of money you're getting IN SALES of older product. Pull a number out your arse to represent the goodwill you get by supporting older products, and add it in.
B) Take the amount of money you're spending TOTAL to support older product. Include salaries, time estimates, etc. Add in the costs of anticipated sales you'd get by people upgrading to the newer version.
Profits=$A-$B;
when Profit is close to or less than zero, you need to drop it.
For some of my specially-crafted, workflow applications, I actually require end users to use Mozilla or Firefox in certain places. In this case, the margins on the sales are high, the number of people using it is fairly limited, and the code being displayed is rather complex, so the cost of getting all the required features working in the legacy IE5/6 browsers was large, while the benefit of supporting doing so was minimal. I don't get asked about supporting IE, but I do get asked lots about Mac.
You want feature N? Get Mozilla. Free download! Works on Windows, Linux, and Mac!
I have no problem with your religion until you decide it's reason to deprive others of the truth.
Whenever the cost of supporting the customers that comes from supporting those customers, exceeds the benefits of satisfying those customers.
You don't ever stop supporting your customers. You just switch to paid support after your warranty or contracted support period has expired.
I'm still supporting the first commercial software I ever wrote (a refrigerator controller for a meat packing company) because it still does the job I originally wrote it for, and the company using it occasionally pays me to port it to newer hardware. I'm not making a loss, and it's not a huge money spinner for me, but I'll continue supporting it because it's mine.
"I've got more toys than Teruhisa Kitahara."
I see a number of ?s/comments to the effect of 'IS it profitable?'
The aspect of where both you and your users WILL BE in 18 months is not examined and what it would take for continuing support.
Be forward looking, don't be like your 'whatdoyameanweranoutofcopiertoner' manager.
-or-
Bridges being built for tomorrow's traffic, not today's.
Game: Player 'Donald J Trump' now has AI skill level 'experimental'.
There was an article cited on Slash about the horrors of of this from the design side when automakers brought up their system requirements.
So from this viewpoint, I would probably go for the ten year boundary on hardware and software, even though many software makers would like it to be as short as possible.
Heck, Symantec has dropped support for many of their more recent products for a variety of reasons
"It is a greater offense to steal men's labor, than their clothes"
I'll disagree with this. The company I work for recently stopped support for some software we wrote in 1999. We provided more than 2 years notice, and a reasonable upgrade path.
Our entire code base was rewritten in 2000 and once again in 2005. Supporting 3 different code bases is not practical.
First of all, for front line support people, have them trained on 3 different products is simply not practical.(While the 3 pieces of software are similar in general functionality, they're are significant differences in how the achieve that functionality.)
More importantly, the number of developers that are familiar with the original code base is small. And these are the most senior developers and having them spend the their time looking at the old case base is not a productive use of their time.
I suppose we could have offered a support contract to the customers of the older version that represented the realistic cost of what it would be to support the older code base. But, the number would have been ridiculously high and would probably be seen as quite insulting by the customer.
It made more sense to announce the sunset of the product with a large amount of advance notice, and provide a reasonable upgrade path.
Simpler. Support current standards. Upgrade the users
browser to support those standards. For free.
You are being MICROattacked, from various angles, in a SOFT manner.
I teach econ at the high school level (besides, it was my major!!). Here's an economic analysis: when the marginal cost of support exceeds the marginal benefit. I know that sounds crazy, but look at it this way. If it require 5 additional hours of programming to support say IE3, and your time is say $50 per hour, then you'd better get at least $250 of benefit from it. If someone is running IE3, that means they're on what, windows 95. If they haven't bought a new computer in 8 + years, then I guess that they aren't going to be buying alot of newer stuff anyways. And if they are content with their poor overall web experience, than accomodating them is probably not worth it. In fact, testing for lynx, et al., is also probably a waste of time. For purely philosophical reasons, adhering to standards is nice, but might not make sense from a practical standpoint. I do my wife's photo web site, and all I use is all CSS2 positioning, no tables, spacer gifs, etc. Why? When she does a shoot, for it to be worth her while someone better spend a few hundred dollars minimum. Checking her stats, 75% of her visitors used IE6 and 16% used Firefox. (6.6% Safari) Do the math. Is it worth it to support 3% of her visitors? If they can't even afford a relatively new computer, $500 maybe, then are they going to spend that on the session and portraits? Now, it depends on also I imagine the audience your addressing. If your site say is for old folks, then maybe they're running their kids old computer and it might have win98/IE4. But overall I'd say just figure out what it's going to cost you, and then what you're going to get from it. Really, if you turn off someone who isn't going to spend anyways, they really weren't a customer.
My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
You don't have to drop support for any browser. HTML is backwards compatible and you can even write "AJAX" stuff that degrades nicely.
1. Code website that works with no JS and no CSS support. It doesn't have to be pretty (no <font>, just semantic HTML) nor work smootly (just use regular forms).
2. Add styling designed for modern browsers like Firefox, Opera, Safari and hide these stylesheets from junk like Netscape 4 (@import trick).
3. Add CSS hacks for IE (use HTML conditional comments, because IE7 breaks most hacks)
4. Modify document using JS and DOM to add handlers for all dynamic, ajaxy flashy stuff. That's progressive enhancement.