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

October 04, 2024

In Part 1 of this two-part series, I defined multi-CDN and explored how and why this approach is used by streaming services, e-commerce platforms, gaming companies and global enterprises for fast and reliable content delivery ... Now, in Part 2 of the series, I'll explore one of the biggest challenges of multi-CDN: observability.

October 03, 2024

CDNs consist of geographically distributed data centers with servers that cache and serve content close to end users to reduce latency and improve load times. Each data center is strategically placed so that digital signals can rapidly travel from one "point of presence" to the next, getting the digital signal to the viewer as fast as possible ... Multi-CDN refers to the strategy of utilizing multiple CDNs to deliver digital content across the internet ...

October 02, 2024

We surveyed IT professionals on their attitudes and practices regarding using Generative AI with databases. We asked how they are layering the technology in with their systems, where it's working the best for them, and what their concerns are ...

October 01, 2024

40% of generative AI (GenAI) solutions will be multimodal (text, image, audio and video) by 2027, up from 1% in 2023, according to Gartner ...

September 30, 2024

Today's digital business landscape evolves rapidly ... Among the areas primed for innovation, the long-standing ticket-based IT support model stands out as particularly outdated. Emerging as a game-changer, the concept of the "ticketless enterprise" promises to shift IT management from a reactive stance to a proactive approach ...

September 27, 2024

In MEAN TIME TO INSIGHT Episode 10, Shamus McGillicuddy, VP of Research, Network Infrastructure and Operations, at EMA discusses Generative AI ...

September 26, 2024

By 2026, 30% of enterprises will automate more than half of their network activities, an increase from under 10% in mid-2023, according to Gartner ...

September 25, 2024

A recent report by Enterprise Management Associates (EMA) reveals that nearly 95% of organizations use a combination of do-it-yourself (DIY) and vendor solutions for network automation, yet only 28% believe they have successfully implemented their automation strategy. Why is this mixed approach so popular if many engineers feel that their overall program is not successful? ...

September 24, 2024

As AI improves and strengthens various product innovations and technology functions, it's also influencing and infiltrating the observability space ... Observability helps translate technical stability into customer satisfaction and business success and AI amplifies this by driving continuous improvement at scale ...

September 23, 2024

Technical debt is a pressing issue for many organizations, stifling innovation and leading to costly inefficiencies ... Despite these challenges, 90% of IT leaders are planning to boost their spending on emerging technologies like AI in 2025 ... As budget season approaches, it's important for IT leaders to address technical debt to ensure that their 2025 budgets are allocated effectively and support successful technology adoption ...