Most Read This Week
From the Blogosphere
The Smoke and Mirrors of UX vs. Application Performance | @DevOpsSummit #DevOps #APM #Monitoring
Can a better UX simultaneously deliver a worse user experience?
By: AppDynamics Blog
Mar. 17, 2017 02:00 PM
The Smoke and Mirrors of UX vs. Application Performance
Can a better UX simultaneously deliver a worse user experience? It sounds like a paradox, but it may be more common than you think. It describes a category of UX design practices that have little to do with improving the actual experience and everything to do with suggesting that the experience is a good one.
The difference can be subtle, but true user experience improvement begins with precision application performance optimization that only an APM solution can provide. APM diagnoses the cause of a slowdown, allowing developers to address the root cause and not the surface symptoms. Ignoring the underlying performance bottlenecks and tricking the user with a UI bandaid is akin to placing tape over a crack in your drywall — you’re only covering up the symptom of an underlying problem. That’s the difference between improving the quality of the software and generating economic waste for short term gains.
Defining Perceived Performance
principle that the user’s perceptions about the app’s performance need to be managed. One real world example involves a test of loading screen animations for the mobile version of Facebook. The test demonstrated that users reported an improved perception of the app’s loading speed when developers changed the design of the loading animation.
As iOS developer, Rusty Mitchell reported, “A Facebook test indicating that when their users were presented with a custom loading animation in the Facebook iOS app, they blamed the app for the delay. But when users were shown the iOS system spinner, they were more likely to blame the system itself.”
Perceived performance techniques are part a larger trend in design beyond the world of software known as “benevolent deception.”
A Study of Benevolent Deception
Adar wrote, “We’re seeing the underlying systems become more complex and automated to the point where very few people understand how they work, but at the same time we want these invisible public-facing interfaces. The result is a growing gulf between the mental model (how the person thinks the thing works) and the system model (how it actually works). A bigger gulf means bigger tensions, and more and more situations where deception is used to resolve these gaps.”
Beyond Benevolent Deception
Pretty shocked? Yep, you better believe it.
The New York Times cited several other examples of volitional theater, such as the “Press to Walk” button on street corners. Remember all those times you kept the crosswalk pedestrian button to cross the street? You were most likely pushing a button designed to calm your nerves that didn’t have any actual impact on the timing of the street lights. Designers refer to non-operation controls as “placebo buttons.” They shorten the perceived wait time by distracting people with the imitation of control.
Three Types of Volitional Theater
System Images Deception: Designed to reframe what the system is doing.
This category of deceptive UX includes “Sandboxing.” That’s where developers create a secondary system that operates in a way that’s different from a full application. The example Adar gave is the Windows Vista Speech Tutorial. This works as a separate program from the main speech recognition system. In reality, the tutorial is a “safe” version of the environment that was built to be less sensitive to mistakes to simplify the learning process.
Behavioral Deceptions: Designed to offer users the appearance of change.
Mental Model Deceptions: Designed to give users a specific mental model about how the system operates.
Better Practices in UX
These developers don’t feel that it’s ethical to trick the user or remove their freedom to know what’s going on with the software. Instead of masking issues, they feel that slowdowns or clunky design can and should be eliminated. What developers need to achieve that is a comprehensive monitoring solution that pinpoints the causes of latency. Then engineering teams can go in and make the necessary code and infrastructure optimization necessary for software to actually perform better. They consider volitional theater to be sloppy design. One way to start correcting those design flaws is by evaluating the software and corresponding infrastructure dependencies.
UX and Business Transactions
Imagine all the requests that are invoked across an entire distributed application ecosystem necessary to fulfill a specific request. For example, if a customer wants to “checkout” their shopping cart, they click the “Checkout” button. Upon that single click, a request is made from the browser through the internet to a web server, probably a front-end Node.js application which then calls an internal website, a database, and a caching layer. Each component within that call that’s invoked is responsible to fulfill that click, so we call the lifeline of that request a Business Transaction.
The Business Transaction perspective prioritizes the goals of the end user. What are your customers really trying to achieve? In the past, developers argued over whether application monitoring or network monitoring were more important. Here’s how an AppDynamics engineer reframed the problem:
Starting from the business transactions will help DevOps teams view your system as a function of business processes vs. individual requests firing off everywhere. This is how you can start solving the problems that matter most to customers. It’s always better to diagnose and solve performance issues instead of merely covering them up or distracting the user with UX techniques.
Of course, isolating the problem doesn’t matter unless you resolve it. We’ve discussed this with application teams who have isolated problems related to runtime exceptions for Java-based applications in production, but they tended to gloss over those that didn’t break the application.
That’s a mistake we addressed in a series about Top Application Performance Challenges. Bhaskar Sunkar, AppDynamics co-founder and CTO, concluded that, “Runtime Exceptions happen. When they occur frequently, they do appreciably slow down your application. The slowness becomes contagious to all transactions being served by the application. Don’t mute them. Don’t ignore them. Don’t dismiss them. Don’t convince yourself they are harmless. If you want a simple way to improve your application’s performance, start by fixing up these regular occurring exceptions. Who knows, you just might help everyone’s code run a little faster.”
This approach is becoming even more critical as smaller devices attempt to crunch higher volumes of data. A good example is how applications built for the Apple Watch are expected to provide the same level of performance as those built for a tablet or smartphone. Users don’t lower their expectations to compensate for processing power. In the end, users care about the benefits of the application, not the limitations of the device.
The Age of Experience
As data volumes accelerate and devices shrink, it will grow harder to maintain optimal performance and continuous improvement schedules. Applications teams need speed and precision tools to pinpoint areas for improvement. At the same time, more businesses are undergoing their own digital transformations and discovering the importance of performance management for the first time.
Developments in user hand movement recognition and motion control mapping have been accelerating along multiple fronts, such as VR best practices by Leap Motion and Google’s Project Soli, which uses micro-radar to precisely translate user intent by the most minute finger gestures. These advancements likely represent what’s coming next in terms of UX, but they will demand IT infrastructures with access to a great deal more data-processing power.
Drilling Down to Maximum Impact
Applications teams should be responsible for end-to-end analysis of the total UX, beyond just the relative health of the application and infrastructure nodes.
The post The Smoke and Mirrors of UX vs. Application Performance appeared first on Application Performance Monitoring Blog | AppDynamics.
Subscribe to the World's Most Powerful Newsletters
Today's Top Reads