What I don't get is, honestly, the reason web apps are so much more awesome on PC's and Mac's than desktop applications are is that they are 0-configure, 0-install, 0-trace. These days, the people with the fastest computers aren't the geeks - they're people who buy a fast clean empty computer, install Firefox and never anything else and just use web apps. If they uninstall any crap that came with the computer, and keep, say, Windows (or Mac) and Firefox updated (both these OS's and Firefox are pretty proactive about this too), then after a year, their computer screams compared with anyone who downloads anything. (Such a person will normally at least start up skype, an antivirus, media programs, office suites, cam software, sometimes bittorrent or other specialty software, etc etc etc. The list goes on. All of which like to update themselves, have an update process in the background, sometimes hanging, bugging the user, etc, and all of which like to start up with the computer.)

Honestly, what the desktop experience is missing is quite simple: 1) seeing the first screen within 5 seconds of asking for it 2) every action takes a few seconds including 'installation' 3) when you close the tab it's gone.

Honestly, even if you have a VM that is 100% in RAM on the fastest computer available today, usually all programs fail at number 2 - if for no other reason than that their installation program requires the user to click Next Next Next Next Finish.

What would fix this? Well, for one thing if any web app also had root access to a non-networked-except-with-its-own-servers 100% do whatever they want with it local VM. Yet to my knowledge there is not even a distribution (of any kind of operating system whatsoever) that is geared toward giving its entire stack over to 1 application, assuming that it is all now 'tainted'.

Off hand, it would seem the requirements of such an OS would be:

- Fast startup, no unneeded services

- Very small footprint, so that a web service can go wild on it, modifying it however it wants, removing anything it doesn't want, basically, it's theirs now - and the resulting blob can be written out to disk quickly when the app closes.

- Extremely secure. No way for the app to break out of its jail, where it has total root.

- Some graphics acceleration would be awesome if this can be done securely, secure access to opengl, etc.

- EXTREME STANDARDIZATION THAT DOESN'T CHANGE FOR YEARS OR IS SUPER-PREDICTABLE.

This is the MAIN area where Firefox shines: you can TARGET it. Whereas, targeting Windows: good luck. Targeting Linux: um, a slew of questions immediately pop up. Mac: which version?

The difference between offline games and online games is just huge. Imagine if you could run any hardware accelerated game "right from your browser" waiting a few seconds for it to load. The threshold to trying it out would fall 1-2 orders of magnitude. (I would argue, for an indie house falling 3 orders of magnitude).

I do realize that this overlaps with NaCL. However, NaCL is not really about providing the full desktop STACK to developers in a standardized way: instead it focuses (from what I gather) on just the op codes. That's great, but it hardly provides OpenGL (or DirectX) or a slew of other things that desktop applications have if they want it.

Basically, I am saying: if VM software is advanced enough that security researchers run random viruses on their everyday boxes with their normal hard-drive mounted, just in a vm, then how is VM software not advanced enough to give a full desktop access to a web site, all cordoned off with write-on-modify semantics and standardized, so that the user has 0 security implications to this?

Basically, the ONE thing I would add to the experience is putting at the top of any tab that has this, the number of VM's currently running. Whereas I expect flash to work well with 10 instances, that may be asking for too much here.