Learn Measure Blog About

Blog

Our latest news, updates, and stories for developers

The Web Bundle logo

Get started with Web Bundles

Kenji Baheux
Yusuke Utsunomiya
Yusuke Utsunomiya, Kenji Baheux

Share websites as a single file over Bluetooth and run them offline in your origin's context

Colorful airplanes flying in sync

Richer offline experiences with the Periodic Background Sync API

Joe Medley
Jeff Posnick
Jeff Posnick, Joe Medley

Sync your web app's data in the background for a more native-like experience

A hand sharing a web.dev article.

Share like a native app with the Web Share API

Joe Medley
Joe Medley

Web apps can use the same system-provided share capabilities as native apps.

A hand sharing a web.dev article.

Receiving shared data with the Web Share Target API

Joe Medley
Pete LePage
Pete LePage, Joe Medley

Sharing on mobile made simple with the Web Share Target API

OYO Lite: a TWA with the best of web and Android apps

Michael Friesenhahn
Ankit Jain
Ankit Jain, Michael Friesenhahn

How a hospitality startup built an Android app that relies on web content to dramatically increase user engagement and keep file size low

AirSHIFT's logo.

Five ways AirSHIFT improved their React app's runtime performance

Yusuke Utsunomiya, Yosuke Furukawa, Satoshi Arai, Kento Tsuji

A real-world case study of React SPA performance optimization.

A person using a virtual reality headset.

Virtual reality comes to the web

Joe Medley
Joe Medley

A few basics to prepare you for a spectrum of immersive experiences: virtual reality, augmented reality, and everything in between.

SameSite cookie recipes

Rowan Merewood
Rowan Merewood

Update your site's cookies to prepare for the upcoming changes to the SameSite attribute's behavior.

A long-exposure shot of a moving subway train and advertisement posters at the station photo.

Fast ads matter

Gustav Ernberg von Heijne, Jonathon Imperiosi, Rob Hazan, Beng Eu

Learn how improving ad speed can increase revenue and makes users happy, and how to approach ad speed improvements.

A drawing of a woman using OTP to log in to a web app.

Verify phone numbers on the web with the SMS Receiver API

Eiji Kitamura
Eiji Kitamura

Help users type OTPs received through SMS

A wall with a bunch of image frames in different sizes.

Preloading responsive images

Yoav Weiss
Yoav Weiss

Starting in Chrome 73, link rel="preload" and responsive images can be combined in order to load images faster.

Fixing layout instability

Rick Viscomi
Rick Viscomi

A walkthrough of using WebPageTest to identify and fix layout instability issues.

A pile of photos.

Optimize images with Thumbor

Katie Hempenius
Katie Hempenius

Thumbor can be used for free to resize, compress, and transform images on-demand.

A screenshot of PROXX

Techniques to make a web app load fast, even on a feature phone

Surma
Surma

How we used code splitting, code inlining, and server-side rendering in PROXX.

A black screen shows development work..

Smarter custom properties with Houdini’s new API

Sam Richard
Sam Richard

Transitions and data protection in CSS

Prefetch resources to speed up future navigations

Demian Renzulli
Demian Renzulli

Learn about rel=prefetch resource hint and how to use it.

A description of the hero image for screen reader users.

Going beyond images with basic video for the web

Doug Sillars
Doug Sillars

Learn basic video. Increase engagement.

Game design, business and tools for modern web games.

Ready Player Web

Tom Greenaway
Tom Greenaway

Building games for the modern web.

Image of hard disk platters

The Native File System API: Simplifying access to local files

Pete LePage
Pete LePage

The new Native File System API allows web apps to read or save changes directly to files and folders on the user's device.

Multiple Shifting Gears.

Progressive Web Apps in multi-origin sites

Demian Renzulli
Demian Renzulli

Challenges and workarounds for building Progressive Web Apps in multi-origin sites.

The Truebil logo and a screenshot of the Truebil Lite web app.

How Truebil made the web its channel of growth

Harleen Batra
Harleen Batra

A startup's story of building a best-in-class web experience.

A pile of photos.

How to install the Thumbor image CDN

Katie Hempenius
Katie Hempenius

Thumbor can be used for free to resize, compress, and transform images on-demand.

Third-party JavaScript performance

Milica Mihajlija
Milica Mihajlija

Find out how third-party JavaScript can affect performance and what you can do to keep it from slowing down your sites.

DJ mixer controls.

More capable form controls

Arthur Evans
Arthur Evans

With a new event, and custom elements APIs, participating in forms just got a lot easier.

Telephone on yellow background.

A contact picker for the web

Pete LePage
Pete LePage

The Contact Picker API provides an easy way for users to share contacts from their contact list.

Phone outline with loading image and assets

Native lazy-loading for the web

Houssein Djirdeh, Addy Osmani, Mathias Bynens

Browser-level native lazy-loading is finally here!

Adam's Creation by Michelangelo on Sistine Chapel ceiling

Establish network connections early to improve perceived page speed

Milica Mihajlija
Milica Mihajlija

Learn about rel=preconnect and rel=dns-prefetch resource hints and how to use them.

A view through a rain-covered foggy window.

Create OS-style backgrounds with backdrop-filter

Joe Medley
Adam Argyle
Adam Argyle, Joe Medley

Blurring and color shifting behind an element.

A photograph of a half-painted wall.

Keeping things fresh with stale-while-revalidate

Jeff Posnick
Jeff Posnick

An additional tool to help you balance immediacy and freshness when serving your web app.

Guess.js logo

Faster web navigation with predictive prefetching

Minko Gechev
Minko Gechev

Learn about predictive prefetching and how Guess.js implements it.

The OpenSooq logo next to a smartphone displaying the OpenSooq website.

How OpenSooq increased engagement by investing in the web

Harleen Batra
Harleen Batra

Learn how a small team achieved big wins by creating a compelling marketplace PWA.

Clipboard with shopping list

Image support for the async clipboard API

Thomas Steiner
Thomas Steiner

The Asynchronous Clipboard API now handles some images, in addition to text.

Silhouette photo of a mountain during nighttime, photo by Nathan Anderson on Unsplash.

prefers-color-scheme: Hello darkness, my old friend

Thomas Steiner
Thomas Steiner

Overhyped or necessity? Learn everything about dark mode and how to support it to the benefit of your users!

Top tips for web performance

Sam Dutton
Sam Dutton

Use srcset to automatically choose the right image size.

An illustration of a service worker interacting with a cache.

Bringing service workers to Google Search

Jeff Posnick
Jeff Posnick

The story of what shipped, how the impact was measured, and the tradeoffs that were made.

A globe with code overlaid

How we're bringing Google Earth to the web

Jordon Mears‎
Jordon Mears‎

Improving cross-browser access to Google Earth with WebAssembly.

A wooden spoon, full of salt.

Web components: the secret ingredient helping power the web

Arthur Evans
Arthur Evans

Web components at I/O 2019

Use Lighthouse for performance budgets

Katie Hempenius
Katie Hempenius

Aircraft instrument panel, photographer Arie Wubben via unsplash.com

The value of speed

Lina Hansson
Lina Hansson

Show stakeholders how site speed improvements can increase revenue.

Transfering money from a phone

Updates to the Web Payments APIs

Rouslan Solomakhin, Danyao Wang, Eiji Kitamura

Stay up to date on what's new in Web Payments.

Youtube application screenshot

How YouTube improved video performance with the Media Capabilities API

François Beaufort
François Beaufort

Ensuring buttery smooth video playback across all devices.

A man at a whiteboard draws a flow diagram depicting shopping cart abandonment.

How can performance improve conversion?

Martin Schierle
Martin Schierle

Optimize your site's performance and improve conversions.

A pile of gears.

Making JavaScript and Google Search work together

Lizzi Harvey
Martin Splitt
Martin Splitt, Lizzi Harvey

Get the latest updates and insights from Google I/O 2019.

Service workers lining up.

Service worker mindset

Dave Geddes
Dave Geddes

How to think when thinking about service workers.

A row of shopping carts.

What should you measure to improve performance?

Martin Schierle
Martin Schierle

Strategies to measure performance at each stage in the purchase funnel.

A description of the hero image for screen reader users.

Image policies for fast load times and more

Luna Lu
Luna Lu

Use optimized image policies to ensure your site is using the best performing images.

A flatlay photo of wrenches and screwdrivers.

Extract critical CSS

Milica Mihajlija
Milica Mihajlija

Learn how to improve render times with critical CSS technique.

An hourglass with sand pouring through it

Are long JavaScript tasks delaying your Time to Interactive?

Addy Osmani
Addy Osmani

Learn to diagnose costly work preventing user interaction.

Speedometer on a retro car

Speed at scale: what's new in web performance?

Addy Osmani
Katie Hempenius
Katie Hempenius, Addy Osmani

Learn about three new web performance launches from I/O 2019.

a logo image of PROXX.

Introducing PROXX

Mariko Kosaka
Mariko Kosaka

A game of proximity, inspired by minesweeper.

SameSite cookies explained

Rowan Merewood
Rowan Merewood

Secure your site by learning how to explicitly mark your cross-site cookies.

A series of screens shows a phone camera scanning an image and generating a link.

Visual searching with the Web Perception Toolkit

Joe Medley
Joe Medley

Easy to use real-world interactivity.

A logo of Portals

Hands-on with Portals: seamless navigation on the Web

Yusuke Utsunomiya
Yusuke Utsunomiya

Learn how the proposed Portals API can improve your navigation UX.

Image of laptop with mouse pointing to checkout button on a web page

How to report metrics and build a performance culture

Martin Schierle
Martin Schierle

Understand why performance matters when it comes to conversion.

A group of colorful hot air balloons launching into the sky.

web.dev at I/O 2019

New look. New docs. New blog!

QR code being scanned by a mobile phone

The Shape Detection API: a picture is worth a thousand words, faces, and barcodes

Thomas Steiner
Thomas Steiner

The Shape Detection API detects faces, barcodes, and text in images.

mobile device with app panel open

Is your native app installed? getInstalledRelatedApps() will tell you!

Pete LePage
Pete LePage

The getInstalledRelatedApps() method allows your web app to check whether your native app is installed on a user's device, and vice versa.

Stay awake with the Wake Lock API

Thomas Steiner
Pete LePage
Pete LePage, Thomas Steiner

The Wake Lock API provides a way to prevent devices from dimming or locking the screen when an application needs to keep running.

Phone showing several notification badges

Badging for app icons

Pete LePage
Pete LePage

The Badging API allows installed web apps to set an application-wide badge on the app icon.

Discover performance opportunities with Lighthouse

Kayce Basques
Kayce Basques