In a web application, I wish to present a rich user experience to viewers where available, yet I also wish to respect viewers' reluctance to pay overage fees to their Internet service provider. Several Internet service providers, especially cellular and satellite, offer fast throughput but charge what amounts to $10 per gigabyte transferred (downloaded or uploaded) over the last mile. Given my knowledge of content negotiation mechanisms already in HTTP, I had hoped that there would be a reliable automated way to detect and respect the user's preference, but that turned out not to be the case.

  • Browsers generally provide no way to detect whether the user is on a metered connection. According to this answer by Bergi on Stack Overflow, this is intentionally impossible for privacy reasons.
  • Trying to detect this based on a "mobile" user agent is unreliable because phones and tablets can be on unmetered Wi-Fi, laptops can be on mobile hotspots with a cellular uplink, and laptops and desktops can be on a home network with a satellite uplink.
  • Nor is bandwidth testing reliable because metered LTE cellular connections have become faster than largely unmetered entry-level DSL. Consider a wireless network that actually meets the IMT's 4G spec, which include a peak data rate of 100 Mbps for mobile or 1 Gbps for a fixed station. (LTE does not meet this spec despite carriers advertising it as 4G.) But because you've paid for 5 GB (40,000 Mbit) per month, that just means you can burn through your cap in under 7 minutes for mobile or 40 seconds for fixed and then be without Internet for the rest of the day and the next four weeks.

This leaves asking the viewer. So what is the common practice for giving an anonymous visitor (not a logged-in user) the choice of a low-bandwidth or rich version of a web site? I guess low-bandwidth would have to be the default; I'm just confused as to how to present the option to view the rich version to visitors on unmetered connections who have over the years come to expect the rich version. What sites do slim and rich versions right?

  • Where is your target audience based ?
    – Mervin
    Sep 24, 2014 at 20:01
  • Wherever English speakers live, as I was asking in general. But what differs between countries to change the answer? Sep 24, 2014 at 20:05
  • 1
    I applaud you for wanting to implement this! FAR too many devs assume that all their users inhabit the same world of high income and perfect infrastructure as them - especially in today's mid-bubble tech environment. Sep 24, 2014 at 21:47
  • @tepples Different countries have different broadband speeds, costs and penetration rates. Consider this infographic (Source) showing different speeds and recent changes in price. Sep 25, 2014 at 1:26
  • @TimFitzGerald Your infographic shows price differences for wired broadband among industrialized countries. I'm assuming this is less than the difference in price between wired and wireless in one country. It also shows Mbits per second, not GB per month. Sep 25, 2014 at 15:10

1 Answer 1


It's a tough one. I agree with you though, this is a necessary feature, especially in a world with such difference between people and ISPs.

I'd take inspiration from the recent European Union cookie laws (if you're not familiar: websited must obtain permission before setting cookies or have an easily accessible policy). Most websites now seem to implement this by use of a slide-in, non-modal message at the top pr bottom of the site.

In this scenario, you can just replace the cookies text with something more appropriate:

This site is in Slim mode. To change to Rich mode and get our full content, click here.

or whatever else suits you.

The point is, this should be non-modal, and the user should be able to use the site's full functionality in Slim mode. At the moment, only 28.4% of people are on "4G" connections.

And let's look at this: most standard broadband plans have a mimimum of 50GB download allowance. Most standard webpages are around 50KB in size, meaning that although you could download them stupidly fast, you'd have to download a million of them to hit your limit.

In reality, you're not going to burn through data that fast. However, I think the idea is a good one, as long as it's done properly. The main condition of that is the on I have above.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.