Stop Using the Network as an Excuse for Poor App Performance
December 05, 2013

Dave Berg
Shunra Software

Share this

Recent data on the world's fastest 4G LTE network speeds places the USA 8th. Some will use this as an excuse for the poor performance of their mobile applications and why they fail to meet user expectations. For a majority, however, this information confirms what they have always known: the network was never and will never be the answer to better performance.

If the network itself can't be used to guarantee increased app performance, what can a developer or tester do to ensure an app will perform once it is released across less than stellar mobile networks? Be realistic with expectations and virtualize networks and services to test under the conditions your end users experience.

First, understand that compromises will have to be made. With each new device or faster network option, users will expect to see a corresponding increase in application speed and content. Operations, marketing, and executives will also expect apps to be feature rich with big logos, plenty of functions, and connections with myriad third-party services.

All of this is not possible. These rich features will quickly erode performance. Put yourself on a "performance budget". Even with management and users clamoring for any/all rich features made possible by faster network speeds, choose only those that are most business critical or that customers demand.

Not every feature will make the cut. Those that do will work and perform well. This is preferable to a feature-rich, poor performing app that will leave the user frustrated with your company.

Testing Apps Over Realistic Network Conditions

For your apps to perform at their peak over the network, you have to test them over realistic network conditions. Testing your features and services to know how different network conditions and geographies impact performance can help you manage your performance budget.

You can do this by capturing and virtualizing production network conditions and using them in your test environment. This provides test results that are more accurate and predictive of what your performance will be in the real world.

Mobile network conditions fluctuate far more than broadband connections. Therefore mobile makes app testing over a pristine Wi-Fi connection inaccurate if not obsolete.

A Wi-Fi connected test experience does not represent how end users experience the app. However, if you can capture and virtualize the conditions end users do experience, your testing will reliably reflect how the app will perform in production.

Performance testing your application in an accurate test environment means accounting for application dependencies and the network conditions affecting them. This goes beyond native features. Third-party services are affected by variable network conditions. Worse, since you do not have direct control over them, they are often harder to account for.

Services virtualization testing will provide insight into how they will interact with your application. But, without testing these services over a virtualized network, you once again lose sight of how they will perform in the hands of real-world users.

Virtualizing real-world mobile network conditions also allows you to alter the parameters of the network (available bandwidth, latency, jitter, packet loss) to see how an app performs under varying conditions. These conditions can represent typical network scenarios or edge cases. Since the conditions are configurable and repeatable, unlike in the wild testing, issues can be fixed and retested under the exact same virtual network constraints.

This testing should be done at the earliest possible phase of production. Developers should have access to performance criteria when writing code. If they only have functional criteria, you will only know "Action A = Outcome". You won't know if that transaction occurs within your stated SLAs.

Also, by the time the app passes to the system build and user acceptance levels, it is too late to fix many of the performance issues without a major reworking of the app. So, you are stuck with releasing an app that doesn't perform, angering your user base, and losing revenue and productivity or losing time and money starting from scratch. Incorporating network-informed performance testing as early as possible can help prevent this from happening.

This structured approach to performance management is important because once your app is released to the public or delivered to a client, you have little control over its performance environment. But, you can control how you incorporate performance throughout development and testing. If you have done that successfully, you won't have reason to blame the network, or anything else, for poor performance.

Dave Berg is VP of Product Strategy for Shunra Software.

Related Links:

www.shunra.com

Dave is the Vice President of Product Strategy at Shunra. He is responsible for the management of all Shunra’s products and technical partner relationships, and he leads our product management team. With more than fifteen years of experience in performance engineering, development, automation, vendor management, and professional services, Dave has extensive experience with distributed systems, real-world scenario testing, and complex root cause analysis. He is regarded as an expert in protocol design, mobile performance, and software performance engineering. Dave holds a bachelors degree in Computer Science and Discrete Mathematics from the University of Michigan, as well as holds certifications in product management and Agile product management.
Share this

The Latest

June 25, 2020

I've had the opportunity to work with a number of organizations embarking on their AIOps journey. I always advise them to start by evaluating their needs and the possibilities AIOps can bring to them through five different levels of AIOps maturity. This is a strategic approach that allows enterprises to achieve complete automation for long-term success ...

June 24, 2020

Sumo Logic recently commissioned an independent market research study to understand the industry momentum behind continuous intelligence — and the necessity for digital organizations to embrace a cloud-native, real-time continuous intelligence platform to support the speed and agility of business for faster decision-making, optimizing security, driving new innovation and delivering world-class customer experiences. Some of the key findings include ...

June 23, 2020

When it comes to viruses, it's typically those of the computer/digital variety that IT is concerned about. But with the ongoing pandemic, IT operations teams are on the hook to maintain business functions in the midst of rapid and massive change. One of the biggest challenges for businesses is the shift to remote work at scale. Ensuring that they can continue to provide products and services — and satisfy their customers — against this backdrop is challenging for many ...

June 22, 2020

Teams tasked with developing and delivering software are under pressure to balance the business imperative for speed with high customer expectations for quality. In the course of trying to achieve this balance, engineering organizations rely on a variety of tools, techniques and processes. The 2020 State of Software Quality report provides a snapshot of the key challenges organizations encounter when it comes to delivering quality software at speed, as well as how they are approaching these hurdles. This blog introduces its key findings ...

June 18, 2020

For IT teams, run-the-business, commodity areas such as employee help desks, device support and communication platforms are regularly placed in the crosshairs for cost takeout, but these areas are also highly visible to employees. Organizations can improve employee satisfaction and business performance by building unified functions that are measured by employee experience rather than price. This approach will ultimately fund transformation, as well as increase productivity and innovation ...

June 17, 2020

In the agile DevOps framework, there is a vital piece missing; something that previous approaches to application development did well, but has since fallen by the wayside. That is, the post-delivery portion of the toolchain. Without continuous cloud optimization, the CI/CD toolchain still produces massive inefficiencies and overspend ...

June 16, 2020

The COVID-19 pandemic has exponentially accelerated digital transformation projects. To better understand where IT professionals are turning for help, we analyzed the online behaviors of IT decision-makers. Our research found an increase in demand for resources related to APM, microservices and dependence on cloud services ...

June 15, 2020

The rush to the public cloud has now slowed as organizations realized that it is not a "one size fits all" solution. The main issue is the lack of deep visibility into the performance of applications provided by the host. Our own research has recently revealed that 32% of public cloud resources are currently under-utilized, and without proper direction and guidance, this will remain the case ...

June 11, 2020

The global shift to working from home (WFH) enforced by COVID-19 stay-at-home orders has had a massive impact on everyone's working lives, not just in the way they remotely interact with their teams and IT systems, but also in how they spend their working days. With both governments and businesses committed to slowly opening up offices, it's increasingly clear that a high prevalence of remote work will continue throughout 2020 and beyond. This situation begets important questions ...

June 10, 2020
In recent years, with the emergence of newer technologies ranging from the cloud to machine learning, IT modernization has evolved from a replacement of end-of-life infrastructure to an enabler of innovation and business value. It is a complex process that can take months or even years, but a recent survey shows that the effort begins to deliver measurable results almost as soon as an organization executes the first steps on its roadmap ...