Otherwise, though, I completely agree that it's harder than it needs to be. The big problem you left out are the Windows updates – both because that new VM is going to be useless at first until it installs hundreds of updates (saving files is a 100% CPU for hours NP-hard problem in Microsoft-land) and because unless you specifically disable it Windows Update will automatically upgrade you to the latest version of IE.
> the only reason you can't install two versions of IE side-by-side is because Microsoft, back when it was Pure Evil, decided to make it that way to force people to upgrade Windows when they wanted to upgrade IE
The actual goal was to win the browser wars by ensuring that every Windows user had a copy of Internet Explorer, knowing that many people would never pay for a copy of Netscape if they already had a browser. Creating dependencies around the OS was an attempt to avoid anti-bundling laws and, like many of the other decisions they made in the 90s, a bad idea the entire industry has spent billions coping with. I'm sure there's plenty of regret now as they have to deal with all of the enterprise customers who refuse to upgrade because they don't know what upgrading the system browser will break.
Or because they have bigger fish to fry. It's not like they have `define AllowMultipleIEinstalls 0 they can just flip.
Having multiple versions of any application installed side-by-side has always been a hit-or-miss feature, precisely because few people care. Hell, most of the time I want to overwrite the old version. Do you remember the days when Java was installed side-by-side, and you wound up with twelve different versions of Java? You could never be certain which one was active, and of course at least 9 of them were completely insecure by that point...
I rarely open IE 10 for testing, anyway. I assume if my website does work on latest Chrome, Firefox, Safari it will work also on recent Internet Explorers ( >= 10 ). If it doesn't work as expected, it's MS bug of a browser that users can actually upgrade, so it's not such a big deal.
[1] http://en.wikipedia.org/wiki/Internet_Explorer_versions#Wind...
Are they really 15 GB per image?
Not true.
What were the technical/human constraints that lead to that solution? Was the team agonising over conflicting goals? Or was it as simple as "Alice already knew it"/"Our tool chain already supported it"?
Putting it into a ZIP allows native support on pretty much every platform.
1) You have to download a complete system image of a machine running the specific versions of Windows and IE you're interested in testing against. Each of these images can require downloading up to 4 DVDs worth of data just to get it bootstrapped, which can take forever even on a fast pipe.
2) Want to test against a different version of Windows, or IE, or both? Now you get to download 4 more DVDs, all over again! (Yep, if you started testing, say, IE9 on Windows 7, and now you want to test against IE10, you have to download a whole new virtual machine from scratch.)
3) For reasons known only to Microsoft, they don't distribute the VM images as unified packages; instead, they're a bunch of DVD-size RAR files that have to be assembled into a complete VM image after downloading. One of those RARs get corrupted en route? Back to downloading!
4) RAR files? In 2014? For serious? Yes, RAR files, for serious.
5) Now you've made it through the epic download, assembled your VM image, and are ready to get started. Hey, guess what! Microsoft is so paranoid about the chance that you're an Evil Pirate™ rather than a legitimate developer that they put a special surprise in the VM, just for you: when it reaches the end of the calendar quarter, the VM self-destructs. Yes, you read that right -- after all that, this VM that you marched through Hell to put together becomes useless after three months at most. So at that point, you get to do all the stuff listed above again.
(Yes, I know there are hacks you can make in the registry to extend this time for an extra quarter or two. It's still insulting.)
The whole process is such a pain that people have written tools like ievms (https://github.com/xdissent/ievms) just to automate the endless, tedious downloading-unpacking-installing-self-destructing-downloading-etc. cycle. And vendors like BrowserStack (http://www.browserstack.com/) make good money charging people to do the same thing they could conceivably do with the VMs, just because using the VMs hurts so much people will happily pay to avoid it.
And the kicker: all of this nonsense, of course, is only necessary because you can't install two versions of IE side-by-side. And the only reason you can't install two versions of IE side-by-side is because Microsoft, back when it was Pure Evil, decided to make it that way to force people to upgrade Windows when they wanted to upgrade IE.
Microsoft management are considerably more enlightened these days than they were back then. But this huge, ugly, painful, completely unnecessary wart on the Windows development experience that they forced upon the world back then still persists, either because someone in Redmond thinks it's a good idea, or just out of sheer laziness.