I would like to believe that IE8 was built to simply terrorize web developers but it wasn't. On the one hand, it was built in 2009, well after the internet had become a thing. On the other hand, I can't help but wonder, how well the software I've written would hold up if we didn't update it for the next 5 years. Ultimately, I can complain as much as I'd like, but no matter what I say, people will still be using Internet Explorer 8.
Earlier this week, Healthify began serving a collection of new users whom are required to use IE8. I thought I would take this opportunity to outline how I manage this hellish development process.
For anyone who hasn't tried to develop in Ruby on Rails on Windows, let me stop you from hurting yourself and recommend you never try. It is a truly unforunate experience and I'd like to believe I gave it a fair shot. Despite my best attempts, after a few months of struggling, I switched over to Ubuntu and now enjoy the pleasure of developing on Linux. The only problem with using Linux, or OSX for that matter, is that if you'd like to design for IE, you can't just download the browser. Fortunately for us, Microsoft has shared a host of disk images for all the various combinations of prehistoric browsers and OS's.
There are a variety of virtual machines out there, but the best option is Oracle's VirtualBox. Assuming you've downloaded your disk image, and you've installed VirtualBox, you should simply be able to launch the disk image and VirtualBox will get you up and running. To Microsoft and Oracle's credit, once you know what you're doing, it's very easy to boot into these disk images with nearly all combinations of Windows and IE.
Also, in order to prevent people from using these images for things outside of developing, they reset every 30 or 60 days, depending on which OS you're on. As I mentioned before, it's really easy to get them mounted so that should be a quick problem to overcome.
Now, assuming you are not doing anything funky with domain names, you shouldn't have many problems from here. Assuming your VirtualBox's Network Adapter is set to NAT, you should be able to simply go to IE and open up localhost:[port] and see your application in development.
If you are messing with domains, like Healthify, then you might need to alter the host file to point the local IP address (10.0.0.2) to however you've configured your app's URL.
If this is too complicated for you, and you're willing to shell out some money to solve this problem there is a solid alternative called BrowserStack. BrowserStack, which is also recommended by Modern.ie is a great web based tool for checking out different browser versions. This will probably get you 80% of the way there, but somehow I haven't been able to replicate some bugs that do show up on an actual virtual box. For most people, 80% is good enough, but if you're developing consistently for Internet Explorer, a real VirtualBox is worth the time.
As soon as you're finished asking yourself, "Why would anyone use this browser?" you can now develop with a certain level of confidence that your application will look good almost everywhere. That's assuming you manage to conquer all the wierd nuances in actually developing for old IE versions. Good luck!