VirtualBox, IE9, OSX, Test Environment

Since switching to developing on a Mac a year ago one thing which has always been a bit of a pain for me is when I need to test a site specifically on Internet Explorer. Whilst things have improved greatly recently in the need to support this as a browser there are still occasions, albeit quite infrequently, when I simply need to replicate an issue on IE. These occasions are infrequent simply because I use a good base point for my FE work, and IE8/9 are actually quite good (in comparison to IE6/7). Coupled with a policy of progressive enhancement seems to get me 95% of the way there most of the time.

Still there is always those odd occasions to deal with. Because they are so infrequent I have so far gotten along with hi-jacking a colleague’s PC and hoping its a quick fix. Of course this was never going to be a long term solution as its not always going to be a quick fix and it isn’t always going to be available to me. A more permanent solution is required.

As I saw it I had 3 options:

  • Buy a test machine
  • Purchase Parallells and a Win7 License
  • Find a free option

The yorkshire man in me wanted to opt for the third option, after all I have spent a hefty sum on a Mac to do development, spending more money for the odd occasion irked me. Ultimately tho I didn’t hold out for a free option so have been looking to buy a test machine which could double as a machine for my wife. Only problem here is that if my wife has it and I need it then back to square one generic viagra for sale.

Well this morning I stumbled upon a tweet which looked like it could fulfil my needs. I’d heard of VirtualBox (and even had it installed) but the idea of subsequently having to install an OS such as Win7 seemed like more expense and a lot of hassle. Step forward Greg Thornton who has provided a wonderful script that does everything for you to get up and running with VirtualBox in kinda no time!

Visit Greg’s github page for instructions on how to install it on Mac, then be prepared to wait as it downloads a massive 4GBish of data, just to install IE9. But post install I finally had IE9 available on demand on my Mac for free.

There were a few things I had to discover post install to help with dev which I will detail below but its all available with a quick Google and certainly isn’t a complaint from me.

  • Password to login as Admin was “Password1” – this gets hinted to you on the login screen but still would be nice to be in the README file
  • To access my Mac’s localhost, use the IP
  • Hosts file needs to be edited as administrator, right-click on Notepad.exe and select “Run as Administrator”

And thats it, I was happily debugging an IE7 mode in IE9 without having spent a penny. The silver lining was that the money I was saving for a test machine I have spent on a shiny new 27in LED monitor :-)

What Use is a Modern Browser?

For people who thought the browser wars were over, the message coming out of the big 5 vendors is that it is well and truly alive. With Google releasing a new major version of its browser Chrome every 6 weeks, and having already surpassed IE in version number, and major releases for both Microsoft and Mozilla coming soon we are once again deep in the midst of a browser war.

Or so the vendors would have you believe if you follow what they have to say. First Microsoft comes out and says their upcoming browser IE9 has the best HTML5 features – note here the best not the most – then a Mozilla evangelist calls foul and says what about all the features it is missing? I’m sure their are many developers out there who nodded their head in agreement, sadly I wasn’t one of them. I was going to write about how pointless this propaganda war was when Faruk Ateş (Author of Modernizr) wrote almost exactly what I was thinking, it is therefore well worth a read.

As a developer I would be extremely happy if IE9 was indeed supporting all of the current HTML spec, and indeed if all the other browser vendors did the same, but even if they did who’d really give a fuck? Not most users, and probably not most developers, because you can’t use these features, or they are overkill for all but a small proportion of web sites. Here’s what is more important in my eyes, the best browser out there, the most modern, is Chrome, and not because of its lightning fast JavaScript engine, or its implementation of SVG. The killer feature for me as a developer is that it auto updates to the latest version, in the background. That means that at any given time you can be fairly certain what a user who is running Chrome can use, and therefore what you can use as well. The following chart shows what a success this strategy is, but just compare it to the other browsers.

Sure there are situations where an auto update can be bad, for enterprises being the best example, but for the vast majority of users out there, who don’t even get what a browser is, it is practically essential. Security updates can be applied automatically keeping the average joe six-pack safe. IE9 looks to have some excellent new security features, excellent but whats the point if the very people it is supposed to protect don’t install it, cause they are scared to break their computer? Take this decision out of their hands as Google have, and leave auto-update as an option to turn off for the savvy, or IT admins.

A byproduct of this for us developers is that if feature a isn’t available, but due in the next iteration, we can wait and when it is available we can be safe in the knowledge it will be available to us. Instead we are left saying if only IE9 had drag and drop just like Firefox 4, when in reality even if it did all the people using Firefox haven’t upgraded from 3.6 so don’t have it anyway.

IE9 looks good, and I’m sure down the line IE10 will be even better, but it matters not to the developers, cause we can’t use all the great new features in the wild. Please browser vendors, take a look at the Chrome model, iterate fast, update immediately, and then perhaps we can push the web forward.