Q: What is User Experience Virtualization?

A: IT departments in organizations today face an environment where users expect access to all their applications with a consistent experience from many different devices, both Windows and non-Windows, based from any location. To enable this rich, functional and consistent user experience it’s important to understand what makes up the user's total experience. There are three layers:

The OS itself. It may be running local on a device, if it is Windows capable, or could be delivered using remote desktop technologies and provided using VDI infrastructure with each user connected to a virtual machine (VM) running a Windows client OS or using session virtualization, with each user having a session on a shared server OS.
The user's applications, which need to be available. This can be achieved running the application locally on the user's Windows OS using application virtualization technologies like App-V or using Remote Desktop Services RemoteApp where the application runs on a remote server or client OS and is displayed seamlessly on the user's main desktop
The user's data and settings. Folder redirection and offline folders provide a very functional solution to making user data always available. For the user settings, the solution has been roaming profiles.

 From the list above, Microsoft has great solutions on all aspects of providing a rich, virtualized desktop experience for the OS, applications, and data. However, the user settings, such as configurations for the desktop and applications, have always been a weak spot.

Many people familiar with roaming profiles from Windows XP would offer up a limb before using it. While great improvements were made in Windows Vista and continued in Windows 7, allowing greater granularity of how different parts of the profile were roamed, and even some background synchronization, roaming profiles is still unwieldy to implement.

The root of many of the problems is that the profile is a single object containing all the settings for the desktop and applications, making it hard to handle the synchronization of the settings, especially when users may use multiple OS instances concurrently.

User Experience Virtualization (UE-V) is a new addition to the Microsoft Desktop Optimization Pack (MDOP),  offering a rich virtualization of the user desktop and application settings. It completes the full virtualization of the desktop, replacing roaming user profiles.

UE-V is enabled on a per-application basis in addition to basic desktop settings. The locations in the registry and the file system for the user settings for each application are defined and therefore should be captured and virtualized by UE-V. This allows granularity in which application settings should be roamed between user environments, and each application has its own setting store enabling much more flexible synchronization of settings.

A great example would be this: Imagine a user has two logon sessions--the local Windows 7 PC and a Windows 2008 R2 Remote Desktop Services session. Looking at the experience of using Roaming Profiles, I should point out that sharing a profile between a Windows 7 desktop and a 2008 R2 RDS server is not recommended, but it helps see the problem:

1. In the Windows 7 session, the user launches Microsoft PowerPoint and customizes the environment, then closes PowerPoint.

2. In the 2008 R2 session, the user launches PowerPoint and none of the customizations made on the Windows 7 session are available. User sets different customizations, then logs out of 2008 R2 session, at which point roaming profiles replicates up the new profile.

3. User logs out of Windows 7 session, and the profile overwrites that of the 2008 R2 session.


Now with UE-V which has been configured to virtualize settings for Microsoft Office:

1. In the Windows 7 session the user launches PowerPoint. As the application launches, the UE-V service hooks into the application, pausing the start, checks for any update to the settings package for PowerPoint from the UE-V remote repository, which is just a file share.

If there is an updated settings package, it synchronizes it using offline files to a local cache and the application starts using the settings in the settings package exposed by the UE-V service. The UE-V service provides the technology to inject the user's application settings that are stored in the registry and file system onto their current OS as the application starts. It then saves them back to the UE-V settings package when the application closes, which allows the abstraction of the application settings from the OS without any changes being needed to the application..

The user now customizes the environment then closes PowerPoint. As the application is closed UE-V saves the updated settings to the settings package for the application and writes to the remote repository.

2. In the 2008 R2 session, the user launches PowerPoint, and once again UE-V hooks into the application, pulls down and presents the user's customizations, and now the user sees the changes made in the Windows 7 session for PowerPoint and can get on with their work. If they made changes to the application settings then on application close, those changes would be saved to the remote repository.

This demonstrates the difference and why UE-V really changes the user experience. Roaming profiles only replicate changes at logon and logoff. UE-V replicates application settings when the application launches and is closed.

For desktop settings such as the theme (desktop background, sounds, etc.) and accessibility configurations, the changes are replicated at logon, logoff, lock, unlock, connect, and disconnect. Internet Explorer 9 and 10 are both supported and are treated like any other application, settings replicated as the application is opened and closed.

UE-V also works seamlessly with a mix of locally installed applications and virtualized applications with App-V, giving a single configuration for an application no matter how it is implemented for the user. For power users, there is a PowerShell cmdlet that enables an individual application settings to be rolled back to the default configuration, this is useful if a user has completely corrupted their settings for an application.

The default configuration is created the first time an application is launched for a user and stored away in case the settings rollback is required.

From a platform perspective, UE-V is supported on Windows 7, Windows 8, Windows Server 2008 R2 and Windows Server "8," which means a single application configuration for any session on any supported platform. As long as the UE-V agent is installed and has the template registered for the applications and desktop then the user will have a consistent experience.

There is no server infrastructure for UE-V other than a file share to store the settings packages for each user (who would have their own subfolder) or the users settings packages could be part of their standard Active Directory specified home drive.

The actual templates that detail what applications should have settings virtualized and actually document the various registry and file system locations that make up those settings and need to be intercepted can be registered at the time of the UE-V agent installation or can be stored on a file share that the UE-V agent can be configured to check for updates every 24 hours.

This makes UE-V very easy to deploy as most of the work will be just deploying the agent which can be done manually, through an Enterprise Software Deployment (ESD) solution such as System Center Configuration Manager or even using Group Policy.

Microsoft provides templates for Microsoft Office 2010, Internet Explorer 9 & 10, Calculator, Notepad, Wordpad and for Windows Settings both in Theme and Ease of access. A UE-V Generator tool is also provided, which through a simple wizard allows custom templates to be created for other applications whose settings should be virtualized with UE-V.

With UE-V complementing folder redirection, App-V, and RDS solutions, it's possible to deliver the complete user experience across any device. I got it up and running in my lab in about 10 minutes!

The one gotcha I found was to make sure Offline Files is enabled via the Sync Center control panel applet as it's disabled by default on all OSs except Windows 7. The beta is available now to try at Microsoft's site. To learn more about the MDOP changes, also check out Paul Thurrott's SuperSite for Windows blog post, "Microsoft Begins Evolving MDOP."

Here is a video I created about UE-V.