DEV Community


Posted on • Originally published at on


Why Does Performance Matter?

The mobile app testing and performance space is gaining attention, which begs the question: why does performance matter?

On screen, we’ve all experienced bad user experiences before. We’ve all experienced lagging (or even blank) screens, perhaps reducing our affinity for certain apps. When it comes to mobile apps, performance describes how efficiently your app works and how smooth it is to use.

There are three considerations to keep in mind when thinking about performance:

1. User engagement
Human engagement studies dating back to the 1960s have shown that actions that take under 100 milliseconds are perceived to be instant, and actions that take a second or longer cause the human mind to be distracted. So, even the perception of slowness in your application can be a big killer of app engagement.

2. Sales and in-app purchases
Take, for example, an app with an e-commerce component. Company analytics show that the average shopping session is five minutes long, that each product in the item UI view takes 10 seconds to load, and that it takes 30 views on average to complete a sale.

Reducing the load-time for each product UI view by just one second allows for three additional screen views of products to load in an average session, allowing customers to add more items to their cart, or complete the entire transaction 30 seconds faster altogether. Performance has a significant impact on potential transactions.

3. Cost-saving on infrastructure
Mobile applications download lots of content from remote servers, so lowering the number of requests or reducing the size of each request can yield huge improvements in speed in your application. Taking these two steps will also yield huge reductions in traffic on your backend, allowing you to grow your infrastructure less expensively.

HeadSpin Performance Sessions

At HeadSpin, we’ve developed a tool called Performance Sessions, which allows you to explore and understand your apps’ characteristics. Performance Sessions are useful in identifying where to make improvements within your app, enhancing overall user experience.

The most powerful part? You can conduct HeadSpin Performance Sessions via a remote control session, or a manual session on the platform in which you can use a real Android or iOS device from the comfort of your web browser. You can also trigger it via automation tests like Appium, Espresso, or XCUI.

During these Sessions, we capture four components:

Network traffic from the cell interface
The video of the test session
Client-server data
Client data

These inputs are then fed into our AI-based issue detection engine, which generate the dashboard below, showcasing our Waterfall UI.


This dashboard presents a high-level view of how you can improve app performance. It entails the:

Project Info panel, which conveys the location in which the test was conducted, as well as the underlying data from the test session.

Metrics Graph panel, which displays a live video of the test session. As you scroll through the waterfall, you'll notice that the data correlates with the video during test execution.

Issues palette, which generates an Issue Card for each issue detected, coupled with suggestions on how to combat the issue. For example, our platform can detect which servers were slow during the session, which downloads took longer than expected, and what made those downloads slow.

Network timeline, which provides an overlay of time-series data and network transactions.

Detail palette, which helps you understand request and response headers, which are crucial for debugging and comprehending the performance of your app on a real network.

Follow the link below to get:

  • A deeper dive into the capabilities of the metrics panel
  • Why network matters
  • File caching
  • Performance Strategies

View full post

Top comments (0)

Timeless DEV post...

Git Concepts I Wish I Knew Years Ago

The most used technology by developers is not Javascript.

It's not Python or HTML.

It hardly even gets mentioned in interviews or listed as a pre-requisite for jobs.

I'm talking about Git and version control of course.

One does not simply learn git