HTML 5: What’s in it for us?

Ian Hickson, the editor of the HTML 5 specification, was interviewed by Bruce Lawson earlier this month. Ian listed a few things we can look forward to in HTML 5:

Long term, content authors will find a variety of new features in HTML 5. We have a bunch of new structural elements like section, article, footer, and so on. We have new elements for embedded media, like video and audio. We have new input controls, like the calendars I mentioned, but also fields for URLs, e-mail addresses, telephone numbers, and for color selection. We have control over autocomplete values in text fields, as well as field validation so that you can say which fields are required. We have context menus, pushState() so you can update the URL in Ajax applications, and offline application cache manifests so that your users can take your applications offline. The list goes on.

Ian expects the HTML 5 spec to be in its final stages by October 2009. Browser vendors have already started to include support for some HTML 5 elements, e.g. the video and audio elements. As Ian points out in the interview, browsers, which are constantly evolving, are an implementation of the spec, and will never be HTML 5. A browser’s implementation will only ever be a subset or superset of HTML 5.

HTML 5 will make life as a web developer much simpler. Field validation on its own reduces a great deal of complexity. With the inclusion of ARIA attributes too, the web will become much richer and more accessible to all over the coming years. Talking about evolution in the browser world always brings one back to the same question – how to deal with IE6’s refusal to die? I like Andy Clarke’s idea about Universal Internet Explorer 6 CSS. Day by day I sense I am coming closer to the momentus event of a client saying “don’t worry about IE6”. Supporting an 8 year old piece of software is a nonsense and soon the tide will turn, before the end of the 2009 I hope. Budgets will shift from supporting the lowest common denominator to growing technologies like the proven appetite for mobile web applications, I hope. My path to insanity will stop then, I hope.

I think working in the web development industry, which is unique in that it spans all work sectors, will soon start to get exciting again. Accessibility doesn’t have to be a reason to stifle creativity, although ARIA isn’t a fix for all issues so diligence is still required. And functionality will not need to be hampered anymore because of the limitations of an 8 year old browser. I’m writing from the perspective of a web developer who attempts to make websites that are inclusive for all users. I know there has been a great deal of innovation in the industry, pushing the boundaries with JavaScript, Flash, Silverlight, etc… But making use of these technologies and trying to remain accessible to all is a very expensive business. Budgets are never big enough.

The sooner HTML 5 is baked into browsers, the sooner screen reader users upgrade to WAI-ARIA compatible screen reader software, the sooner corporate IT departments drop IE6, the better the web will be for all, I hope.

Using IE6, IE7 and IE8 Virtual PC images on Mac using VM Fusion

Okay, here goes my first blog entry on I switched to a Mac in November 2008 after many years of developing on Windows. At my current place of work I still use Windows but I plan to remedy this by creating a development / testing environment on one machine. I must say that I’m still figuring out how to use my MBP, weening myself of Windows ways on a daily basis.

Most web developers need to test their work on Internet Explorer, version 6, 7 and now 8. If you don’t, you have an understanding, forward thinking client, and one who’s probably missing out on potential visitors / customers. Anyway, I digress. On a PC I use Microsoft Virtual PC to test web pages on each version of IE, by downloading VPCs from Internet Explorer Application Compatibility VPC Image webpage. This method is free but has an annoyance in that the images are time-limited, so one has to download updates every 3 months or so.

Understandably, I wanted the same free method of testing when switching over to Mac. A quick search led me to Mozmonkey’s blog, where he describes how to do just what I wanted. The only killer is that for some of the steps one would need a PC. I don’t have a PC anymore. Comments to the rescue! In the blog’s comments there are lots of helpful hints in how to reach the end goal without a PC. Hooray! So here is my attempt at Mac only install of IE, in this case IE8 Beta 2.

1. Download Microsoft Compatibility VPC Image and extract

  1. Download the appropriate file from Internet Explorer Application Compatibility VPC Image webpage. It’s an EXE file.
  2. On Windows, one would open the file to extract the VHD. Use Zipeg, as suggested by Craig, to unzip the contents of the file you downloaded. Simply rename the extension EXE to ZIP, then open the file in Zipeg.

2. Convert the VHD image to a VMDK image

  1. Download and install Q from
  2. Purely for simplicity, rename your VHD file so it doesn’t have spaces in
  3. Open up a terminal
  4. Navigate to the folder where the VHD file is
  5. Type in the following command, replacing the filenames as appropriate:/Applications/ convert -O vmdk -f vpc XPSP3withIE8.vhd XPSP3withIE8.vmdk

It took a couple of minutes for my MBP to complete this command, after which you should have a VMDK file, suitable fodder for VMware Fusion.

3. Install and configure VMware Fusion with the created image

I don’t have VMware Fusion yet so I’m now going to download the trial version of VMware Fusion. If it works I may buy it.

Installation Done.

  1. Open VMware Fusion
  2. Click File > New
  3. Click the “Continue without disk” button
  4. Select the “Use an existing virtual hard disk” option and find the VMDK file that you created earlier
  5. A warning may popup. If so, convert your disk to the newest format.
  6. Click continue
  7. I chose Windows XP Home as the operating system then hit Finish.

After this, I started Windows XP and attempted to install VMware Tools.

Installing VMware Tools

After several unsuccessful attempts at installing VMware tools I started googling. I found some instructions by Jay Levitt and followed his directions where possible. I had to use keyboard commands because the mouse (trackpad) was not working yet. I did this:

  2. Navigate to Local Policies\Security Options.
  3. On the right is “Devices: Unsigned driver installation behavior”. Change it from “Warn but allow installation” to “Silently succeed”. Close Local Security Policy.

Jay mentions going into regedit but the registry entry Jay mentioned was not present in the version of Windows I downloaded from Microsoft so ignore that’s why it’s not listed above. Next I followed Jay’s steps to remove Microsoft’s Virtual PC drivers:

Now you’ll need your Windows XP installer CD or image.

  1. Press CTRL-Command to escape the guest.
  2. On the Fusion menu bar, select Virtual Machine | CD/DVD | Choose Disk Image… and find your ISO (or insert the real CD into your drive).
  3. The Windows Installer will autorun. Choose “Exit”.
  4. Go to Control Panel -> System -> Hardware Tab. (Shortcut: Command-F15, right-arrow, right-arrow). Click the “Device Manager” button.
  5. Under MSIE6 -> Batteries, you’ll see an Unknown Device, with an exclamation point. Right-click (or use the Action menu) and select “Disable”. Confirm “Yes”. Close the Device Manager and the System panel. My battery driver was okay already
  6. Go to Control Panel -> Add or Remove Programs, and remove the “Virtual Machine Additions” program.
  7. When you see the “You must restart your system” dialog, answer “No”.
  8. Close Add or Remove Programs, and close the Control Panel itself.

I’m not too sure why a disk image is needed. I was lucky enough to have a Windows XP disc sitting in a CD wallet next to me 🙂 Maybe Step 2 above can be skipped or maybe it’s needed in order to remove the Virtual Machine Additions.

Next I followed Jay’s instruction to install VMware Tools:

  1. Press CTRL-Command again, and select Virtual Machine | Install VMware Tools.
  2. A pop-up appears. Click the “Install” button.
  3. In the installation wizard, click “Next”, “Complete”, “Next”, “Install”.
  4. Problem #2: When it tries to install the mouse, it will ask for i8042prt.sys. This is not provided VMware Fusion tools; my other VM doesn’t use this driver for the VMware mouse, and I am not sure why it needs it. However, you can point it at C:\WINDOWS\SYSTEM32\DRIVERS and click “OK”. I didn’t have this problem
  5. Problem #3: When it tries to install the printer, it will ask for pscript5.dll, which is not yet installed, and not on the VMWare Tools CD. Just press ESC. Again, I didn’t have this problem

When prompted, I restarted my system. However, I must point out that each time I try to restart or shut down Windows it hangs on the “Windows is shutting down” screen. To overcome this, I select Virtual Machine > Restart Guest from the VMware menu.

Success! My mouse is working and, unlike Jay did with past versions of the VPC images I had no driver hell. I am able to fire up IE8 and browse the internet. I can’t actually believe this works! Now I just have to do the same for IE6 and IE7, plus workout how to view webpages on my localhost.

I hope my first blog entry helps someone out there.

Update: I’ve worked out how to view web pages on my local development server from VMware.