uberAgent 7.1 Preview: User Input Delay & Application Responsiveness
While we’re finalizing version 7.1 of our user experience monitoring & endpoint security analytics products uberAgent UXM and uberAgent ESA, let’s take a look at a cool new feature: user input delay detection.
What Is User Input Delay?
User input delay measures the time user input, such as a keypress, remains in the OS queue before it’s picked up by the user’s application. As such, user input delay gauges overall system and application responsiveness.
Not Network Latency nor App Transaction Speed
User input delay doesn’t include the time it takes the target application to process the input, nor does it include the time for the input to reach the machine in a remoting scenario. Instead, user input delay is the time that the information about some user input stays in the operating system’s kernel input queue before it’s picked up by the user’s application.
Works for Local & Remote Sessions
User input delay is a strictly local metric. It doesn’t depend on the network or remoting protocols. User input delay is, therefore, available for local as well as remoting sessions, including Microsoft RDP, Citrix HDX, and any other remoting technologies.
Refers to Keyboard, Mouse & Any Other Input Devices
The user input delay measurement typically refers to keyboard or mouse input, but it’s not limited to those types of devices. User input delay applies to all kinds of user input devices, including microphones and headsets.
Why Is User Input Delay an Essential Gauge for User Experience?
Delays kill productivity. As Jakob Nielsen showed in his groundbreaking 1993 book Usability Engineering, there are three important response time limits:
- 0.1 second: the user feels the system is reacting instantaneously.
- 1.0 second: the user’s flow of thought is interrupted.
- 10 seconds: the user’s attention wanders off.
Nielsen’s values are fundamental limits for anyone developing or implementing applications that interact with users.
Total Response Time = Network + User Input Delay + Application
It should be stressed that Nielsen’s numbers are total response times that include network latency, application transaction duration, and, of course, user input delay.
How Response Time Affects User Experience
Based on the above, an application’s user experience can be categorized as follows:
- Excellent UX: total response time consistently below 100 ms.
- Good UX: total response time below 100 ms most of the time, below 500 ms all of the time.
- Mediocre UX: total response time consistently below 1,000 ms.
- Bad UX: total response time above 1,000 ms most of the time.
What Are Good User Input Delay Values?
User Input Delay as an Indicator of Overall Responsiveness
As we’ve seen, user input delay is only part of the total response time experienced by the user, which is comprised of network latency, user input delay, and application transaction speed.
Remarkably, all of those three values are dependent on the ready availability of the machine’s resources. Any of the three metrics can only be low (indicating high speed) if the machine isn’t overloaded.
This similarity in nature of the three response time components makes it possible to use one, user input delay, as a proxy for overall application response time. This is true if we disregard actual network latency from the end user’s device to the application’s machine.
Good and Bad User Input Delay Values
Building on the UX quality categorization above, we can postulate the following:
- Excellent UX: user input delay consistently below 40 ms.
- Good UX: user input delay below 40 ms most of the time, below 200 ms all of the time.
- Mediocre UX: total response time consistently below 400 ms.
- Bad UX: total response time above 400 ms most of the time.
uberAgent’s User Input Delay Metrics
Per Application and Per Session
uberAgent collects user input delay metrics both per application and per user session. This makes it possible to rate the user experience on multiple levels:
- UX per application (and app version)
- UX per user session
- UX per machine
uberAgent’s experience score dashboard is the first dashboard IT managers inspect every morning to verify if and how their environment’s UX changed over time. As an integral component of user experience, user input delay has been added to uberAgent’s experience score calculations, making the score an even more precise and relevant metric to gauge end-user experience.
When combined with uberAgent’s rich inventory metadata, the following questions can be answered with ease:
- Did a recent application upgrade improve or degrade user experience?
- How do virtual desktops stack up against physical machines?
- Are VDI and DaaS machines sized correctly?
uberAgent is an innovative Windows and macOS user experience monitoring (UXM) and endpoint security analytics (ESA) product.
uberAgent UXM highlights include detailed information about boot and logon duration, application unresponsiveness detection, network reliability drill-downs, process startup duration, application usage metering, browser performance, web app metrics, and Citrix insights. All these varied aspects of system performance and reliability are smartly brought together in the Experience Score dashboard.
uberAgent ESA excels with a sophisticated activity monitoring engine, the uAQL query language, detection of risky activity, DNS query monitoring, hash calculation, registry monitoring, and Authenticode signature verification. uberAgent ESA comes with Sysmon and Sigma rule converters, a graphical rule editor, and uses a simple yet powerful query language instead of XML.
About vast limits
vast limits GmbH is the company behind uberAgent, the innovative user experience monitoring and endpoint security analytics product. vast limits’ customer list includes organizations from industries like finance, healthcare, professional services, and education, ranging from medium-sized businesses to global enterprises. vast limits’ network of qualified solution partners ensures best-in-class service and support anywhere in the world.
Your email address will not be published. Required fields are marked *