Chrome OS is extremely purpose built and it is something that should bring about great concern to those at Microsoft. I personally don't have a problem with Windows 8, but purpose built is hardly a phrase that applies to the OS - at least if you're talking about it on a more traditional PC. I suspect by the time we get to Windows 9, Microsoft will have a better answer to the critics of 8/8.1, but that gives Google and its Chrome OS partners at least another year of marketshare erosion. At the beginning of this mobile journey I remember x86 being an advantage for Intel, and we all know what happened to that. Similarly, I remember Windows/Office being advantages for Microsoft. If Microsoft doesn't find a quick solution for making low cost Windows PCs just as well executed as Chrome OS devices, it'll find itself in a world where Windows no longer matters to entry-level/mainstream users.

Apple's taken over the high-end, Google is taking over the low-end, and in mobile, the company barely registers.

I have a VM for checking if I have introduced any environment problems that is close enough to production. In any case it gets tested and QA'd on a two servers that are clones of live environment, any configuration/environmental issues are going to be caught there.

Why? Let me count the ways:

1) Standardised, sharable environment for developers.

2) While still allowing you to do what you please with your workstation. Instead of having IT saying that, no, you can't have OS X / Windows / Linux because of X / Y / Z. You can BYOD if you want and nobody cares.

3) Set up and update can be automated by ops using e.g. puppet. Without affecting your workstation environment, which you have painstakingly made your own.

5) Have a VM for each tech stack that you develop for, instead of cramming everything on the same OS. I don't need to have PostgreSQL, MySQL, CouchDB, etc. all running on the same box at the same time.

6) Catch configuration/environmental issues right away rather than later, "close to production".

7) Maybe you are developing applications that run on different platforms and you need to test their integration. E.g. a POS that runs on Windows that needs to talk to a web service that runs on Linux.

8) Maybe you need to test applications that talk to each other over the network. Want to demo that on a laptop in a meeting? Sure, go ahead.

9) You're free to upgrade or reinstall your workstation OS as you please. Wanna jump onto Windows 8.1 the day it's released without having to worry whether your dev stack will survive the upgrade?

I'm sure I could come up with more.

Most of the time I want to work in my OS of choice, not dick about remoting into a VM.

Also "doing it right" is very subjective.

You can still work in your OS of choice while the code runs in the VM. We're talking web services here. Just mount part of your file system onto the VM.

As I said it subjective, because at the moment I don't need any of that.

All of that sounds great ... if I needed it and that is why I don't like condescending statements like "if you were doing it right" ... well I am doing it right because I am releasing updates on time according to my estimates.