The Verge's web sucks
blog.lmorchard.com
blog.lmorchard.com
I wish this had been included in the main body of this post, with some metrics; everyone you know uses it because it makes the web suck so much less.
Loading The Verge's article in a Chrome incognito window: 19.6 MB transferred, finished in 41.9 s, huge ad covering the entire page above the developer console I had open to watch things load.
Same article in a new incognito window with Adblock Plus enabled: 1.5 MB transferred, finished in 16.94s.
Screenshots: https://twitter.com/jbscript/status/624535428620791808
I just tested this with uMatrix where I use pretty much the defaults, but allow the two CDNs for theverge.com.
Ended up with 600kB downloaded and 1.37s load time on an empty cache.
The only thing that would make this perfect is if they would also run on my Android phone.
- 62 requests
- 508 KB transferred
Once you start using default-deny mode, it's difficult to go back to anything less restrictive as one get quickly used to how fast pages load -- and with such virtuous "side-effects" as foiling most 3rd-party tracking/data mining by default. Once usual sites are "unbroken" and ruleset saved, using default-deny become less and less of a annoyance over time. For example, I already had the only two rules necessary to unbreak The Verge so the page appeared correctly the first visit.
Another example of ridiculous amount of bloat: https://github.com/gorhill/uBlock/wiki/Tips-and-tricks-water...
* * *
[1] sorry if this sounds like a plug, I do feel strongly about users re-claiming control about where their computer connects.
[2] using suggested default-deny ruleset at https://github.com/gorhill/uBlock/wiki/Dynamic-filtering:-de...
Would you install an extension that, when clicking a link to the verge, it pops up a message that says "this site is considered by the community to be a site that employs intrusive advertising techniques" to remind you not to connect to it at all?
Working at a major e-commerce company, I get I why they're there. Like many others, I've found the web much more... responsive... without the huge page loads, and I don't like the idea of how far my data travels around and is shared, corss-referenced, etc.
Great post.
I want to switch to uBlock Origin, but I currently use Safari. It uses the least amount of resources on my Mac compared to Chrome and Firefox.
Thankfully, this is starting to become less of a problem as cellular networks continue to expand, but there are still quite a few places where cell coverage is spotty at best (including here, in the Sierra Nevada mountains, where the mountains themselves cast all sorts of coverage shadows no matter how many towers get put up).
And if you're using an Iphone: you made the choice that apple should make all the choices for you. You've made your own bed. Sorry about that.
Sound familiar? I just described most web sites by recalling reading a 20th century vintage print magazine. That should sadden everyone. We have a triumph of human progress in not just the Internet, but the Web that rides above it. The promise is a more intelligent and enlightened interaction between content provider and content receiver, perhaps more like a conversation than the print-radio-TV one-way street. Instead, it's not really much different at all, except with more ads and popups.
[0] - https://www.theverge.com/2015/7/20/9002721/the-mobile-web-su...
This is based on how Android browsers handle URLs to the Play Store. Some browsers (like Firefox) don't do this automatically (at least for me); instead, they'll just present you with the web page version of the Play Store (as if you were on a desktop), but with an icon in the address bar indicating that you can open the URL in the Play Store instead.
But yeah. The mobile web is a hellhole. My "favorite" is when a site will throw a browser dialog asking to install the app version of their site.
I feel like web developers nowadays are treating XKCDs #1174 [0] and #869 [1] as sincere, genuine advice instead of the scathing observations and condemnations they are of mobile web behavior.
Yes! If I wanted the app I wouldn't be on a browser!
Mobile processors are slow because Moore's Law is grinding to a halt. I think we should blame the process engineers, but the process engineers are being halted by the size of atoms and weird quantum mechanics issues.
Nilay, don't blame browsers, blame the universe.
(or alternately, blame your inefficient website).
While Nilay's article is a bit hit and miss, it still seems pretty undeniable to me that the mobile web experience is inferior to native apps.
For the most part, I haven't seen a technical superiority between web & native for most of what folks want to do. It seems more a practical superiority because we haven't been allowed to / found a need to crap up the native experience quite as much.
App stores & in-app purchases go a lot way toward obviating the need for so much cruft. Too much JS framework cruft is a self-inflicted injury. These are addressable issues, not inherent to the web.
I don't think mobile safari can be blamed. When the iphone was first released, people thought safari on it was amazing. Today's safari is a much better browser, running on vastly superior hardware, but the browsing experience is inferior. Who else is to blame but the content providers?
And key here -- the article HTML content itself was 75k, the rest is ad network Javascript. (apparently over 20 different companies)
I don't like tracking scripts either but why can't the ad networks get together and create a shared script instead of so many that seem to be redundant?
I've asked that myself many times, and I mostly decided that part of the reason is at least partly related to why there were so many browser engines back in the day (Mozilla, IE, Webkit, Opera, etc). Each company thinks they can track something differently/better than another.
Even if ultimately it just lowers the bar for the industry.
Wait, that sounds great.
At this level, these are billion dollar companies so there won't be much more consolidation.
We have somewhat of a standard called RTB (real-time bidding) where an exchange will see each impression and run an auction in 100ms for each ad slot and then take the winning bid and render it on the page. That was easy and efficient when it was just an image. Now ad formats have become more "engaging" and require javascript tags to run (like those expanding ads). So now the exchange tag wont just load an image but load more JS tags to render the ad.
Then we have DMPs (data management platforms) that are solely about measuring your audience. Each one is a isolated silo of data and they dont share because they all have their own algorithms and backend connections with offline data sources to provide value. Most publishers and networks however have to work with all of them since ad buyers want access to everything or they wont spend.
Then we have the new 3rd layer of vendors who do ad fraud and viewability (measuring whether an ad is actually visible in the browser window) which is yet more tags to make sure the original ads are actually rendered and worth something. Then there are some ad networks that don't work through RTB exchanges that need their own tags on the page.
An additional tag isn't the problem, it's the fact that these networks are designed to just offload as much as possible to yet more providers which means a single 5kb tag can balloon into dozens of requests which all load their own crappy frameworks to do the same thing. 10 small tags on a page are fine. 10 small tags that load 25 tags each is what's killing these sites.
Disclaimer: I've built ad networks and run my own now.
EDIT: I wanted to add that part of what I'm pushing for in the industry is more regulation not only with business practices and data but also technical certification. Something to prove that an ad network is actually designed well and won't be a burden on sites/users. Then buyers can just trust that certification without asking for all these 3rd party vendor verification tags that slow down sites and increase cost. Any ideas for making this happen would be appreciated.
Not to mention that more and more this javascript is spent calculating whether an ad is being viewed are not and phoning that data back home. Ad providers do this in different ways and it's not uncommon to see them send down a full jQuery build with their ad.
Ad networks have a lot of work put into the backend systems but the frontend stuff that runs in the browser has been ignored for a long time. Even Google still uses things like Document.Write for putting more tags on the page, something that was obsolete about 6 years ago.
Honestly, I don't agree with the blocking all 3rd party cookies and adblock. It's a blunt-force approach that is harming more than helping right now, but I do agree with the reasons why it's happening and I'm hoping that it will finally change the situation.
Alternately, a technical benchmarking-only system, where you try to identify how much their contribution is to page-load without respect to security/etc.
Unfortunately for the most part these groups all charge lots of money for a nice seal you can put on your site, without any real checking of a business. Some of the most offending and insecure networks are members of the IAB. [1] Not to mention this has no bearing on actual technical implementations. The MRC does audits of companies to certify them for measuring viewability but there can be 50% or more discrepancy[2] between vendors which ultimately makes the entire thing pointless. And buyers also don't care, they have their own "favorite" vendors they want to work with so they're not even interchangeable.
The adblock plus company in Germany (while I dont agree with their entire stance) has an "acceptable ads" standard that at least lays out something in terms of user experience. However they accept money for whitelisting which is why all those crummy clickbait widgets like outbrain/taboola still show up through the default ABP filters.
What I want to see is actual legal regulation that covers how a business deals with data/privacy and then some kind of technical certification led by a real tech-savvy company to vet ad networks and their implementations. However this industry is full of political motives and other shady dealings so it takes a herculean effort to do anything... Maybe with some consumer backing there might be changes given the wide usage of adblock today but (not) surprisingly most digital ad execs see it as some kind of plague rather than the direct consequences of industry actions. That's not a very cooperative attitude for enacting change.
[1] http://www.iab.net/member_center/1521/1534 [2] http://adexchanger.com/data-driven-thinking/viewability-lets...
Emacs built in web-browser, or "eww" (that's its name). It's sort of like Lynx or w3m, except you can click things and it shows actual images!
You can see it here: http://imgur.com/FqJVB0U
You know what? The site and all content loads instantly. It may not be beautiful, but it works a hell of a lot better and is just so feather light it feels surreal.
Maybe I'll seriously start using eww for more stuff. This was surprisingly nice.
There's even a driver to draw straight to a framebuffer. It can be useful if you're on a box without X or break X and need a browser (which is how I found out about it).
I don't actually use it unless I have to, but interesting to know.
Almost completely related to the discussion at hand: Interesting how much presentation and familiarity affects the cognitive load our mind has to deal with when seeing things.
It took me quite some time to realize that the screenshot you posted was of my own eww image-paste on imgur loaded inside a graphical links-session.
Have an up-vote good sir :)
ewww is emacs, so it's all elisp; it'd be easy enough to write your own tracking-blocker. As a first hack, just build a hash table of domains and add a little function which blocks fetching from any domain which is found in the hash table.
https://en.wikipedia.org/wiki/Comparison_of_lightweight_web_...
I wonder if that is going to be what it takes to fix today's bloat problems: Google takes the hammer to sites that too much advertising cruft. Otherwise, I don't see business makers seeing much of a reason to fix it on their own.
That could get interesting: Google, using the argument that all those ad-related scripts make things slow, ranking sites with a lot of them lower than sites which don't, and at the same time hitting their competitors hard: after all, Google makes money through ads, if their competitors are forced to be used less (by Google's own actions) more people might be using Google ad networks.
that would surely end up in legal battle, from the ad agencies saying that Google used their monopolistic power on the search industry just to boost their analytics product.
Not to mention their recent move to close Comments being a cynical strategy to get people using their forums.
Realise that's OT but wanted to get it off my chest.
They claimed this was because comments had become too negative. It is possible they are genuinely just trying to protect the mental health of their staff who are usually the targets of more aggressive comments but somehow I doubt it.
They started deleting comments in that thread and it all went downhill from there once people realized posts were being removed.
Kinda a shame, I liked Topolsky & Co but I don't visit it nearly as much after that.
https://www.reddit.com/r/AndroidMasterRace/comments/37nw4p/i...
https://developer.apple.com/library/prerelease/ios/releaseno...
I'm not sure if the Android version is as bad as the iOS version.
Also to be fair you can already block ads on iOS if you jailbreak your phone.
Is even the majority of users of desktop web browsers actually using adblockers yet?
Adblock Plus on Firefox shows a bit short of 20 million users, while Adblock on Chrome says 'over 200 million downloads', whatever that means in number of users. These numbers don't suggest a majority. (I don't think assuming over 500 million desktop users is crazy.)
Given that iOS is about 20% of total mobile users, this feature will probably make little to no difference, it might be a couple of % of those 20% of users, at the very best.
Elementary example: the likes of us will get requests from our tech-illiterate friends and relatives - "my internet is broken. It's really slow." And we will install ABP/ublock whatever.
This is, of course, assuming that there are no dramatic 'interruptions' - eg, browsers ceasing to support ABP-type extensions, the ads-versus-adblockers arms race moving decisively in the former's favour; etc.
I can't find any numbers on adblocker usage over time during the recent period - would be a good thing to look at - but here's the google trend, FWIW. https://www.google.com/trends/explore#q=ad%20blocker&cmpt=q&...
Maybe you can share your thoughts on why you think it would be any indication that the overall percentage of internet users using ad blockers has gone up?
I'm merely stating a hypothesis here, really - I have in mind how it was that people installed things like the google toolbar to block popups, and then browsers blocked popups by default, and then there were no more popups (OK, not quite, but still). The more irritating something is, the more likely a user will take steps to do something about it.
Time will tell.
[0] http://www.quora.com/What-is-the-percentage-of-Internet-user... - sorry for the hated Quora ink
They're offering the APIs that can be used by developers to build ad blocking extensions. Not much different than what you can do in Chrome & Firefox already. Same held-at-arms-length thing.
See for instance:
https://api.twitter.com/1/statuses/user_timeline.rss?screen_...
Sites are loading up on anything and everything to offset costs and it's only getting worse with adblock. And ad networks are just built with poor engineering and no attention paid to the user's experience. It's too easy to whip up a basic ad server and just load a dozen more tags on a page with the focus being volume and clicks. Unfortunately, there isn't an easy way to fix things because of the way money flows.
Disclaimer: I'm the founder of a digital ad network.
http://www.theverge.com/2012/5/21/3034825/the-verge-page-per...
7MB was about the install size of Microsoft Windows 3.0, a complete (if crummy) OS.
I'm curious as to how that could ever be done. I feel that it's almost impossible without somehow getting user information. I feel the trend is that ads are going to continue to be tuned to people and aspects about them. Maybe fully homomorphic encryption can do that without violating privacy but that's a long way off.
> Here's another idea: Almost a year ago, I heard the notion of "Subscribe 2 Web" at Mozilla. The gist is that you're worth about $6.20 per month across publishers via advertising revenues. What if you paid that much into an account yourself every month and used a mechanism built into your browser to distribute that money? Yeah, it's micropayments, but I find it interesting that these folks came up with a specific dollar amount that doesn't sound terrible.
It exists. It's called Contributor by Google: https://www.google.com/contributor/welcome/. If anybody needs an invite please let me know.
If your website makes me stare at a blank screen for over 5 seconds that's it, the attention span for your low-content article that I was about to read out of boredom is gone. Close tab, click next link.
I guess it's a self-limiting problem in the end :)
https://developers.google.com/speed/pagespeed/insights/?url=...
Weird that Amazon isn't serving things up gzip'd - oh, interesting, I have to gzip the stuff in my build script and deploy it compressed.
It likes to yell at me that my font size is too small, and tell me to "set a legible font size". When I'm not actually setting a base font size and instead adjusting things relative to the browser's default.
Their recommendation to "fix" this is to specify absolute font sizes, which is the opposite of basically every accessibility requirement I've ever read.
Similarly, they complain that I'm not "leveraging browser caching" -- but the un-cached resource is the Google Analytics JavaScript.
It also doesn't catch the one actual user-experience-problem bug that I know about and am working to fix.
So while it's enjoyable to poke fun at someone through PageSpeed results, I'd take it with an extremely large grain of salt.
Seems reasonable. bwahahaha!
Shall we discuss the number of DNS requests?
And how many of those offsite servers are using something convoluted like Amazon for DNS? (which I find is more and more prevalent thanks to AWS)
The blog author, e.g., is using Amazon for DNS.
Alas, for each and every name, this adds more than a few lookups to what could be a 1-2 request process. Amazon uses multiple levels of indirection.
This dance is not of much consequence in the case of a single name.
But in the aggregate, e.g., many names requested from one overloaded site (such as one author singles out) after another, it does add up.
This also creates a larger margin for errors (failed lookups getting retried and timing out, again and again... while the user sits and waits).
Then there are multiple other CNAME's that Amazon uses. It is about the same as looking up a Akamai customer domain. Lots of extra DNS queries.
Perhaps websites just need to die altogether, and instead we'll just use APIs. You choose how to render the content in your browser according to your desires. Oh wait....RSS.
Yeah. Maybe you could download some kind of menu of what the site offers. You could go ahead and download the text because it's tiny, but you could decide, eg, "I will request the image resources but not the javascript ones", or "I will display the text in a font of my own choosing".
The site content could use a language to "mark up" what it offers, and the site's specifications could be overridden by user preferences, sort of a "cascade" of priority.
To use some of the examples in the article, not everyone can rely on national license fees (BBC), corporate sponsorship (NPR), consistently making a loss (The Guardian), search engines (Mozilla), having a legacy business (CNN) etc.
Toward the end of the post I say something like "what if we actually accepted the fact that ads are a way of funding the web at large" and mention some Mozilla efforts in that direction
I wonder which kinds of proposals you would suggest. It should also cover analytics.
Say you write/fork/create a browser that can do this, in order to really work, you have to disable (by default) all ads.
To do this, technically, that means you have to break all third party site interaction. No third party scripts, no jquery includes, etc. etc.
I could see it maybe as a value-added service which competes with traditional ad-based marketing, i.e. aimed at folks who have very strict anti-ad systems put into place. Only issue being is those same folks may also not wish to use said browser...
So I don't think this is possible, even if its a nice idea. You'd basically have to rebuild the web to do this. The only way it could flourish would be as an independent network of its own.