How Virtualizing Desktop Applications Works
As you saw in the preceding section, many application-to-application compatibility problems are caused by sharing, which is supposed to be a benefit; but, as any only child will tell you, sharing is no fun. It makes installing applications take too long, and the required testing before you can release new applications can delay vital new services. These problems didn’t exist when nothing was shared between applications, but no one wants to go back to Windows 3.1. However, there is a solution: simply run each application in its own little bubble.
When I talk about a bubble for each application, I don’t mean a separate operating system environment like you see in a virtual machine (VM) scenario. Although that would isolate each application, you would lose the benefit of having the applications running on a single operating system, and management and computer overhead would be enormous. Instead, think of the bubble as containing virtualized elements of the operating system that are specific to the installed application footprint; that is, each bubble would be a virtual layer, if you will, overlying the actual operating system resources, as shown in Figure 4-1. Note that each virtualized application has its own bubble with its own layers, which are hidden from the other virtualized applications.