Jeff Posnick

Jeff Posnick

Web DevRel at Google

Filter by:

Filter by:

Type

Filters

URLPattern brings routing to the web platform

An approach to standardizing common pattern matching use cases.

Compute Pressure API

Compute Pressure offers high-level states that represent the pressure on the system. It allows the implementation to use the right underlying hardware metrics to ensure that users can take advantage of all the processing power available to them as long as the system is not under unmanageable stress.

Using WebTransport

WebTransport is an API offering low-latency, bidirectional, client-server messaging. Learn more about its use cases, and how to give feedback about the future of the implementation.

Indexing your offline-capable pages with the Content Indexing API

Your PWA might cache articles and media files, but how will your users know that your pages work while offline? The Content Indexing API is one answer to this question. Once the index is populated with content from your PWA, as well as any other installed PWAs, it will show up in dedicated areas of supported browsers.

Richer offline experiences with the Periodic Background Sync API

Periodic Background Sync enables web applications to periodically synchronize data in the background, bringing web apps closer to the behavior of an iOS/Android/desktop app.

Jeff Posnick Joe Medley

Jeff Posnick, Joe Medley

Fresher service workers, by default

HTTP requests that check for updates to the service worker script will no longer be fulfilled by the HTTP cache by default, and imported scripts can trigger the service worker update flow.

Tweaks to cache.addAll() and importScripts() coming in Chrome 71

Some small changes are coming to cache.addAll() and importScripts and in Chrome 71.

Beyond SPAs - alternative architectures for your PWA

Building a Progressive Web App doesn't mean building a single page app! Read about alternative architectures for content-focused PWAs, to help you make the right decision for your use case.

Estimating Available Storage Space

navigator.storage.estimate() gives you insight into your web app's storage constraints.

Once upon an event listener

addEventListener now supports a once option, making it easier to define events that clean up after themselves.

auxclick is coming to Chrome 55

A new auxclick event will be fired for non-primary mouse button clicks.

Cross-origin Service Workers - Experimenting with Foreign Fetch

Third-party services can start deploying their own network request handlers.

CacheQueryOptions Arrive in Chrome 54

The full set of CacheQueryOptions are supported, making it easier to find the cached responses you're looking for.

Offline google analytics made easy

The sw-offline-google-analytics library gives you everything you need.

Stream Your Way to Immediate Responses

Start processing your service worker responses ASAP, thanks to ReadableStreams.

What’s new with KeyboardEvents? Keys and codes!

Two new attributes bring consistent keyboard event handling to the web.

Device Orientation Changes Are Coming to Chrome 50

DeviceOrientationEvent uses relative degrees, and there's a new DeviceOrientationAbsoluteEvent.

Prioritizing Your Resources with link rel='preload'

Chrome 50 adds support for rel='preload', and deprecates rel='subresource'.

HTMLMediaElement.play() returns a promise

Say goodbye to automatic playback uncertainty! play() now returns a Promise.

High resolution timestamps for events

Find out when events occur with microsecond precision, thanks to DOMHighResTimeStamp.

Generators - the gnarly bits

An exploration of ES6 Generators.

Collecting and iterating, the ES6 way

Maps, Sets, and for...of iteration are ES6 features that can change the way you work with collections of data.

Easier ArrayBuffer to String conversion with the Encoding API

The native Encoding API offers a straightforward way to convert between raw binary data and JavaScript strings.

This site uses cookies to deliver and enhance the quality of its services and to analyze traffic. If you agree, cookies are also used to serve advertising and to personalize the content and advertisements that you see. Learn more about our use of cookies.