Of course there are several reasons to choose XenDesktop, but in many cases XenApp is the less expensive desktop virtualization product. By less expensive I mean a lower TCO and lower total cost of acquisition and not the per concurrent user cost which is higher with XenApp.
For all the reasons listed above I would start out investigating using XenApp for all your users and then look to use XenDesktop for the users that require any of the following functionality.
- Generic USB Support
- Native Windows XP or Vista Explorer Interface
- Virtual Desktop Isolation
- Application Compatibility
- OS Streaming Directly to the Desktop
- Enhanced Multiple Monitor Support
- Enhanced Smartcard Support
- User-driven Desktop Restart
- Bitmap Remoting (Future)
- Offline Desktops (Future)
Generic USB Support
XenApp supports printers through client printer mapping, scanners through TWAIN, USB flash drives and PDA synchronization (Active Sync). But there are still many USB devices not covered by XenApp that are covered with XenDesktop's generic USB support. Currently real time (isochronous) devices such as web cams are not covered, but hopefully they will be supported in the future.
Native Windows XP or Vista Explorer Interface
The XP and Vista explorer interfaces are more user friendly than the Windows Server shared desktop provided by XenApp. You can make a XenApp published desktop look more like XP using the Luna theme, but some users may insist on having the exact same explorer interface provided with XP or Vista.
Virtual Desktop Isolation
A single XenApp user can consume a large portion of the processor and memory resources effectively starving resources for the other users. XenApp offers CPU Utilization Management to help with evenly distributing processor cycles.
Isolating the desktop also protects against system crashes that can blue screen the server. However the majority of crashes only affect an application which would not disrupt other sessions on the XenApp server.
Application Compatibility
With XenApp all your applications must run on Windows Server. XenApp does offer Isolation 2.0 and Application Isolation Environment (except for Windows Server 2008) that can help run troublesome applications. But there are still some applications that will only run on XP or Vista.
OS Streaming Directly to the Desktop
XenDesktop has the ability to stream the OS directly to the client device via the desktop provisioning component. This allows the user to take full advantage of the CPU, GPU, and memory on their client device.
Enhanced Multiple Monitor Support
XenDesktop supports up to 8 monitors and is not limited by the Windows Server video buffer. By default XenApp has a limited buffer but you can make registry changes and/or use additional tools such as Virtual Display Manager
Enhanced Smartcard Support
Both XenApp and XenDesktop support smart cards including Common Access Card. However XenDesktop supports additional functionality such as USB smart card tokens.
User-driven Desktop Restart
If a XenApp server is unresponsive a users only recourse is to logoff / disconnect and login again. However the user might be assigned to the same troublesome server. With XenDesktop if you have any problems with your virtual desktop you can perform a remote restart.
Bitmap Remoting (Future)
As shown by Derek Thorslund's blog on HDX, XenDesktop will have bitmap remoting. This will allow complex graphical applications to be run on the virtual desktop and remoted via bitmaps to the client device. Note that until GPU virtualization is available, bitmap remoting is only useful for blade CPs.
Offline Desktops (Future)
The idea with offline desktops is that a user can "check out" his centralized virtual desktops to his local laptop or PC. This local virtual desktop can be used in an offline mode while the user does not have access to the network. After the user is finished he can upload his virtual desktop
including any changes to the datacenter. Now the user can once again access his centralized virtual desktop from his thin client or whatever client device he was using. For more information see Project Independence.
There are a few features in XenApp that are not present in XenDesktop
1) Enhanced scalability of about 5X to 7X number of users per server.
2) Quicker and easier to implement.
3) Speedscreen latency reduction to allow for interactive typing over slow WAN connections.
XenApp also currently has an advantage with VOIP, but over time that advantage will probably disappear.
So what do you think? What did I get right? What features are missing?