New Caching Change Could Dramatically Accelerate Google Chrome

This site may earn affiliate commissions from the links on this page. Terms of use.

Google is exploring a new method of improving site performance in Google Chrome, this time by adding a new back-caching feature that would keep certain data in memory, even after you’ve left a site. The company writes:

A back/forward cache (bfcache) caches whole pages (including the JavaScript heap) when navigating away from a page, so that the full state of the page can be restored when the user navigates back. Think of it as pausing a page when you leave it and playing it when you return.

The company states that this feature could improve performance by up to 19 percent in mobile Chrome, and by 10 percent on desktop PC based on the number of site interactions that represent a back/forward usage pattern. This type of caching wouldn’t accelerate sites you visit on a regular basis or improve performance overall. It’s a specific change that would make it easier to surf when moving forward and back on the same site after having accessed it the first time.

According to Google, Chrome isn’t using the default WebKit implementation of a bfcache, due to incompatibilities with Google’s multi-process architecture. Google also has work to do on the browser, ensuring that JavaScript actually freezes on the page to be cached, rather than continuing to run in the background. Allowing background JavaScript to run from cached pages would be a significant privacy and security issue.

This is a feature that Firefox and Safari already use, albeit apparently in a somewhat different way. I tried comparing Chrome and Firefox in an ordinary desktop comparison, checking the load times on several sites in succession in the same manner as the videos on Google’s developer blog. Firefox may have outperformed Chrome slightly in these tests, but not enough for me to feel comfortable declaring it a winner, and it didn’t produce the same behavior as the Chrome test did for Google. The instant load of the previous page due to bfcache doesn’t seem to happen the same way. Then again, the video is supposed to show how the feature could work in the future, not serve as a final illustration of implementation.

These changes could increase RAM usage in Chrome, but Google plans to minimize this with smarter rules about when and how to keep data in RAM while pages are suspended. The goal is to implement the feature throughout 2019 and roll it into shipping Chrome in 2020.

Now Read:

Ex-Microsoft Intern: Google Deliberately Crippled Edge Browser

This site may earn affiliate commissions from the links on this page. Terms of use.

Allowing any one company too much control over the internet and the long-term development of web standards has always been a bad idea. It didn’t work well in the late 1990s and early 2000s when Microsoft’s Internet Explorer was the de facto standard, and it isn’t likely to be a particularly great outcome in 2018, either, now that Chromium has emerged as the single dominant player in browsing. According to a former Edge intern/developer, Microsoft has given up on its own EdgeHTML engine because it couldn’t keep up with the ways Google kept breaking major websites to disadvantage it.

In a post at Hacker News, JoshuaJB (identified via Neowin as Joshua Bakita), in response to a post theorizing that Google could exploit its dominance by integrating preferential support to boost Google app performance at the expense of other platforms or products, writes:

This is already happening. I very recently worked on the Edge team, and one of the reasons we decided to end EdgeHTML was because Google kept making changes to its sites that broke other browsers, and we couldn’t keep up. For example, they recently added a hidden empty div over YouTube videos that causes our hardware acceleration fast-path to bail (should now be fixed in Win10 Oct update). Prior to that, our fairly state-of-the-art video acceleration put us well ahead of Chrome on video playback time on battery, but almost the instant they broke things on YouTube, they started advertising Chrome’s dominance over Edge on video-watching battery life. What makes it so sad, is that their claimed dominance was not due to ingenious optimization work by Chrome, but due to a failure of YouTube. On the whole, they only made the web slower.

Now while I’m not sure I’m convinced that YouTube was changed intentionally to slow Edge, many of my co-workers are quite convinced — and they’re the ones who looked into it personally. To add to this all, when we asked, YouTube turned down our request to remove the hidden empty div and did not elaborate further.

And this is only one case.

The irony of defending Edge and Microsoft after years of decrying the way Redmond has shoved everyone towards using Edge at every opportunity is not lost on me. Neither is the irony of defending Microsoft in general. The company’s hostility towards open source development and its fondness for monopoly may have faded somewhat in recent years, but they’ve scarcely been forgotten.

stupid-ad-2

What we needed was a happy medium between “One browser rules the Earth” and “Your browser is malware.” Image by Thurrot.com

But I don’t need to stick up for the way Microsoft pushed people to use Edge to see the danger in giving any single company too much control over standards and practices. We don’t know if the story above is actually true — as of this writing, it hasn’t been independently confirmed. But it’s not hard to believe, and we’ve seen historical examples of how this kind of monopoly can work against companies that attempt to create alternatives. IE6 dominated the internet to such a degree that websites were often programmed to perform well in Internet Explorer, even when this broke standards or failed to conform to best practices. Competing browsers that attempted to implement standards correctly would then fail to work with IE6 pages.

Ars Technica gives another example of how Google has designed sites like YouTube to favor its own approach, to the detriment of other browsers.

As another example, YouTube uses a feature called HTML imports to load scripts. HTML imports haven’t been widely adopted, either by developers or browsers alike, and ECMAScript modules are expected to serve the same role. But they’re available in Chrome and used by YouTube. For Firefox and Edge, YouTube sends a JavaScript implementation of HTML imports which carries significant performance overheads. The result? YouTube pages that load in a second in Chrome take many seconds to load in other browsers.

The fact that Chromium is open source won’t ultimately matter much if one company still represents the overwhelming force behind its development and the associated development of future web standards. In mobile, Apple still has some sway, thanks to Safari on the iPhone. But Mozilla Firefox, with its 9 percent market share, is now the only bulwark against Chrome’s total domination of the desktop browser market.

Now Read:

Safari and Chrome aren’t the new IE6 — chill out!

IE6 and WebKit

IE6 and WebKit

Internet Explorer 6 was a plague. Not only was it extremely dominant in the web browser market, but it also highlighted a very dark time for Microsoft as a company. IE6 accomplished Microsoft’s infamous embrace, extend, and extinguish strategy, but it also allowed Microsoft to become stagnant. Since Gecko- (Firefox) and WebKit-based (Chrome, Safari) web browsers have really taken off, Microsoft has quickly moved to rectify the problem. IE9 and IE10 are much faster and more standards-compliant than previous efforts, but Microsoft’s corporate culture taints the way it views the current browser market.

It’s clear that Microsoft sees WebKit as a threat — specifically in the mobile space. Due to its almost complete domination of the smartphone (Android and iPhone) and tablet (Android and iPad) markets, this has even caused some people to accuse WebKit-based browsers of becoming the entrenched, stagnant stalwart that IE6 once was. The reality is that WebKit is not, will not be, and can not be the same problem that IE6 once was. Internet Explorer 6 was part of Microsoft’s plan for dominating the market. Safari and Chrome, despite their importance, don’t serve the same purpose for either Apple or Google.

The reason Apple forked KHTML to start the WebKit project was so that it would no longer be beholden to Microsoft. As stagnant as IE was on Windows, it was even worse on the Mac. Safari, and the underlying rending engine, exist only so that Apple will have a reliable web browser for its customers regardless of which third-party companies are developing for its platforms. Google makes the vast majority of its money from advertising. Its goal is for as many people as possible to use its web apps and services. Chrome exists as clear and stable way for Google to offer a clean and fast experience for its users. In both cases, it doesn’t actually matter if the end user is using a WebKit-based browser. As long as you’re buying Apple’s hardware or using Google’s web apps, neither company cares which browser you use. At least in the days of IE6, Microsoft desperately wanted Internet Explorer to be the only browser anyone ever wanted to use. Google and Apple don’t share that idea for their browsers.

WebKit Browsers

WebKit is completely open source, and anyone can leverage it (or fork it) to create their own browser. Google did it for Chrome, and it turned out fantastically. Microsoft’s Trident engine is closed source. Nobody can fork it or even submit improvements for Microsoft to use itself. This alone means that WebKit cannot really be used as a tool for embrace-extend-extinguish. Extinguishing doesn’t work so well when your competitors have access to the core of your application, and can use it themselves.

The only argument left for WebKit-based browsers being at all like IE6 is that WebKit has features that aren’t yet available in other browsers or in any spec. If web developers want to take advantage of a WebKit-exclusive feature, or if they want to target the vast majority of mobile browsers, they have to write WebKit-specific code. Now, with Firefox and Internet Explorer finally making headway in the mobile market, many developers don’t have the resources to re-write their sites using either new standards or more browser-specific code. This is not by any means a failing of WebKit — it is a failing of the competition and standards body.

Apple and Google both want to implement cutting-edge technology, and the World Wide Web Consortium (W3C) is very slow in adopting standards. That doesn’t mean that WebKit isn’t standards-compliant. In fact, WebKit-based browsers are even more standards compliant than IE10. In reality, this is more of a problem with the W3C. It’s hard to blame developers for wanting to take advantage of the latest technology in WebKit, but they know the risks of using non-standard code. Microsoft shouldn’t be worried about Safari and Chrome playing the role of IE6. Instead, it should double-down on standards compliance, and keep pace with new features in WebKit. If developers can write standards-compliant code that works in every major browser, they’ll do it happily. Don’t drag your feet, Microsoft, and you won’t have to worry about developer support.

Now read: The death of Firefox

Safari and Chrome aren’t the new IE6 — chill out!

IE6 and WebKit

Internet Explorer 6 was a plague. Not only was it extremely dominant in the web browser market, but it also highlighted a very dark time for Microsoft as a company. IE6 accomplished Microsoft’s infamous embrace, extend, and extinguish strategy, but it also allowed Microsoft to become stagnant. Since Gecko- (Firefox) and WebKit-based (Chrome, Safari) web browsers have really taken off, Microsoft has quickly moved to rectify the problem. IE9 and IE10 are much faster and more standards-compliant than previous efforts, but Microsoft’s corporate culture taints the way it views the current browser market.

It’s clear that Microsoft sees WebKit as a threat — specifically in the mobile space. Due to its almost complete domination of the smartphone (Android and iPhone) and tablet (Android and iPad) markets, this has even caused some people to accuse WebKit-based browsers of becoming the entrenched, stagnant stalwart that IE6 once was. The reality is that WebKit is not, will not be, and can not be the same problem that IE6 once was. Internet Explorer 6 was part of Microsoft’s plan for dominating the market. Safari and Chrome, despite their importance, don’t serve the same purpose for either Apple or Google.

The reason Apple forked KHTML to start the WebKit project was so that it would no longer be beholden to Microsoft. As stagnant as IE was on Windows, it was even worse on the Mac. Safari, and the underlying rending engine, exist only so that Apple will have a reliable web browser for its customers regardless of which third-party companies are developing for its platforms. Google makes the vast majority of its money from advertising. Its goal is for as many people as possible to use its web apps and services. Chrome exists as clear and stable way for Google to offer a clean and fast experience for its users. In both cases, it doesn’t actually matter if the end user is using a WebKit-based browser. As long as you’re buying Apple’s hardware or using Google’s web apps, neither company cares which browser you use. At least in the days of IE6, Microsoft desperately wanted Internet Explorer to be the only browser anyone ever wanted to use. Google and Apple don’t share that idea for their browsers.

WebKit Browsers

WebKit is completely open source, and anyone can leverage it (or fork it) to create their own browser. Google did it for Chrome, and it turned out fantastically. Microsoft’s Trident engine is closed source. Nobody can fork it or even submit improvements for Microsoft to use itself. This alone means that WebKit cannot really be used as a tool for embrace-extend-extinguish. Extinguishing doesn’t work so well when your competitors have access to the core of your application, and can use it themselves.

The only argument left for WebKit-based browsers being at all like IE6 is that WebKit has features that aren’t yet available in other browsers or in any spec. If web developers want to take advantage of a WebKit-exclusive feature, or if they want to target the vast majority of mobile browsers, they have to write WebKit-specific code. Now, with Firefox and Internet Explorer finally making headway in the mobile market, many developers don’t have the resources to re-write their sites using either new standards or more browser-specific code. This is not by any means a failing of WebKit — it is a failing of the competition and standards body.

Apple and Google both want to implement cutting-edge technology, and the World Wide Web Consortium (W3C) is very slow in adopting standards. That doesn’t mean that WebKit isn’t standards-compliant. In fact, WebKit-based browsers are even more standards compliant than IE10. In reality, this is more of a problem with the W3C. It’s hard to blame developers for wanting to take advantage of the latest technology in WebKit, but they know the risks of using non-standard code. Microsoft shouldn’t be worried about Safari and Chrome playing the role of IE6. Instead, it should double-down on standards compliance, and keep pace with new features in WebKit. If developers can write standards-compliant code that works in every major browser, they’ll do it happily. Don’t drag your feet, Microsoft, and you won’t have to worry about developer support.

Now read: The death of Firefox

Safari and Chrome aren’t the new IE6 — chill out!

IE6 and WebKit

Internet Explorer 6 was a plague. Not only was it extremely dominant in the web browser market, but it also highlighted a very dark time for Microsoft as a company. IE6 accomplished Microsoft’s infamous embrace, extend, and extinguish strategy, but it also allowed Microsoft to become stagnant. Since Gecko- (Firefox) and WebKit-based (Chrome, Safari) web browsers have really taken off, Microsoft has quickly moved to rectify the problem. IE9 and IE10 are much faster and more standards-compliant than previous efforts, but Microsoft’s corporate culture taints the way it views the current browser market.

It’s clear that Microsoft sees WebKit as a threat — specifically in the mobile space. Due to its almost complete domination of the smartphone (Android and iPhone) and tablet (Android and iPad) markets, this has even caused some people to accuse WebKit-based browsers of becoming the entrenched, stagnant stalwart that IE6 once was. The reality is that WebKit is not, will not be, and can not be the same problem that IE6 once was. Internet Explorer 6 was part of Microsoft’s plan for dominating the market. Safari and Chrome, despite their importance, don’t serve the same purpose for either Apple or Google.

The reason Apple forked KHTML to start the WebKit project was so that it would no longer be beholden to Microsoft. As stagnant as IE was on Windows, it was even worse on the Mac. Safari, and the underlying rending engine, exist only so that Apple will have a reliable web browser for its customers regardless of which third-party companies are developing for its platforms. Google makes the vast majority of its money from advertising. Its goal is for as many people as possible to use its web apps and services. Chrome exists as clear and stable way for Google to offer a clean and fast experience for its users. In both cases, it doesn’t actually matter if the end user is using a WebKit-based browser. As long as you’re buying Apple’s hardware or using Google’s web apps, neither company cares which browser you use. At least in the days of IE6, Microsoft desperately wanted Internet Explorer to be the only browser anyone ever wanted to use. Google and Apple don’t share that idea for their browsers.

WebKit Browsers

WebKit is completely open source, and anyone can leverage it (or fork it) to create their own browser. Google did it for Chrome, and it turned out fantastically. Microsoft’s Trident engine is closed source. Nobody can fork it or even submit improvements for Microsoft to use itself. This alone means that WebKit cannot really be used as a tool for embrace-extend-extinguish. Extinguishing doesn’t work so well when your competitors have access to the core of your application, and can use it themselves.

The only argument left for WebKit-based browsers being at all like IE6 is that WebKit has features that aren’t yet available in other browsers or in any spec. If web developers want to take advantage of a WebKit-exclusive feature, or if they want to target the vast majority of mobile browsers, they have to write WebKit-specific code. Now, with Firefox and Internet Explorer finally making headway in the mobile market, many developers don’t have the resources to re-write their sites using either new standards or more browser-specific code. This is not by any means a failing of WebKit — it is a failing of the competition and standards body.

Apple and Google both want to implement cutting-edge technology, and the World Wide Web Consortium (W3C) is very slow in adopting standards. That doesn’t mean that WebKit isn’t standards-compliant. In fact, WebKit-based browsers are even more standards compliant than IE10. In reality, this is more of a problem with the W3C. It’s hard to blame developers for wanting to take advantage of the latest technology in WebKit, but they know the risks of using non-standard code. Microsoft shouldn’t be worried about Safari and Chrome playing the role of IE6. Instead, it should double-down on standards compliance, and keep pace with new features in WebKit. If developers can write standards-compliant code that works in every major browser, they’ll do it happily. Don’t drag your feet, Microsoft, and you won’t have to worry about developer support.

Now read: The death of Firefox

Chrome on iOS is sluggish, but at least it syncs

Chrome for iOS - icon

Chrome for iOS - icon

During day two of the Google I/O conference the company moved away from the topics of Google Glass and Android to talk about its Chrome web browser and related web technologies. The Chrome web browser stole the show with the announcement that an iOS version would be available for the iPhone and iPad. There were also smaller reveals, such as the fact that Chromebooks would be sold at Best Buy, but those released much less fanfare than the notion of the speedy Chrome browser on Apple’s mobile hardware.

Chrome on landing in the App Store is a big deal. Unfortunately, Apple has instituted some restrictions that handily prevent mobile Safari from being dethroned

With that said, Chrome on iOS is an interesting development and it does bring several neat features to Apple’s mobile users. The most noticeable benefit is gaining access to Google’s Chrome interface. The user interface features a single text input bar for URL and search entries, and tabs listed above the URL bar (with gesture support for tab switching). The Google browser also includes a private browsing mode — called Incognito — that is much easier to find (and use) versus Safari which hides the feature in the Settings application.

Google's Chrome web browser running on an Apple iPhone.Being Chrome, it is able to access and sync browser bookmarks and saved passwords from Chrome browsers on other systems when logged in with your Google ID. Another new feature allows you to see the websites open on your other Chrome instances — on desktop or other mobile platforms — and open them in the Chrome browser on your iPhone or iPad (or the other way around). Users are also reporting that Chrome is able to open more tabs at a time than Safari, which limits you to 8 open browser tabs.

Although Chrome on iOS has several useful features, in the end it is mostly mobile Safari with a new skin. The back-end and underlying web page rendering code is the same WebKit libraries that Safari uses. You will not find Google’s customized “V8” rendering engine — which the desktop version of the browser uses to improve JavaScript performance. To make matters worse, while Safari is allowed to use Apple’s “Nitro” JavaScript engine to speed up page load times and web application performance, Chrome is prohibited from accessing the Nitro libraries (as are all third party browsers).

This means that Apple’s Safari browser will have a large advantage when it comes to performance. Initial benchmarks comparing performance (JavaScript and page load times) between the two browsers do seem to support that statement — with Safari displaying significantly better benchmark results and, in some cases, slightly decreased page load times. Taking away the tweaked V8 JavaScript engine and Google’s other WebKit touchups is a big disadvantage. Granted, this may be somewhat mitigated by Chrome’s ability to pre-fetch web pages, but it is still not good news for the iOS version.

The other major barrier to Chrome overtaking Safari on iOS is that Apple does not allow the competition to be set as the default browser. Any web links given to you in email, messaging, or other applications will continue to open with the native Safari browser.

Chrome on iOS does start to seem like a fruitless venture (pun intended) when presented with the disadvantages (and once the glamor and allure of a new browser wears off). At the same time, Chrome does have an edge in usability — especially if you use Chrome exclusively on your other systems — and it is a foothold into the Apple customer base. It may not win any performance awards (yet), but it does get the Google Chrome name out there in front of potentially millions of people as an alternative to Safari. It will likely be downloaded by quite a few people (at least 2,980 people have rated it so far), who might then check out Chrome on the desktop, on their MacBook, and so on.

Is Chrome on iOS a “Safari Killer?” Probably not, but it will be a successful product all the same.

Chrome for iOS (App Store)