|
|
|
|
|
by peterwwillis
3108 days ago
|
|
This isn't even a broken code issue. This is a totally unnecessary functionality regression issue. Instead of just loading a page, they're waiting four seconds to load the page, because the page uses an asset on a domain they flag as a tracking domain. This is like if the compiler generated loops with 4000ms sleeps because the app links a library the compiler thinks is annoying. Technically the compiler never said it wouldn't add random sleeps into loops. It's totally in spec! What's the big deal? Meanwhile, my app is slow now. Or in the case of some apps, actually broken for active use cases where it used to work fine. Which, again, is totally regression by any QA standard. |
|
You make it sound like Firefox is just adding a wait for no reason.
The reality is that the page is asking Firefox to download dozens or hundreds of scripts [1]. Firefox needs to prioritize those loads somehow, because it generally doesn't want to open that many connections to the server in parallel. So it prioritizes the non-tracking bits over the tracking ones. If all the non-tracking bits are done loading, the trackers start loading at that point.
> This is like if the compiler generated loops with 4000ms sleeps
No, it's more like if your OS scheduler decided to prioritize some applications over others based on how much it thinks you care about them (e.g. based on whether they're showing any UI, or based on whether they're being detected as viruses by the virus scanner).
[1] For example, http://www.cnn.com/ shows 93 requests for scripts in the network panel in Firefox. If I enable tracking protection, that drops to 37 requests.
Or for another example, http://www.bbc.co.uk/news has 67 script requests and only 20 with tracking protection enabled.
Or for another example, https://www.nytimes.com/ has 150 script requests and only 40 with tracking protection enabled.