Web Dev, Web Perf, and Web Platform Articles

Sample code, knowledge, and a touch whimsy on developing software for the web platform from Justin Ribeiro.

πŸ•ΈοΈ Web Dev, Web Perf, and Web Platform Articles

All the samples, thoughts, podcasts, and words I’ve written about working on the web. If you’re interested testing the edges of the latest spec, developing a new web component, or the pure adrenaline of web performance, this is the place for you.

There is a specific RSS feed available for only items tagged with “Web” available here: RSS feed. Follow along on Feedly.

Hacking the BFT Gate Control Panel with a Nest Doorbell and a Progressive Web App

β€’ 4 min read

Share to Mastodon Web Component v2.0 Released

β€’ 2 min read

Terrible Tiktok Embed Web Performance and my Imperfect Web Component Solution

β€’ 4 min read

Do Not Call It a Comeback: The Web Platform Podcast Returns

β€’ 2 min read

Syndication from Mastodon to Twitter, a Holiday of Good Will

β€’ 4 min read

ARM64 M1 Silicon Chromium Build Added to Chrome-Headless Docker Container

β€’ 2 min read

Beware the Search Results Phishing for your Holiday Gift Cards

β€’ 4 min read

Lighthouse Github Action Version 3 Released

β€’ 1 min read

The Case of the Seemingly Innocuous Change That Wrecked My Web Performance

β€’ 7 min read

lite-youtube Web Component Goes 1.0, Offers More Features

β€’ 3 min read

Pulling Google Scholar Citation Counts with a Zotero Plugin for Sorting Papers

β€’ 5 min read

Deep Into That Darkness (Mode) Peering

β€’ 5 min read

Upgrading My Web Components to Lit 2.0

β€’ 1 min read

Defining a Custom Trusted Types Policy for a Workbox Service Worker

β€’ 3 min read

Passing on the Latest Wave of Wearable Technology

β€’ 4 min read

Reducing Writing Friction With Archetype Defaults in Hugo and Blog-Pwa

β€’ 3 min read

Mr. Varied Interest or: How I Learned to Stop Worrying and Ignore the SEO

β€’ 3 min read

Replacing Firebase Web Performance Monitoring with Core Web Vitals and Google Analytics

β€’ 2 min read

The Pains of Surfing the Web on a Four Year Old Google Pixel

β€’ 4 min read

share-to-mastodon web component released

β€’ 4 min read

Building module web workers for cross browser compatibility with rollup

β€’ 7 min read

Handling web components and drag and drop with event.composedPath()

β€’ 7 min read

lite-youtube v0.9 released

β€’ 1 min read

blog-pwa gets a speed bump

β€’ 3 min read

Faster YouTube embeds with lite-youtube web component

β€’ 2 min read

Fail a PR based on any audit score with v1.1.0 of Web Performance Audits with Lighthouse Github Action

β€’ 2 min read

Web Performance Audits with Lighthouse for Github Actions Released

β€’ 3 min read

Six Months Using Firebase Web Performance Monitoring

β€’ 6 min read

Generating a Simple Font Report With a Devtools Snippet

β€’ 3 min read

Generating Video From a Chrome Devtools Trace With devtools-to-video

β€’ 3 min read

Web Components Have Already Won Whether You Like It Or Not

β€’ 4 min read

Improving RSS Reader Support and Adding New Topic Feeds

β€’ 3 min read

The Four Cases of Progressive Rendering Fallbacks for Progressive Web Apps

β€’ 3 min read

Adding Webmention support to a Progressive Web App

β€’ 9 min read

Workaround for Karma and Chrome headless on Windows Subsystem for Linux, ala WSL

β€’ 2 min read

Three Reasons You Betrayed Your Modern Web Tooling

β€’ 4 min read

Ghosting the Socials and Expanding My Open Web Existence

β€’ 4 min read

Setting Up Mastodon on Google Cloud Platform

β€’ 13 min read

Visual Studio Code extension update for LitElement snippets and new Pack available

β€’ 1 min read

The Difference Between Your Job and My Profession

β€’ 4 min read

blog-pwa Moves to GAE Python 3.7 Runtime and Other Updates

β€’ 3 min read

Fighting with Dynatrace to Send Custom User Timings with Performance Observer

β€’ 6 min read

Bringing legacy web apps forward with three great web platform APIs

β€’ 11 min read

Building a tiny PWA for calculating depth of field for my film cameras

β€’ 2 min read

Experimental barcode-reader web component released

β€’ 2 min read

stl-part-viewer web component updated to v1.0

β€’ 1 min read

code-block v0.1 web component released

β€’ 2 min read

Using Lighthouse, Puppeteer, and Jest for Web Performance Testing

β€’ 2 min read

Updating blog-pwa from Polymer to LitElement, Workbox, and Rollup

β€’ 11 min read

Working around polymer modulizer errors with object rest spread properties

β€’ 3 min read

Tiny PWAs and why I keep building them

β€’ 4 min read

Discovering the websites that never went away

β€’ 3 min read

Running progressive web apps on your intranet with TLS from Lets Encrypt

β€’ 6 min read

Added release tags for chrome-headless docker container

β€’ 1 min read

Added CSS quickfix and error reporting to lit-html-plugin for VS Code

β€’ 1 min read

How to debug a custom language service plugin for VS Code

β€’ 3 min read

Added CSS intellisense to lit-html-plugin for VS Code

β€’ 1 min read

Running lighthouse audits in VS Code via tasks

β€’ 2 min read

stl-part-viewer web component released

β€’ 2 min read

Added svg support to lit-html VS code extension

β€’ 1 min read

Chromium: long time compiler, first time committer

β€’ 2 min read

Experimental Chrome DevTools theme released, green block cursor edition

β€’ 3 min read

Polymer v2/v3 Snippets 1.0 released

β€’ 1 min read

Running Web Components Remote Conference

β€’ 4 min read

Your framework preaching offends my developer religion

β€’ 4 min read

Endangered desert tortoises and IoT Devfest Arizona

β€’ 2 min read

Published ga-dnt-analytics to webcomponents.org

β€’ 2 min read

Experimenting with a progressive web app blog

β€’ 16 min read

Controlling home devices with the Physical Web and Progressive Web Apps

β€’ 5 min read

Thoughts on progressive web apps on the desktop

β€’ 13 min read

Progressive Web Apps and Social Networks: helping linkbot scrapers

β€’ 8 min read

Testing WebNFC in Chromium

β€’ 1 min read

New Progressive Web App: Is Justin Talking?

β€’ 1 min read

Interviewing Rob Dodson about Polymer roadmap 2016

β€’ 1 min read

More talking all over the place

β€’ 1 min read

Getting Blesh beacons to advertise Eddystone URL and UID

β€’ 2 min read

Ginger WebGL as a Progressive Web App

β€’ 1 min read

A whirlwind of talks and events

β€’ 1 min read

My talk at Google I/O on Polymer and Firebase

β€’ 2 min read

Tracking uplink network throughput with SNMP to Firebase to Polymer

β€’ 2 min read

Slidedeck and codelabs for Firebase

β€’ 1 min read

Guest post on Tap into NFC developer blog

β€’ 1 min read

Getting started with Service Worker

β€’ 2 min read

A basic issue viewer Chrome extension codelab

β€’ 1 min read

Chrome Dev Summit recap: ServiceWorker, Polymer, and TLS

β€’ 2 min read

Using a Yubikey Neo as a security key in Chrome for two factor auth

β€’ 2 min read

glass-timer implementation in polymer

β€’ 5 min read

Slides and materials for GDG DevFest Fresno

β€’ 1 min read

Checking for weak SSL SHA-1 certificates

β€’ 1 min read

Attending Perf like a Pirate at SFHTML5 this month

β€’ 1 min read

Thumbor and the case of the 405 method not allowed

β€’ 2 min read

Google Domains: a better experience

β€’ 3 min read

Attending Edgeconf in September

β€’ 1 min read

Thoughts on Google I/O

β€’ 5 min read

Serving Responsive Images via Google Cloud Storage and Images Python API

β€’ 1 min read

New sample Glassware: Using a Task Queue to send future cards

β€’ 2 min read

New sample Glassware: Daily Glass Card with App Engine Cron

β€’ 3 min read

App Engine task queue and ngrok, with a splash of commenting out ModuleDoesNotExistError exception

β€’ 1 min read