No choice sometimes
I do systems integration work, my focus is on client systems, and I see this all the time. Often, there is very little choice in the matter, especially in industry sectors with a lot of specialized applications running on people's desktops and in their browsers.
This is the same thing that's keeping corporate environments on XP and IE 6 despite pleas from everyone to get off. Actual examples from my work-life:
- Oracle had a "special" JRE called JInitiator around 2001 or so that has to be installed to work with old versions of its Financials and other Oracle Forms based apps. Businesses can't justify paying Oracle $xxM on top of their already high license maintenance fees to upgrade to versions that don't need it, so the client piece stays. Worse yet, these are modified copies of JRE 1.3x/1.4x from Sun with a different GUID compiled in, and they need to run in the browser.
- Big consulting shops whip together garbage Java or Flash applications that become core pieces of the business. And oh yes, it only runs with the specific quirks of IE 6 SP1 combined with JRE 1.4.2. Want it to support modern browsers/Java? That'll be $10M to rearchitect it please...
- Small consulting shops or internal employees write these same garbage apps and then die, quit or go out of business. We'll get around to replacing that in 2017...
- Even big commerical applications, just not stuff aimed at the consumer, have huge dependencies on old Java and Flash, and if you run it in the browser, you're vulnerable.
There's a huge industry around app virtualization software just to "solve" problems like this. A lot of it might be inertia, but trying to do regression testing in even midsize companies where hundreds of applications could be running on desktops together...it's messy.
It's easy to say, "Well, The Cloud will solve all your problems." But anyone who says that has listened to their cloud salesmen a little too much or doesn't know what actually goes on under the hood to get these software packages working together...