Citrix XenDesktop ICA vs XenApp ICA

citrix logo

In May Citrix released its first fully-featured VDI platform combining together a hypervisor, XenServer, a connection broker, Desktop Deliver Controller (DDC), an OS streaming solution, Provisioning Server, its blockbuster presentation/application virtualization & streaming plaform, XenApp (formerly Presentation Server) and a bunch of other applications.

Only the most skilled Citrix customers know that this rich suite, called XenDesktop, has a limitation: the remote desktop protocol it uses (internally called PortICA) it’s not exactly the same ICA that powers XenApp.

The reason behind this difference is that the ICA protocol is built on top of the Microsoft Terminal Server platform that is missing in the Windows XP and Vista guest operating systems that populate VDI environments.

Citrix has rebuilt many of the features in the new PortICA and it’s working to have the same feature-set across the two protocols. But for now there’s a gap.
Martin Maierhofer, Product Architect at Citrix, details the missing capabilities on his corporate blog:

  • Kerberos SSPI: while a useful feature, this integrates deeply with the logon process, and this is one area where – you guessed it – XenApp and XenDesktop differ considerably. Moreover, for it to be really useful you will typically have to mark the computer that your end users connect to as “trusted for delegation” – and typically . While that may be ok for a relatively small number of well managed XenApp server, it’s less clear that you’d want to do this for thousands of virtual desktops, where your users may have full admin rights. Morever, Windows XP doesn’t support constrained delegation, which makes this a less attractive solution. Hence we decided to leave this aside for the initial release.
  • SmartCards: this is a very important feature for a relatively small, but vocal target market. Again, from a technical point of view it is far from a straight port from XenApp. Having said that, it is a high priority item and we are working on delivering it as soon as possible.
  • SpeedScreen: SpeedScreen is a term that refers to a large array of technologies that optimize the end user experience. The first version of XenDesktop shipped with support for the majority of SS features, including SS Browser Acceleration, SS Flash Acceleration, SS Image Acceleration, and SS Progressive Display. Now for the features that didn’t make the cut: SS Multimedia Acceleration was unfortunately too late to make it into the first release, but we are well under way with it now. The situation is less clear with SS Zero Latency – XenDesktop already supports mouse click feedback, but keyboard type-ahead is a technology that is not terribly easy to set up, and can be tricky to get working with more recent applications that you would typically find on a virtual desktop. For now, we are assessing how we can best make this functionality available on XenDesktop.
  • PDA Sync and Twain: again, these are fairly tied to the Terminal Services infrastructure on XenApp. Moreover, virtually all PDAs and scanners nowadays are USB devices, and we will tackle them in a more compatible and user-friendly manner through our upcoming USB remoting technology in XenDesktop.
  • Shadowing: as I mentioned before, on XenApp this is based off Terminal Services capabilities that just aren’t available to us in XenDesktop. XenDesktop Platinum comes with Citrix GotoAssist, which is a more than capable replacement for shadowing, or you can also use the built-in Remote Assistance feature built into Windows for a premise-based solution. We also have plans to support shadowing functionality in future.
  • SmartAuditor: SmartAuditor is used by a relatively small customer segment, and thus wasn’t among the highest priority items for a first XenDesktop release. There has been quite a lot of prep work for this already, and I am confident that we’ll include this in one of the future XenDesktop releases.
  • Audio on Vista: this is a bit tricky – Vista’s audio architecture differs fundamentally from that used in Windows XP, and we need to completely re-implement the audio framework in PortICA to support Vista, which unfortunately has taken a bit longer than we’d hoped, but is nearing completion now. The good news is that we will be able to take advantage of this rework to integrate much better audio codecs in future.
  • Perfmon Counters and User Experience Metrics: again lack of support for these metrics was due to resource constraints, and there are only minor technical difficulties to make them available on XenDesktop.