Application virtualisation for the rest of us
Application virtualization is going to be very big, in essence it allows you to deploy applications on Windows clients just by copying them onto the machine. The configuration of the machine remains unchanged because the virtualization platform isolates the application, by intercepting all calls to the registry and to files that would have normally been installed to shared areas like c:\windows\system32. Windows Vista does this in a limited way but it’s purpose is different – to allow legacy applications to run without users needing to be logged in as administrator.
All we need for this to really take off is for the capabilities to be added to the operating system, or to be available for free and be ubiquitous, so that ISVs package up their applications to run in this isolated fashion. Microsoft seem to have chosen not to build this platform for us because they already have a similar solution for new applications which use the profile (not the registry) for configuration data and use the manifest so that they are self describing. These applications (like my favourite browser Maxthon) can be installed with a simple copy, in fact I replicate Maxthon to all my different PC’s by just copying the application and its configuration files from my desktop as part of a scheduled job.
SoftGrid has been the king of application virtualization for a long time but it’s expensive and designed for enterprise use. The disruptive kid on the block is SVS from enterprise management vendor Altiris and it’s disruptive because it’s going to be free for home and personal use, and only $29/PC for enterprise use. Many enterprises already routinely package all of their applications for automated deployment, and now they will have a new opportunity. I have yet to see detailed reviews, but packaging costs may well even reduce. Certainly flexibility will increase if installation for many applications becomes nothing more than a file copy operation (no reboots) and application de-activation (allowing you to activate again later) is even easier requiring only a configuration setting change.
Imagine what this means, operating systems will no longer degrade with time due to applications gradually changing their configuration, instead the operating system is automatically patched and protected probably direct from Microsoft, with applications running in splendid isolation from each other. The applications will be easier to deploy and to remove. Over time Microsoft will either develop a similar capability and build it into the operating system (Some variants of Linux are moving in this direction already) or wait for new versions of applications to build on similar capabilities developed for .NET applications.
Application virtualization is a practical solutions to the issues I talked about in this post, and will probably be important securing a continued role for the enterprise thick client, as it competes with the many server based computing approaches.