Chrome 56 Almost Shipped With A Feature That Could 'Break The Web'

Image: Google

Everyone wants a responsive web experience, hence why the likes of Mozilla, Microsoft and Google continue to fine-tune the guts of their browsers. But once the easy optimisations are done, you have to be a little more aggressive with your improvements. Google nearly took it too far with the latest Chrome, which was originally going to massively "throttle" background tabs... a change that would have busted popular web apps including Slack and Discord.

It seems logical to limit, or throttle, the resources of browser tabs you're not looking at, providing more for the foreground tab and the operating system in general. This was a feature Google was planning to roll-out in Chrome 56, but after activating it in the browser's beta, decided to hold back after receiving some troubling feedback from testers.

As web developer Samuel Reed writes, the idea behind the throttling feature was to give each background tab a budget. Exceed that budget and the tab would have to wait a while -- potentially minutes -- before it could do anything.

So what's the problem? I'll let Reed explain:

This is generally a Good Thing. Browser vendors should be concerned about battery life, and this will do a lot to help. Unfortunately, this implementation is ignoring the new reality: the browser is no longer just a reading device; it is the world's largest application platform.

This will break the web.

Reed goes on to detail how web apps the rely on behind-the-scenes processing for say, notifications, would be wrecked by this change. Fortunately, Google didn't ignore the outcry and held the optimisation back for further work:

Unfortunately, our current implementation throttles WebSockets. Because of this we ARE NOT SHIPPING this intervention in M56.

The current plan is to disable time-budget background timer throttling for the pages with active connection (websocket, webrtc and server-sent events) and to ship in M57 (subject to further feedback).

We will keep you updated with the progress.

Definitely an improvement, but one Google will likely want to test extensively before Chrome 57 arrives...




    I actually think this should be standard in all browsers. We need to change our design paradigm based on the fact that browser's may "limit" resources while not in use (background tabs etc), code around that and start building/designing our web apps to be more "efficient" not only while active, but also inactive. The browser has become an OS, it may as well start acting like one.

    I think by default yes, this should be how it works, however, it should be able to be turned off either by the user, or via meta tags for pages that need it (things like Discord).

    I could see this being a annoying for webmail mostly, assuming a lot of people use official apps for Slack, etc..

    Hence why? Hence means "that's why". Saying 'hence why' is just as bad as saying 'PIN number'.

    Last edited 30/01/17 1:42 pm

Join the discussion!