In a recent article on esteemed tech/lifestyle site The Verge, co-founder Nilay Patel declares that the mobile web sucks. Nilay lays blame on the mobile browser themselves, criticising poor performance, bugs and crashes. His poor experiences browsing the mobile web are reflected by all of us, and Nilay is completely correct in declaring that the mobile web sucks.

I own a brand new Samsung Galaxy S6, possibly the most powerful smartphone ever made, and even on my S6 browsing the mobile web is a laggy, slow, frustrating affair. Scrolling is a chore and rarely smooth. Sometimes you are half way down a page reading some text when the page layout suddenly readjusts because it hadn’t actually finished loading.

Why is this? What’s causing such bad performance? This is the part where I feel Nilay is wrong, because it’s not really the browsers fault. Rather, I believe the fault lies with poorly built, bloated front-ends and more specifically heavy and disruptive advertising networks.

Loading

The Verge itself is a great example. The home page weighs in at 2.3mb with 268 http requests that takes nearly six seconds to load – on a 50mb fibre line. On mobile on a 4G signal its loading is even worse. You can see a Pingdom report here: http://tools.pingdom.com/fpt/#!/d3kZPW/http://www.theverge.com/

Delving in to the requests themselves, it’s not difficult to see that a large portion of them are requests to advertising network servers. Further, when loading the site on a mobile, it’s the adverts that take longest to appear.

Performance

It’s not just loading the site that is the issue – it’s how it performs once loaded. In this respect, The Verge performs badly compared to similar sites. As an example, browsing the BBC News website is a completely different experience to The Verge. It’s slick, smooth, and an absolute joy. I experience none of the lag, none of the random page jumping, and none of the slow down that I do on The Verge.

We can actually use the developer tools in Chrome to pinpoint this. First up, BBC News.

What we can see on this image is how the website performs in browser. I won’t go into too much detail, but what we can see is that for the most part the FPS of the page is low and we can also see that the browser spent 136ms loading the page, 2.21s on scripts, 180ms on rendering and 135ms on painting.

The Verge is a different story. The sites FPS regularly drops to below 30 which can explain some of the laggy, jerky behaviour. Further, the browser spends 1.23s on loading, 11.65s on scripts, 370ms on rendering, 585ms on painting. These numbers are much higher and suggest the page is more intensive for the browser to load.

Are Ad networks the problem?

It’s this poor performance that is most likely the reason why The Verge is not a good mobile web experience, but BBC News is. And it’s hard not to come to the conclusion that the key difference is that one loads advertising and one doesn’t. Whilst there are differences in content and images asides from the advertising, I would suggest it is unlikely that these are the cause.

It would be impossible to suggest that mobile sites like The Verge shouldn’t load adverts, as it’s through advertising they’re able to stay alive. But when they do load, they are often animated GIFs, or even videos. When there are too many on a page design that is already image heavy and graphically intensive, it’s not difficult to see why browsing the site on a mobile is a less than pleasing experience. Ad networks also increase http requests including to external servers. The more htttp requests made and the more made to external servers, the slower the site will be to load.

The mobile web is a challenge

As front-end web developers, we have an enormous challenge in coding and building websites and apps that don’t just perform well on a desktop, but across all manner of other devices. I feel Nilay slightly misses this issue, he points towards apps as better at serving up content on a mobile, but then mobile apps are built specifically just for mobile. It’s an interesting point to make when The Verge themselves ditched their own mobile app in favour of a responsive website. It’s vitally important that we have a web that works across any device, but this does make building for the web a completely different and more technically challenging task than building apps that only need to work for a much, much smaller range of devices.

So why not just build apps then? There’s certainly a place for apps, that’s definitely not an issue I’d call in to question. But apps cannot totally replace the web, and nor should they. The web is specifically intended to be an open platform, and that’s what’s arguably so beautiful about it.

All that said, whilst the mobile web does suck and Nilay Patel is correct is this respect – it doesn’t have to. It’s taking us far too long as an industry to adapt, but utilising a responsive mobile first approach to building our front-ends can dramatically improve mobile website performance.

I also believe that whilst it would be crazy to suggest The Verge should ditch their advertising for better mobile performance, it’s surely an issue to look further into, to see if there is a better more efficient way of serving up advertising that doesn’t disrupt the mobile web experience so heavily.