, AndyC wrote

*snip*

Which only adds to the argument, "Why does starting a process have to be different to switching to one? Why can't they always just be 'running'?"

So how would that work in the Remote Desktop example? The experience of randomly having to reconnect (which can take quite long) when I switch back to it is not nice. The illusion of always running falls down because if it were truly always running, it would have to be always connected. And you wouldn't want that when you're not actually using it.

I want it to stay connected while I'm using it, and disconnect when I'm finished. That requires it to stay "open" while I'm using it and an explicit mechanism to "close" it.

The fact that it randomly closes whenever I spend a few seconds too long doing something else and then has to reconnect is not only annoying, it's also confusing to the user. I know this is happening because Windows is suspending the app in the background. To an average user, who doesn't know how this works and buys into the idea that his apps are always open, it's just randomly losing the connection all the time, making it seem very unreliable. It's the law of leaky abstractions: you can try to present the apps as being always open, but in reality they're not, and at some point that's going to be noticeable (like when Remote Desktop has to reconnect).

Some applications just have legitimate state they need to keep, and sometimes restoring that state takes a long time (like the 10+ seconds to reconnect). For those applications, the "always running" illusion just falls down almost instantly. And the fact that one of the core apps from MS itself displays this so blatantly means this is hardly a hypothetical example.