Open Bug 859998 Opened 12 years ago Updated 4 months ago

Investigate a "low/expensive bandwidth mode" for the browser?

Categories

(Firefox :: General, enhancement)

enhancement

Tracking

()

People

(Reporter: Dolske, Unassigned)

References

Details

Bug 851701 removes the Firefox desktop UI for controlling automatic image loading. One use frequently mentioned in association with that pref is the concern that people with limited bandwidth (or expensive per-byte bandwidth) may have a particular interest in enabling it.

I think the "load images automatically" pref actually isn't a very good way to support that use-case, but the use-case itself is still interesting to think about. Especially on mobile. If it's something we (or an add-on) want to support, there's a lot more to think in order to provide a good experience. For example:

  * An indicator of page size / cost / monthly-usage.
  * Blocking / click-to-playing plugins
  * HTML5 audio/video blocking
  * Ability to only partially load enormous pages and/or prompting before loading
    (or downloading) large content.
  * Allowing small (size? dimensions?) image to load, but block larger images, to
    help makes sites work better.
  * Disable speculative loading / prefetching
  * More aggressive caching?
  * Some way to monitor / block things like XHR that transfer data in the
    background. (eg, how much bandwidth does gmail use if you leave it sitting
    idle? I have absolutely no idea)
  * Some kind of API/flag code (chrome? content?) can check to see if it can freely
    gobble up data, be miserly, or in between. This occasionally comes up in
    the browser itself, eg for downloading updates, sending crash/telemetry data,
    etc.

That's just a quick list from the top of my head.

Also noteworthy is that, at least from a quick AMO skim, I don't see any existing add-ons targeting this need. Not sure if it's a large but unfulfilled use-case, or one that in practice people just somehow adapt to.
From my experience, people "adapt to" expensive bandwidth as best they can. Most of the bandwidth is saved by:

* Stopping the loading of rich media (disabling plugins like Flash)
* Switching off the loading of images (will be complicated with Bug 851701)
* Using ad blockers like ABP to block more rigorously with very aggressive custom rules (which often causes additional issues and breaks sites)
* Tweaking cache parameters (cache validation+size).

Monitoring bandwidth with third-party tools (not in-browser) is also very common to keep track of usage, but obviously doesn't help actually preventing the use (but it does help people decide when to "stop browsing"). I don't think there are currently easy methods to block XHR or the loading of huge pages.
Something like the "Opera Turbo" can be considered.
Severity: normal → S3
Duplicate of this bug: 1897301

We can also view this from the angle of use cases. I see 3 use cases to consider with very similar interests:

  • people on capped measured-rate bandwidth-poor connections, who need to conserve consumption to save money (ref bug 1897301)
  • environmentalists trying not to waste energy (ref bug 1897301)
  • people who do not care about bandwidth but really just want to see no images, e.g. who likely oppose advertising or want NSFW pics off the screen (ref bug 331257)

An indicator of page size / cost / monthly-usage.

Yes that’s important indeed. In 2010 avg page size was 500kb. That has quadrupled since Cloudflare took over half the world’s web and gave web designers a blank cheque on page weight. So page sizes are out of control and Firefox is not empowering users to take control of it. We need:

  • The task manager to include a column for page size. The memory column does not serve that purpose because it includes memory for applications that are executing.
  • For environmentalists, each tab (or mouse-over thereof) could show the estimated CO₂ emissions of the page, which could be a function of both CPU from the apps and the page weight. Though this in itself would be a heavy calculation so doing that in a lean way might be non-trivial.
  • For bandwidth-starved people, it’s important to know of a page weight before it is fetched. A knee-jerk thought would be to have a right-click option to grab the content-length header and show it. But that could be tedious if that’s the only way. I would probably like to set a threshold: if a content-length is <500kb then fetch it with no further prompting. But if the content-length exceeds a threshold, then present the size in the window that I can either control-w or click to continue, perhaps with a timer that continues if no action is taken. The page would of course load without images or video in this mode. But then users need a way to click an object’s placeholder to get the content-length on a per-object basis.

As it stands now, I browse with all images disabled. Then I have another browser open which has images enabled. I have to copy-paste either just one image or a whole page in the 2nd browser if I want to see the graphics.

Regarding the monthly usage idea, it would also be quite useful to have stats like that. If someone on a mobile prepaid data plan reaches their quota near the end of the month, it would be useful to compare which websites are the biggest consumers. And environmentalists might like to see which sites have the highest energy consumption. Some sites are so abusive with CPU they bring my machine down to a crawl (the the task manager can help with if it still functions well enough to open).

You need to log in before you can comment on or make changes to this bug.