Performance and User Empathy, the New Priority
The attitude toward application performance is changing for customers and businesses alike. Good performance is no longer an optional investment, but it’s a primary differentiator between companies, granting access to diverse global markets, building customer trust and improving user experience. All of which lead to a positive return on investment.
Customers expect a good experience with the applications they use, regardless of the device or the network they’re connected to. Developers need to understand these customer expectations and cultivate a new mindset that prioritizes the user experience beyond the flow of the application or how someone will interact. They also need to prioritize the speed at which users are able to access and operate the application.
The industry needs to continue moving in the direction of high empathy for the end user. Organizations, and ultimately individual developers, need to genuinely care about their users’ experiences and work to provide positive interactions and reduce frustration.
As more markets gain access and attention spans decrease, the performance budget for any transaction a user makes is getting smaller, and the benefits of proactively finding and fixing performance issues are growing.
As markets change and applications reach a global audience, good application performance becomes even more critical and is an organizational statement of the value of equality and accessibility. Customers with gigabit network connections and flagship smartphones make up smaller segments of the world market.
Developing for this high-end user group allows for flashy interactions and sloppy coding practices, but a highly performant application grants people from across the globe, possibly with lower bandwidth, spotty internet connection and older devices, the opportunity to use tools and have experiences that they have been blocked from in the past.
Exposing an organization to this swath of new users will be a boon to the growth and stability of the company, reinforcing the value of pursuing high performance, inclusion and customer empathy.
Many developers struggle to find value with existing application performance management and profiling tools because the information isn’t easily actionable, and the impact on the end user is difficult to gauge. Manual instrumentation is needed for the tools to provide accurate data, and a pre-existing skill set is required to truly understand the data the tools present.
These challenges create a barrier to entry that few developers will invest their time in overcoming. Even when properly configured and understood, existing tools are retroactive, limiting insight into what is likely to go wrong in the future. In the end, users are still saddled with a negative experience when poor-performing code is rolled out, and by the time the developer is aware, it’s too late for the user.
As performance becomes a domain that every developer must understand, tools need to aid the learning process, cutting away the extraneous information and giving simple, clear and actionable problems to be fixed. A root cause for an entire service being slow and dashboards full of graphs is no longer sufficient.
Developers should be given the specific line of code or stack trace that is causing the problem. No digging is required, no correlating graphs or cross-referencing collected metrics, just a simple “your problem is right here; go check it out.”
This point-to-the-cause style of detection is the goal behind Sentry’s Performance Issues. As developers see and solve simple and direct issues like N+1 database queries or render blocking assets, they will learn a great deal about performance problems and how to avoid them in the future. Equipped with that understanding, they can begin to delve into the deeper data to uncover more obscure performance issues to further improve their application and their skillset.
Performance has often been thought of as an Ops problem, but with the prevalence of code-related performance issues today, developers of all skill levels hold significant responsibility for both reducing the creation of and fixing performance problems. As a result, detecting performance regressions needs to happen as early as possible, prior to deployment if possible, and near real-time if not.
Performance monitoring tools need to adapt to look for problems before code is deployed to help remove the obvious issues before users experience them. Similar to the way test suites have reduced bugs ending up in production, performance monitoring tools will begin to move into the CI/CD pipeline to help ensure a reliable performance baseline. Performance tooling, which has traditionally been Ops-focused, will need to adapt to provide developers with the insight they need to understand how their code affects overall performance.
A slow app is a broken app. That’s how users feel. It’s about time that developers and the organizations they work for feel the same and do something about it. Users have always expected a reasonable crash-free experience with the applications they use, and developers have been eager to provide that. Resolving performance problems takes more effort, understanding and empathy from developers, but they are necessary to become a high-impact developer and a company that can compete in a global market.