I notice on the page they have licensing that supersedes the Windows licensing included with the VMs. Unfortunately, I've had these VMs for a while, and they've been complaining for activation. So, although they have provided different licensing terms, they didn't bother to inform the software of this fact.
This is damn annoying. We downloaded a whole set of them and after a bit they all died so you have to download them again periodically.
Not a viable solution.
In the end we just set up an activated VM (using MSDN licenses) with RDP enabled for each config on a Win 8.1 HyperV machine that sits in the corner of the office.
I consider IE testing and support as an extra feature in all my projects, and am quite happy to bill an extra hour for setting waiting to download and setting up VMs.
I've found that booting the virtualbox VMs and then snapshotting them in a running state is pretty convenient. Restore to snapshot on every use, and you'll get at least an hour out of each session, resetting every time. Also the startup time is near instant.
The ievms installer (https://github.com/xdissent/ievms) automatically takes a clean snapshot on install, which allows you to restore to a blank "just installed" state, resetting the licensing timer in the process.
Still frustrating, but work-arounds are there if needed.
For even more convenience, use this script that automatically installs specific versions of IE VMs from the command line: https://github.com/xdissent/ievms
I appreciate what you're trying to say there, but in practice most developers can't adopt this solution. Unless you're writing for known platforms (an internal web app, say) or building a throwaway demo, you will practically speaking have to compromise and support vendor-specific code where it's required by your users.
The goal of most real-world software is to deliver a working, usable product – not to produce lots of standards-compliant code.
The goal is to deliver the most profitable code in the specified timeframe and with the resources provided. That's how you organize your priorities.
For us in many cases it means to throw away vendor specific solutions in favor of most-major-browser compatible subsets of the current industry standards, even if it means throwing out support for older versions of IE.
For some users it might mean using a different service, but for most of them it means switching to a different browser because their favorite app doesn't work on IE.
And that's why Microsoft is going for standards compliance and timely browser updates more than ever.
Don't get me wrong: I agree that if you are contractually forced to write IE compliant code for all major versions still in use, vendor specific is the only way to go. Also if the numbers show it's worth the extra resources, then go for it.
But that's not my case, and the same goes for many others; Microsoft already got the hint on that and they are starting to catch up and adhere to standards on their latest versions and trying to get everybody to use them (it was about time).
Since there are way more teams like ours than big teams funded with huge piles of cash, we have actually managed to put the ball in their court and they cannot make us do the monkey dance as much as they used to. Can we all avoid writing vendor specific code? Maybe not unconditionally, but we are almost there.
Writing for standards compliance is great when you don't care where/if your code works, what browser do you use that perfectly adheres to all the standards?
I use resources like MDN and some automated testing tools to make sure the subset I use is properly implemented on all major browsers (all but IE <= 8, which really sucks at it).
But, subset or not, what I write is still 100% standards compliant code, in almost every project I'm involved with. I avoid as much as possible writing vendor specific code.
The result is I hardly ever get a complaint about my code working on one browser and not working on another.
Do they have Windows Phone VMs yet? You can run them under OS X with some work, but there's no touch cursor ATM so you're flying blind. MS could fix this pretty easily.
You can find ready to go Mac OSX VMs online (torrent/usenet etc., usually 2-6gb).
They worked on any PC I tried them on, but without GPU acceleration, although I had to install a VMWare MacOS enabler (that was bundled with the VM) because VMWare disallows OSX by default I believe, might be different with Virtualbox.
You mean ship IE for OS X again like they did before Apple made Safari? For a time, IE for Mac was the very best browser.
I could see them doing it if it was a gateway to an ecosystem the way Chrome is for Google. For "Linux" i.e. some specific variant that became popular with consumers.
I take some comfort in that MS now feel the need need to explain how I might use wget. But, sorry, but if you really want me to test my site against your proprietary browser, you need to remove your ugly time limited license, otherwise my site says "use a standards complaint browser, and I don't care care about your proprietary crap any more".
Finally! Microsoft has realised that real developers use OS X/Linux for development and don't have or care to test on Windows machines. This is a good thing for Microsoft and a good thing for the web!
.NET developers aren't real developers? Most people in the game industry also swear religiously by windows/visual studio, apparently games are "real" software anymore.
Its more than that. IE9 is the latest version that can be installed on XP and is not supported on later versions of Windows. And while its fine to tell users to get a better browser for hobby or internal sites having to deal with user still on XP is an unfortunate reality in a lot of cases.