This is why we can't have nice sites

By: Jacob Taylor

Post-Script: Down to 200req, 1.6mb, 8s load. Still 7s too slow (terrible).

I'm going to make a bold suggestion here, but hear me out: TheNextWeb is symbolic of why we can't have nice websites. Which is to say, TheNextWeb is a perfect example of the problem with modern websites -- They're huge for no reason. (A need to blow money on every corporate grade tracking beacon on the 'net is not a reason.)

This is an article just published a couple of hours ago on TNW. It is unremarkable for their site. A nice few paragraphs, couple of youtube videos, and a small comments section with as-of-this-writing zero comments in it (saturday must be slow). And what happens? A clean page load elicits 365 requests, ~6.1mb of code, and a 12.37s onload time (17.63s for the async-loaded resources to simmer down). For what? Some text, two videos, a comment box, and the new-article-scroll-box on the left. That's it. 6.1mb of code and 12 seconds.

Not to make claims without backup, here's a link to a HARViewer[1.6mb] with my HAR in it (devtools produces them). You can even import my Chrome Devtools Timelime Data[5mb] if you like, it's right there. To fully restore my environment, even the cpuprofile is up, though I don't know how much use it is.

This all can be fixed. The line of how-much-user-tracking-is-enough needs to be scaled back. Very few fucks are given about a page with its own resources, a google analytics script, some things like parsely/optimizely/embedly, and your ad network. But lo and behold, any reasonable site will not allow that to balloon to 365 requests.

In firefox and by using noscript, adblock edge, and requestpolicy to block everything that isn't the page and its content (I left disqus in) it's down to 67 requests, 6.32s (5.94 onload), and 1.4mb of code. That's much better, though still fucking terrible. A full 20 of those are disqus, so they could use some work too. But, that's splitting hairs. Trying to pare down an already cleaned up site is silly. What needs tackling is the 365 requests and 6.1mb of code. I don't know how much of TNW's demographic is tech people (I suspect a large amount), but anybody who isn't already laden with adblockers and such is going to have that 12-17s experience. That's pretty unacceptable on a modern site. Google's talking about 1 second time-to-glass on mobile. If not striving for that extreme, a site which caters to tech people should be able to load just in a few seconds. Not 12.