Chrome 56 is the first release of 2017, and like always, it has a fair amount of new features for both users and web developers. This release is focused primarily on Web Bluetooth and improvements to Android Pay on the web (through the Web Payments API), so let's dig in and have a look.
New Tab page
Back in August 2016, Google started working on adding recommendations to the New Tab page. This finally shipped in Chrome 54, replacing the Bookmarks and Recent Tabs shortcuts with a list of recommended articles. I wasn't a fan of the change, and going by the comments on our guide to turn it off, neither were many of you.
Perhaps someone on the Chrome team was paying attention, because the New Tab page has been updated once again. The recommended articles section is still there, but links to recent downloads and bookmarks have been added as well.
I would have preferred a list of Recent Tabs replace the Downloads list, but this is still a great improvement over the previous design. You can also hold down on a recommended article or bookmark to save it for offline use.
Automatic email, address, and number detection
Copying and pasting is such a chore, isn't it? With Chrome 56, email addresses, phone numbers, and physical addresses are now automatically detected. This means that you can tap an email address to open your email application (with the recipient added for you), tap an address to search it in Google Maps, and tap a phone number to call it.
This kind of functionality has been present on Safari for iOS as long as I can remember, but there it only works with phone numbers. However, Safari does underline phone numbers to indicate they are links, while Chrome gives no visual indication until you press it. In addition, pressing phone numbers in Chrome only provides the option to call - no option for starting an SMS message.
Web Bluetooth API
As you might guess from the name, the Web Bluetooth API allows web apps on Chrome to communicate with supported Bluetooth devices. This API has been in development for quite some time, but only now is available in the stable Chrome channel.
Once you grant Bluetooth permission to Chrome, sites can request access to nearby Bluetooth Low-Energy (BLE) devices. Developers can use the Bluetooth API to communicate with the device, using the GATT protocol.
To keep the API from being abused, websites that ask for Bluetooth permission have to be served over HTTPS. In addition, a user gesture (such as pressing a button on a page) is required to discover nearby devices, it cannot be done automatically in the background. You can try out a few demos of the API here.
WebVR as an origin trial
In the past year, Google has focused on making virtual reality a better user experience. At Google I/O 2016 the company introduced Daydream VR mode in Android Nougat, which is a far better VR experience than Google Cardboard ever was. Google is continuing this trend by adding WebVR support to Chrome, arriving in Chrome 56 as an origin trial.
WebGL, a subset of OpenGL that allows web pages to render 3D graphics, has been around for years. With WebGL and WebVR, web pages can create immersive 3D environments at high frame rates (if you have a decent device, that is). Below is one of the demos, running at a smooth 60FPS on my Google Pixel once everything is loaded (the recording itself is not 60FPS).
Viewing works equally well in all VR headsets - whether it's a Google Cardboard or a Daydream VR headset. Developers can also choose to use the Daydream controllers, Google Cardboard button, and other input devices as controllers.
While WebVR in Chrome 56 does not require enabling any flags in Chrome settings to use, the WebVR API is still under development, and as such the feature is marked as an origin trial. This means that websites have to whitelist themselves with Google to use the feature. If you have Chrome 56, you can try out some WebVR samples here.
Payment Request API (Android Pay)
Back in Chrome 53, Google added support for the Payment Request API to Chrome. This feature allows users to pay for online items with Android Pay, like Apple supports with Safari on iOS/Mac. The API is still under development, much like WebVR, and there are a few changes shipping with Chrome 56.
Firstly, developers can now set the price of an item as 'pending,' to indicate the price is not fully determined yet. This should be helpful in cases where shipping or tax amounts can change the end cost of a product. In addition, developers can also specify if an item will be delivered or requires pickup, and check if there is an active payment method available before asking the user.
In addition to all the above changes, there are several smaller features that web developers can use with Chrome 56. Here are a few noteworthy ones:
- System font: Developers now can use the 'system-ui' font to match the user's operating system font (more info).
- CSS 'position: sticky': You've probably seen a website with content (like a header) that is stationary in a page until you scroll past a certain point, then stays on the screen. This allows developers to achieve that functionality with only one line of code (more info).
- FLAC support: Playing the FLAC audio codec is now supported with Chrome 56.
- Notification images: Web pages can now send notifications with images (example).
The APK is signed by Google and upgrades your existing app. The cryptographic signature guarantees that the file is safe to install and was not tampered with in any way. Rather than wait for Google to push this download to your devices, which can take days, download and install it just like any other APK.
- Google Developers