Schedule local notifications that don’t require a network connection with the Notifications API

As of Chrome 80, the Notifications API became available as an Origin Trial. The problem with the Push API is that it’s not reliable for triggering notifications which must be shown when a particular condition, like time or location, is met. Notification triggers solve this problem by letting you schedule notifications with their triggering condition …

A Peek at the Future of GraphQL

Talk by Robert Zhu, member of the GraphQL Working Group (amongst other things). Since the formation of the GraphQL Foundation last year in March, we have been working on creating a resilient process to govern the GraphQL ecosystem and language evolution. In this talk, I will discuss the roles and responsibilities of the GraphQL Foundation, …

About the HTTP Expect: 100-continue header …

TL;DR HTTP clients may send a Expect: 100-continue header along with POST requests to warn the server that they’re about to send a large(ish) payload. At that point the server can: Decline, by sending back 401/405 and successively closing the connection. Accept, by sending back 100 Continue, after which the client will send over the …

New WebKit Features in Safari 13.1

This year’s spring releases of Safari 13.1 for macOS Catalina, iPadOS, iOS, and watchOS bring a tremendous number of WebKit improvements for the web across Apple’s platforms. All of this with many more updates for improved privacy, performance, and a host of new tools for web developers. These features stand out to me: Pointer and …

Bring the magic of Snapchat Lenses to your live streams and video chats with Snap Camera

Snap Camera is a desktop application by the Snapchat folks which allows you to apply their filters (“Lenses” as they call it) onto your webcam footage. The cool part is the fact that the app also exposes itself as a webcam to your system. That way you can use the (fake) Snap Camera as the …

This Video Has $viewcount Views

Tom Scott has uploaded a video to YouTube whose title reflects the number of views the video has. The title of this video should change with the times. But nothing lasts forever: here’s the story of how I made it work, why it used to be easier to make that work, and how it all …

The Beginner’s Guide to React

Speaking of Kent C. Dodds in the previous post: he has updated his The Beginner’s Guide to React on Egghead to include Hooks and the whole lot. This course is for React newbies and anyone looking to build a solid foundation. It’s designed to teach you everything you need to start building web applications in …

useAbortController – A React Hook to work with the AbortController

Kent C. Dodds recently floated this snippet around, a React Hook to easily work with the the AbortController: function useAbortController() { const abortControllerRef = React.useRef() const getAbortController = React.useCallback(() => { if (!abortControllerRef.current) { abortControllerRef.current = new AbortController() } return abortControllerRef.current }, []) React.useEffect(() => { return () => getAbortController().abort() }, [getAbortController]) const getSignal = …

Methods for assigning an accessible name to a form control

Adrian Roselli: Too often folks will grab ARIA first to provide an accessible name for a thing. Or they may sprinkle hidden content around a form. In most cases the impact of those decisions is unknown. The assumption that they do the same thing, give the same output to all users, is wrong. In short, …