"Why might JavaScript be unavailable even to users who have not disabled it?"
The paragraph makes only the one point of mixed-content but that is not the only possibility.
Another possibility is: javascript (or js dependency) is hosted on a CDN and the CDN is unavailable (down, blocked by company/state filters, ...).
Another could simply be that part of the js is broken for some reason and did not execute further (could be because part of the js is generated per-user in a dumb way and our user is little bobby tables, could be because of caching issues, could be a critical bug not caught in QA, ...).
Another reason is that loading assets could be extremely slow for the user and they will temporarily see the site in a broken state. I'm suffering from this myself currently - I'm out of the country on a massively throttled 3G. I'm closing a lot of sites before they finish loading their JS because I don't have all day. The type of speed I'm dealing with here exists in many parts of the world and it is unsafe (and extremely inconsiderate) to assume everyone will load all assets within seconds.
So true. I can understand that some sites cannot possibly provide any useful functionality without JS (e.g. Trello), but am extremely annoyed when I find simple news sites loading a ton of assets from various CDNs - in many cases, I cannot even read the article if I am forced to use an older browser like IE8 or a slow internet connection.
Yes, exactly. Funny thing is, with a terrible connection like the one I currently have, gmail is the sort of app I don't expect to work at all.. except that it does because it has a very powerful html-only (a la 1998-webmail) interface.
In the mean time, a bunch of blogs and wordpress-type sites will not load without their bazillion javascript files. Half of them from tracking sites, the other half from social sites (sigh).
A few more years down the line, this is how the "web 2.0" will be remembered: 3 different JS frameworks on the same site, a bazillion share buttons and simply generally more javascript being served than cheeseburgers in a macdonalds.
The latter is an argument against using any asset external to the page, CSS, images, anything. Unless you are looking at a network timeline in your mobile browser you don't really know what is taking so long to load.
It's not an argument against using any of those assets. It's an argument against depending on them for your website to be usable.
And that argument does apply to css and images. Obviously this does not apply to actual web apps but more to article-oriented HTML.
And yes, I do look at network timelines (I tether, sue me). The amount of sites that will hang until jquery is done loading because displaying their measly 50 lines of text requires a fancy animation they were too lazy to implement in css is pathetic.
The whole starting point of this discussion was limited 3G bandwidth. Anything going through that pipe is necessarily holding up other stuff from loading. Potentially important other stuff.
I'll grant that this makes it an argument against those things. I don't see that it's an equally strong argument. In any case, you have to weigh the costs and benefits.
I use Noscript and will usually enable JS at least temporarily for the main domain and a CDNA but often balk at a list of 10 TLDs that the page needs to load (particularly tracking and advertising sites). Sometimes I try to find the necessary ones and others I just move on.
The paragraph makes only the one point of mixed-content but that is not the only possibility.
Another possibility is: javascript (or js dependency) is hosted on a CDN and the CDN is unavailable (down, blocked by company/state filters, ...).
Another could simply be that part of the js is broken for some reason and did not execute further (could be because part of the js is generated per-user in a dumb way and our user is little bobby tables, could be because of caching issues, could be a critical bug not caught in QA, ...).
Another reason is that loading assets could be extremely slow for the user and they will temporarily see the site in a broken state. I'm suffering from this myself currently - I'm out of the country on a massively throttled 3G. I'm closing a lot of sites before they finish loading their JS because I don't have all day. The type of speed I'm dealing with here exists in many parts of the world and it is unsafe (and extremely inconsiderate) to assume everyone will load all assets within seconds.