Application developers can draw on a number of static code analytics tools such as Checkstyle, PMD and SonarQube to identify various application issues and bugs. But these tend to focus on application logic, not mobile network performance. However, mobile networks often suffer from a number of different types of degradations that affect application code in different ways. To address this gap, Cloudflare, an Internet performance service released the Cloudflare Mobile SDK, as a free tool that helps to shift DevOps left by allowing developers to bake mobile network performance awareness into the development phase.
“Our users never complain about poor connectivity; they complain our app doesn’t work,” said Ben Yule, CTO of Spire. “After integrating the SDK, my engineering team has visibility where previously we had none. Cloudflare’s Mobile SDK delivers the missing link in app experience monitoring.”
Apps can fail or slow for a variety of reasons including app code, network calls to the cloud, and server issues. Tools like
like Crashlytics, Rollbar, Sentry, Instabug, and Bugsnag can help identify problems in the mobile app or the server. The new SDK makes it possible to correlate these with mobile network performance issues. Developers can turn on the tool using a simple check box for iOS and two lines of code for Android. It currently supports Objective-C and Java.
New mobile network performance approach
Cloudflare bought Neumob last year, which had developed a replacement for the TCP stack that used UDP to optimize network communications for mobile. Neumob had also developed a mobile network analytics tool that gave developers better insight into the impact on mobile networks on application performance. This made it easier for developers to ascertain how certain code patterns are caused by mobile networks issues.
This could include slow networks, intermittent connections, or switching between mobile and Wi-Fi. Developer can use these tools to identify precise code blocks associated with a particular kind of mobile degradation, which can help guide better code patterns to ameliorate a specific problem.
Matthew Prince, co-founder and CEO of Cloudflare, said, “We looked at that and thought this was an interesting tool that gives developers a view into how the network affects apps in a way they did not see before. We did not think it was something to be sold. So, we decided we would provide it free of cost to mobile developers.”
Mobile network performance monitors
A side benefit is that it will make it easier to measure actual wireless connectivity around the world. All cellphone providers make boastful claims about raw speeds and publish coverage maps. Theoretical speed sounds good on paper but often do not reflect the reality that service can drop, particularly in urban canyons and during peak hours.
“Every cellphone provider says they are the best, but no one has given the hard data,” Prince said. “Our plan is to get samples from apps and we will publish a report about what providers provide the highest quality of service.”
The SDK runs asynchronously in the background. As a result, Cloudflare claims it does not slow down app performance or cause any significant impact on battery usage. Also, the tool does not ship back IP addresses, IMEI numbers, which might otherwise present privacy concerns. “We think of user data as a toxic asset,” said Prince. “We are not in the business of collecting PII data.”
One of the challenges Neumob had was that enterprises did not know how much of their network performance impacted things like conversion. Prince said, “If we can expose how much network errors lead to slower app performance and conversion that feeds the rest of the business, more companies might consider using alternatives to TCP like Neumob.”
Download the SDK here: http://cloudflare.com/products/mobile-sdk