If you were to look at VMware’s printing strategy, you might be led to believe that printing is not important in a VDI environment. Ubiquitous as it may seem, printing is one of the most challenging and critical part of the virtual desktop strategy. VMware does not support virtual printing for all Horizon use-cases. Citrix, on the other hand, has been working on solving printing for both server-based (SBC) and desktop (VDI) environments for a long time. In this post we take a detailed look at printing capabilities of XenApp and XenDesktop, and how they compare to VMware Horizon View.
Printers are notorious for their sheer variety, in the whimsical multitude of hardware drivers, or the way a simple job can bloat by an order of magnitude before it is printed. When the virtual desktops and the local printer are separated by a WAN, it does not help matters. Citrix went through this pain with its customers, and back in 2011 we launched Project Phaser to rewrite the rules of virtual printing.
The result was a set of technologies that not only make end user printing experience simple and pleasant, but also optimize print jobs and make the administrative task of printer management more efficient.
So how does VMware Horizon View compare? Our tests reveal how VMware printing falls short of meeting key customer requirements, which are needed by users on a daily basis. Whether you are an administrator or an end-user, VMware Horizon View disappoints and is unable to provide an enterprise quality solution.
How? VMware comes with draconian bandwidth requirements that cripple WAN deployments. Making the printing process faster means using the highest level of compression, yet still takes 4.5 times longer to print than XenDesktop or XenApp, and the high compression leads to inferior print quality. Horizon View lacks support for virtual printing from server-hosted desktops and applications and requires administrators to configure and maintain updated printer drivers on endpoint devices or within the session host multiplying management complexity and cost. And the Horizon View Location Printing configuration is poorly designed, inflexible, and complicated, a crippling and intolerable failing in verticals such as healthcare.
In many comparative evaluations, the simple task of Printing is often overlooked, even though a significant portion of an end users’ workday is spent dealing with this common, repeated task. The users want this to be experience to be good!
VMware have chosen to license a part of Cortado’s ThinPrint functionality in the Horizon View product. Unlike Citrix printing, however, VMware solution is incomplete and requires significant investment in third party products to fill the gaping holes in functionality. Read more to find out exactly where and how.
Locally Attached Printers
Take a common scenario, where a sales executive needs to print last-minute changes to an important contract before leaving the hotel for a meeting. They want to print from published Word application to a local USB printer, borrowed from the hotel.
Citrix XenApp and XenDesktop HDX Printing includes the Universal Printer Driver (UPD), which is installed automatically with the Virtual Desktop Agent (VDA). This functionality is provided on any operating system that supports the VDA. Whether it is a Windows Desktop (e.g. Windows 7) or a Windows Server (e.g. Windows Server 2012 R2), all you need to do is simply connect the printer to your Windows or Mac machine, and the new printer shows up instantly in the user’s session. No admin intervention required.
With VMware Horizon 6, as mentioned earlier, customers get a universal printing solution based on Cortado’s ThinPrint. BUT VMware did not license the full solution, just a tiny part of it. This means universal printing is available only on Windows Desktops (e.g. Windows 7). In case you’re using Windows Server based desktops or published applications, universal printing is not available. In fact no locally attached printers can be mapped into a user’s session at all. The mapping mechanism / virtual channel has simply not been implemented in PCoIP for Windows Server.
Now let’s set the limitations of Horizon’s driver-free or universal printing aside and compare the quality and bandwidth consumption of printing with Horizon 6 and XenApp/XenDesktop. In order to do so, we have used a Microsoft PowerPoint slide deck, which contained text in a number of formats and pictures in various sizes. This deck was printed on a printer connected to the client. The network traffic between the virtual desktop and the end-point was captured by means of WireShark.
This means at the default compression levels, VMware consumes almost 2.5 X more bandwidth.
Since we’re techies we wanted to see how far we can push the Horizon Print Solution by means of increasing the compression level to see if we could match the XenDesktop numbers. Using the highest compression level (extreme compression) we managed to almost match the numbers (XD – 30.18MB vs Horizon 30.74MB), but the VMware print quality did suffer quite a bit (click the images to see the difference clearly):
Even at extreme compression, Horizon View took almost 4.5 X more time to print compared to Citrix.
Note: For the above tests, the remote desktop (VDA) was behind a WAN Simulator configured for 150ms RTT delay, 10 Mbps bandwidth, and no packet loss. All time values are in Minutes:Seconds.
Now take a scenario where a user wants to print from an iPad or any other mobile device. It is neither possible to direct-connect a USB printer to these devices nor to install the respective printer driver. So you need to use a print server as an intermediary device.
With Citrix XenApp and XenDesktop you have the Universal Print Server, which is installed as an additional component on your Windows Print Server. This component enables XenApp and XenDesktop users to print to any printer connected to the Print Server, without installing custom printer drivers on the virtual desktop. So there is no admin intervention required, the desktop image stays clean (thus the management of the environment does not get more complicated) and the user has a good printing experience.
Horizon 6 on the other hand, does not provide any optimization of the management or user experience. All you can use is the Windows out-of-the-box functionality (unless you pay for 3rd party software). This means for every printer required by a user in this scenario, a printer driver needs to be installed. Unless you’re using persistent desktops, a user will connect to a new virtual desktop every day and thus the driver has to be installed again. You can certainly prevent the user-driven driver installation by installing all printer drivers as an admin or make them part of the desktop image. But regardless which way you go, the admin has to manage / troubleshoot the printer drivers, which in the worst case means hundreds of drivers on each machine. That’s a quite complex task.
But besides the additional management on the Horizon 6 side, the impact on the network was also significant. When printing the same Microsoft PowerPoint slide deck, which we used earlier, we saw the following results:
While this might not be a huge deal in a LAN only scenario, imagine a branch office with just a T1 or T3 connection to the data center: the print job bloat could bring regular office operations to a halt!
Driver Free Printing – Comparison
As you can see driver free or universal printing is a vital feature from a user as well as admin perspective. When comparing the functionality of XenApp/XenDesktop and Horizon 6 related to this, we get the following table:
Table 1 Printing Capabilities of Citrix vs VMware
There are quite a few gaps on the VMware Horizon 6 side, which will translate into complex management and sub-standard user experience.
Proximity / Location-based Printing
Location-based printing allows IT organizations to map remote desktops to the printer that is closest to the endpoint client device. For example, as a doctor moves from room to room in a hospital, each time the doctor prints a document, the print job is sent to the nearest printer.
XenApp and XenDesktop enable the admin to connect printers in proximity to the user by means of policies. Here the client IP or client name are taken into consideration when determining which printer is closest to the user. In addition these policies can be applied based on properties such as the OU of the user/computer, delivery group, SmartAccess, user group or tags. This provides another layer of flexibility to make sure the correct printer is mapped based on location, user permission and application/resource used. But regardless how the printer is connected or if a server or desktop operating system is used, the universal printing features (discussed earlier) can be used.
In contrast VMWare Horizon has a few limitations, when it comes to proximity / location-based printing. Most important to mention is that the built-in solution only works with Windows Desktops (e.g. Windows 7 or Windows 8). In case Windows Server is used for publishing a desktop and/or an application, the admin has to build a custom solution using scripts, or buy third-party software. Furthermore Horizon’s proximity / location-based printing requires the native printer driver to be installed on the remote desktop. So you are forced to choose either nice, clean driver-free printing or the printer connected next to your user — you cannot have both. Last but not least, the built-in solution is difficult to set up. It requires registry changes to be made on the client device, DLL changes on the Domain Controller, and GPO settings for the driver entitlements.
Our tests showed that VMware printing does not meet key customer requirements that are used on a day-to-day basis. Both from an administrative as well as end-user point of view, it fails to provide an enterprise quality solution.
Where VMware Horizon View falls short:
- VMware’s solution consumes up to 22.5 X more bandwidth than Citrix for a comparable print job (when printing from devices with no printer drivers on them). This is a showstopper in WAN use-cases.
- To reduce bandwidth consumption requires maximizing compression, and also means VMware takes 4.5 X longer to print, while producing inferior quality print jobs.
- VMware Horizon View lacks built-in support for virtual printing from server-hosted desktops and apps. XenApp supports universal virtual printing from any device, including iPads and Android clients.
- VMware requires configuration and maintenance of updated drivers on end-point devices or within the session host. Citrix UPD removes this need.
- Location-based printing configuration is poorly designed, inflexible, and complicated, a deal-killer for many verticals such as healthcare.