The first step to going anywhere on the internet is the DNS lookup, in which a typed-in or clicked-upon domain name (i.e. www.neumob.com) is converted into an IP address. If the DNS lookup doesn’t work, the site won’t be rendered to the user.
Mobile apps introduce a host of complexities when it comes to DNS lookups. Every single third-party call from the app – content feeds, externally-hosted images, ad network integrations and so on – is subject to its own DNS lookup before the content itself can be fetched. This can add up to 3 seconds of latency – in addition to the content request time! – just in order to successfully render that content within a mobile app.
This is particularly acute during the initial launching of the app, when all of the lookups, calls and connections are happening simultaneously. It’s even worse on slow mobile networks in places such as India, Brazil, China and elsewhere. No wonder mobile app load times can often be such a challenge. Consumers have proven they’re willing to abandon apps after a poor experience, with 79% of app users saying they’ll completely exit an app and move on after 1-2 app timeouts or other dreary experiences.
The Impact of DNS Latency on App Performance
Take a look at these charts to get an idea of just how much a drag the DNS lookup can be on mobile app performance. All data was collected just this month (August 2017) from an international mobile app with global customers whom we work with.
The two tables show, in milliseconds, how long the DNS lookup takes for mobile apps on different network types. The 50th percentile is the median – so, for instance on LTE networks, the median DNS lookup time is 75 milliseconds, while it’s over 1 second on EDGE networks.
For an unfortunate 5% of customers, however – this is the 95th percentile that you see in red – the DNS lookup time is far, far worse. On 4G/LTE it’s 1.1 seconds overall, and nearly 3 whole seconds on EDGE network. It even takes 2.5 long seconds to lookup DNS on WCDMA, a 3G network – and remember, this is on top of the time is takes to bring in the content to the device.
How to Eliminate DNS Lookups From Mobile Networks
As we came to understand just what a contributor to poor app experiences the simple DNS lookup can be, we took steps to address it as we created the Neumob SDK.
The Neumob SDK completely eliminates DNS lookup and all of the load time lags and latency that comes with it. It’s one of the primary methods our solution uses to address the performance problems introduced by the mobile mile – that last mile between the edge of the internet and the device in the user’s hand.
Our SDK jettisons DNS lookup by effectively installing a small handset-based proxy that is called every time the Neumob-powered mobile app is used. We push the DNS lookups upstream to a higher level, so the client/handset doesn’t have to do the lookups every time the app is opened, and can instead piggyback on server-side lookups. That third and final point of presence (PoP) sits right in the user’s smartphone, accelerating content over the Neumob global app acceleration network.
So we’ve defined the problem, some illustrative examples of the problem, and a solution that eliminates it. Neumob’s technology flat-out removes the need for doing DNS lookups from slow mobile networks, greatly improving overall performance for our customers. We also reduce mobile app errors by up to 90% as well, but that’s a subject for a future post. (or you can learn more here).