A particular reason I don't like using VM's has to do with that I tend to make many snapshots with different "tasks". The primary reason for using VM's is installing stuff that may mess around with the OS and other installed apps, so obviously, for each thing I have different snapshot. Also these "tasks" or apps in my testing often do not work with application virtualization, atleast not without spending bunch of time tweaking it - and the perf can suffer.
Then comes the problem of Windows Updates. If I have to update those invidually into each snapshot this will waste both time going through the snapshots manually and disk space by downloading the updates into each snapsot, which have tasks going on that I don't want to close down or reboot.
So, what I'd like is:
1) Ability to install apps with full isolation to Windows without using VM with separately installed Windows guest. This just means that whatever changes the app makes to disk or registry, will only be seen by that app.
The isolated app should be able to install and use whatever drivers it pleases, but these drivers will not see anything beyond a clean windows install unless user either merges state or chooses to expose something (eg. shared folder) to the isolated install.
2) Ability to merge the isolated apps changes either into other isolated apps (two isolated states become one) or into the OS (remove isolation and the app sees everything as normal app would)
3) Ability to a) Suspend all the processes and threads related to the isolated app, b) apply the most critical Windows updates to all memory and files, isolated or not, without reboot and c) resume.
edit: yeah I do realize the Metro apps kinda sorta enable this. So, maybe in few decades this will be true, assuming every app will have a Metro version...
Add your 2¢