Defining the User Experience for Citrix/VDI
The success of any IT initiative today is tied to the end user experience. If the user experience is poor, in the best case, efficiencies and productivity will drop, users will complain, help desk tickets will increase, and the IT team will scramble to solve problems in response. In the worst case, users will want IT to rollback the new technologies they have introduced – be it virtual desktops, cloud computing, or virtual storage – to regain the performance levels they are used to and rely on to do their jobs.
The importance of user experience is highlighted by a recent Gartner survey of enterprise customers. 49% of respondents indicated that they had adopted Application Performance Management (APM) solutions to improve the quality of the customer/user experience. Among the critical dimensions of APM, end-user experience monitoring was rated number one.
Also, in a recent eG Innovations webinar we asked the 200+ attendees, “What are the key challenges you face in your VDI deployment?” The results were clear:
End-user experience is by far the biggest issue on everyone’s mind, so we thought we’d take a detailed look into what we all know is the ultimate measurement for success and failure, no matter what application or silo you’re responsible for.
In performance management circles, there has been a lot of emphasis on monitoring, reporting and improving the user experience for web applications in recent years. However, among all the different applications in use in an enterprise, providing a great user experience through virtualized applications and desktops – whether Citrix XenApp/XenDesktop or VMware Horizon with View – is among the most performance-sensitive challenges, and probably the most complex to manage.
So let’s break it down. This article is the first of a short series to discuss how to deliver a consistently great user experience from a performance management standpoint, starting with Citrix/VDI. First, what is it, exactly?
What Constitutes User Experience for Citrix/VDI?
Latency or response time is the most commonly referenced VDI/Citrix user experience metric, but there are many other factors that contribute to the user experience. Let’s look at the different tasks that a user performs when accessing a Citrix application or a virtual desktop, as filtered through the typical issues reported by users.
- “I can’t login” or “login is slow”
To access the Citrix/VDI service, a user has to login and failed logins will lead to frustration. Likewise, if login is slow, productive time is lost. These effects can be amplified as user logins may happen multiple times: A user may first login to a Citrix StoreFront server and see a list of available applications. When the user selects a specific application, he/she is then logged into one of the Citrix XenApp servers in the farm and then can access the application. Slow logins to StoreFront or to the XenApp servers negatively affect the user experience. In many domains, users only login a few times in the day. But in some cases, a user may need to login many times throughout the day. For example, a doctor visiting patients at a hospital may login to devices in each room to update information after they have a patient consultation. So for example, when the doctor checks in on 120 patients per day, a 10-second delay per login can result in 20 total minutes spent on logins instead of providing excellent patient care and ensuring satisfaction.
- “I can’t get to my virtual desktop” or “It takes a long time to be able to get to my virtual desktop”
In the case of virtual desktops, especially when desktops are dynamically provisioned, a desktop may be created and booted up only after a user logs in. But, users expect desktops to be made available instantly so any slowness during booting of these desktops or communication failures between the connection broker and the virtual desktop software (agent) running inside the virtual desktop can present noticeable delays for the user.
- “My desktop profile is not available” or “I see my desktop launch but it takes a long time to become accessible”
In VDI terms, a user’s desktop and preferences are together referred to as the user’s profile. In a physical desktop, a user’s profile is available locally, but in a Citrix/VDI environment, profiles are stored remotely on profile servers and loaded dynamically when a user logs in. This is required because a user may login to a different server or virtual desktop each time and the profile has to be loaded dynamically to the correct server or desktop each time. The time taken to load a user’s profile also affects the user experience. If a profile is not loaded correctly, the user will not get access to his or her favorites, folders and applications and will not be able to perform the tasks that he or she needs to do.
- “The application did not launch” or “the application is slow to launch”
Client applications, such as web browsers, SAP clients, Microsoft Office applications, and EHR/EMR applications, are published through Citrix XenApp or made available from virtual desktops. The time taken to launch an application is another measure of the Citrix user experience; for example, if excessive time is required for an application to launch and be available for user inputs (due to various plugins loaded during launch, for example), the user experience degrades. Sometimes, mismatched DLLs can lead to application launch failures. Application launch errors may also occur if the Citrix environment has run out of licenses.
- “My access is slow, the screen refreshes very slowly” or “there is a big lag between my keystrokes and their echo on the screen”
Citrix and virtual desktop applications are very interactive. Since no processing or data is done on the user side, all the user interactions have to be communicated from the Citrix/VDI clients to the server farm. If the screen takes some time to repaint or if the lag between a keystroke and its echo on the screen is high, users will perceive slowness and become frustrated. Similarly, for audio/video applications, excessive jitter and patchy display can cause the user experience to degrade.
- “My session drops randomly while I am doing work”
A common issue faced in Citrix and virtual desktop infrastructures is session disconnects. When a user is in the middle of their work, a session can get disconnected and it can be very frustrating. This can also lead to productive work being lost, because even if the user connects back to the server farm, he/she may be logged into another server or desktop. Session disconnects can be caused by poor network connectivity between the user and the server farm (e.g., lossy wireless networks) or by glitches in the server farm. Session management and connection handling are closely coupled in Citrix/VDI, and the TCP connection between a client and a server must remain on while the session is in progress. If a network error happens for a short while, it will result in the TCP connection being dropped and the session being disconnected. Users will have to connect back to the Citrix/VDI farm again when this happens. There are techniques like Session Reliability (aka Common Gateway Protocol – see https://blogs.citrix.com/2013/01/23/session-reliability/) that are intended to alleviate this condition, but this feature is not always enabled. Session terminations because of unexpected errors on the Citrix servers/virtual desktops also affect the user experience. Such situations also need to be detected and corrected at the earliest.
- “My application crashes randomly”
Applications may also crash as a user is performing their work. Repeated crashes of course negatively affect the user experience.
Have we missed any typical Citrix/VDI user issues? Please comment below, or send your suggestions to firstname.lastname@example.org and we’ll include them in an addendum.
For our next article in this series, we’ll step through the primary available methods for monitoring the Citrix/VDI user experience, and the advantages/disadvantages of each.