News and developments from the open source browser project
The Mobile Web Is Open for Business
Thursday, May 19, 2016
Posted by Rahul Roy-chowdhury, VP Product Management, Chrome
One of the virtues of the web is its immense reach, providing access to information for all internet users regardless of device or platform.
With the explosion of mobile devices, the web has had to evolve to deliver great experiences on the small screen. This journey began a few years ago, and I am excited to be able to say that the mobile web is
open for business
Hear the recording from Google I/O where I discussed the state of the union and how to take advantage of
new experiences like AMP and Progressive Web Apps (PWAs)
to deliver a best-in-class mobile experience.
If you don’t have time to watch,
here’s a quick recap of the four aspects to focus on while building
a great mobile web experience:
Expressiveness has always been a strength of the web, but sometimes that expressiveness can come at the cost of loading time or smooth scrolling. For example, event listeners allow developers to create custom scrolling effects for their website, but they can introduce jank when Chrome needs to wait for any touch handler to finish before scrolling a page. With the new
passive event listener API
, we've given control back to the developer, who can indicate whether they plan to handle the scroll or if Chrome can begin scrolling immediately.
Speed also goes beyond user experience gains.
have shown that 40% of users will leave a retail site if it takes longer than 3 seconds to load. To get a blazing fast web page in front of users immediately, we've introduced
Accelerated Mobile Pages (AMP)
. With AMP, we have seen pages load 4x faster and use up to 10x less data. AMP is already seeing great adoption by developers, with more than 640,000 domains serving AMP pages.
Progressive Web Apps (PWAs)
let developers take advantage of new technologies to provide users with an engaging experience from the very first moment. Thanks to a new API called service worker, all the important parts of a web app can be cached so that it loads instantly the next time a user opens it. This caching also allows developers to continue to provide a fast and meaningful experience even when the user is offline or on an unreliable network. PWAs provide elements of polish too: an icon users can add to their home screen, a splash screen when they open it, and a full-screen experience with no address bar.
JalanTikus Progressive Web App
Logging in is a ubiquitous pattern on the web, but
92% of users
abandon a task if they've forgotten their password. To alleviate this pain, Chrome's password manager enables more than 8-billion sign-ins per month, and we're expanding support with the
Credential Management API
. Using this API allows web apps to more closely integrate with the password manager and streamline the sign-in process.
Even once logged in, checkout can be a complicated process to complete. That's why we're also investing in capabilities such as the
Web Payment API
and enhanced autofill, assisting users by accurately filling in forms for them. We've found that forms are completed 25% more when autofill is available, increasing odds for conversion.
Once the first interaction with a user is complete, re-engaging on the web can be tricky. Push notifications address this challenge on native apps, and now the
is available on the web as well. This allows developers to reconnect with their users even if the browser isn't running.
Over 10 billion push notifications are sent every day in Chrome, and it’s growing quickly. Jumia
that users who enabled push notifications opened those notifications 38% of the time and recovered carts 9x more often than other users.
Jumia Mobile Web Push Notifications
As developers begin embracing these new technologies, we're seeing success stories from around the world.
one of the world's largest e-commerce sites, built a PWA and saw conversion rates for new users increase by 104%.
They've also found that u
sers love the experience, spending
74% more time on their site per session.
Another great example is
, an Indonesian news aggregator service that was app-only until they developed a PWA with feature parity to their native app. Since launching they have found it to perform even faster than their native app, and have seen comparable time spent per session:
3 minutes on average on both their mobile website and their native app.
Even developers who have only begun implementing certain PWA technologies have seen success.
a leading retailer in Saudi Arabia, implemented push notifications and saw users who opted-in returned 4x more often.
These returning users also spent 100% more than users returning from other channels.
These are just a handful of businesses that have begun reaping the benefits of investing in Progressive Web Apps.
about our how partners are using PWA technologies to enhance their mobile web experience.
to our YouTube channel to stay up to date with all the mobile web sessions from Google I/O, which we will continue to upload as they’re ready. Thanks for coming, thanks for watching, and most of all, thank you for developing for the web!
Saving data with Google’s PageSpeed Modules
Thursday, May 12, 2016
The web is a rich and diverse ecosystem, but sometimes that diversity comes at a price. Authoring a website that works quickly and correctly for all browsers, devices, and connections can be a time-consuming task.
Google’s PageSpeed Modules
, launched in 2010, enable web servers to automatically speed up sites as content is served. Two new features are available in the latest stable release of PageSpeed to accommodate the diversity of screen sizes and data connections.
Screen resolutions are a common difference among devices. Users with high-resolution screens on fast connections will love crisp, detailed images. Sending those same images to users with small screens on slow connections will unnecessarily delay the page load and waste their potentially expensive bandwidth. The HTML
attribute allows developers to specify alternative versions of an image for the browser to use depending on screen size, but they must manually add this to every image on the page, and also encode the images in several sizes. Fortunately, the latest release of PageSpeed Modules can automate this process. For example, imagine a page containing the following image element:
<img width="500" height="500" src="Beach.jpg">
encounters this, it will automatically create resized versions of the images, then rewrite the element as :
<img width="500" height="500" src="500x500xBeach.jpg..."
PageSpeed inserts 1.5x, 2x and 3x variants which provides coverage for the most common devices. It also includes the original full-size image and calculates its effective multiple
3.4x, in the above example. The original will be used by high-density displays or when zoomed in.
For users that want to save as much data as possible, PageSpeed Modules can take this one step further. Chromium-based browsers send the
when the user has indicated a desire to conserve bandwidth. Supporting this typically requires site developers to re-encode low bandwidth versions of all images and serve these just to the clients that send this header. The latest
of PageSpeed understands the Save-Data header and will automatically compress images more aggressively for these data-sensitive users.
without PageSpeed (left), and with PageSpeed and the Save-Data header (right).
Even though there are no apparent visual differences, without PageSpeed the page is 350KB and takes over a minute to load on our simulated 2G connection. With PageSpeed and the Save-Data header the page is 120KB and loads in less than 30 seconds.
These new features, along with many others to make sites smaller and load faster, are available in the
of PageSpeed Modules. Developers interested in trying it out can
download the modules
from the Google Developers site.
Posted by Steve Hill, PageSpeed Engineer and Reducer of Bytes
New APIs to help developers improve scroll performance
Tuesday, May 3, 2016
Speed has been a top priority since Chrome's first release, and it's only gotten more important as developers continue to push the boundaries of interactive web experiences. While there are many performance optimizations Chrome can make without involving the developer, sometimes it's impossible for Chrome to execute as quickly as possible without more information. In
we've introduced support for
passive event listeners
, two emerging web standards that help developers create engaging, efficient experiences.
Chrome 51 allows developers to proactively declare that an event listener won't prevent a scroll. While developers should continue to avoid long-running script to
reduce all forms of jank
Touch scrolling on cnn.com unmodified (left) and with a planned site update to make touch listeners passive (right).
Intersection Observer explainer
that an increase in performance leads to happier, more engaged users. Performance is something for everyone in the web ecosystem to care about--not just browser implementers, but also web authors. As developers of both top-level sites and embedded content make use of these new APIs, the result will be a faster web for everyone.
Posted by Rick Byers and Stefan Zager, Professional Jank Busters
ES6 & ES7 in the browser
Friday, April 29, 2016
, for example, allow developers to easily write object-oriented programs and safely
array convenience methods
iterators, and generators
to simplify asynchronous code, make control flow more expressive, and make writing bug-free code easier. Powerful features like
also give advanced developers the ability to customize language behavior to better match their application’s needs.
tag. Chromium has already started implementing this new tag, and module support will be
, making it even easier to write and ship websites with ES6 and ES7 code.
Posted by Seth Thompson, Product Manager and ECMAScript ESsayist
Chrome 51 Beta: Credential Management API and reducing the overhead of offscreen rendering
Friday, April 29, 2016
Unless otherwise noted, changes described below apply to the newest Chrome
channel release for Android, Chrome OS, Linux, Mac, and Windows.
Credential Management API
Many sites allow their users to sign in to receive personalized content. Today that requires remembering and typing credentials, which lowers account security when users reuse passwords across multiple sites. Modern browsers have credential managers that remember and autofill saved passwords, but these managers cannot account for custom login flows or remember
The latest version of Chrome now supports the
Credential Management API
, allowing sites to
interact with the browser’s credential manager
to improve the login experience for users. The API enables users to sign in with one tap and lets them automatically sign back in when returning to the site.
Signing in with one tap using the Credential Management API
Reducing the overhead of offscreen rendering
Modern websites commonly embed cross-origin content like videos, social widgets, and ads. Embedding these resources allows sites to offer compelling content experiences, but it also creates a lot of overhead that can jank the page in ways the embedding site can’t control. The latest version of Chrome
no longer runs the rendering pipeline
callbacks for cross-origin frames that are offscreen. This eliminates unnecessary work and
reduces power consumption by up to 30%
on several popular mobile sites without affecting the user experience.
Additional features in this release
Intersection Observer API
allows sites to
detect element intersections
as an asynchronous event, eliminating the need for costly document monitoring.
The latest version of Chrome supports
passive event listeners
Blobs are now
constructed and transferred to the browser asynchronously
, allowing large data files to be moved without janking the page.
allows sites to restrict cookies to requests from the same domain.
Support for the
cipher on TLS
improves security on servers that choose cipher by key size, where legacy 256-bit ciphers were used over more secure, but smaller, ciphers.
makes it easier to iterate over the elements of an array.
now infers useful names for properties and methods with computed property names,
making debugging easier with clearer labels and error messages
Iterators that are part of a
loop that terminates early now call a developer-provided
method, making it easier to respond to the end of an iteration.
built-in classes such as Array and RegExp
more powerful by allowing custom constructors to be called for derived objects.
subclasses can overwrite the
method to change the matching algorithm, making it easier to write custom subclasses.
Sites can now can implement their own
method to customize behavior of the
Sites can now retrieve a service worker’s
now fires an
, allowing the message to extend the service worker lifetime and provide more accurate message sources.
allows sites to control what information is sent in the referrer headers of
UIEvents KeyboardEvent |key|
allows sites to reliably
determine the meaning of the key being pressed
Sites can now detect the duration of batched offline audio contexts using the
SPDY and ALPN support has been removed in favor of the standards-based HTTP/2 protocol.
The ability to customize the message shown in the
has been removed
to protect users from malicious websites and align with other browsers.
Chrome on Android now uses the same media pipeline as desktop Chrome, improving
support and allowing sites to interact with the playback rate on
The latest version of Chrome improves web animations interoperability by supporting lists of values and removing dashed-names in keyframes.
requires a border style
to paint border images, improving
compliance and interoperability.
Percentages can now be used
for the sizes of flex item children.
DHE-based ciphers have been deprecated and will be removed in Chrome 52
in favor of ECDHE
ciphers to improve TLS security.
Posted by Sabine Borsay and Mike West, Authenticator's Apprentices
chrome web store
Give us feedback in our
Official Google Blog
Public Policy Blog
Lat Long Blog
Ads Developer Blog
Android Developers Blog