Hello.

I am Paul Kinlan.

A Developer Advocate for Chrome and the Open Web at Google.

Top web developer pain points in 2021

Paul Kinlan

We survey a part of the ecosystem every quarter. Here are some of our findings.

Read More

About Me: Paul Kinlan

I lead the Chrome Developer Relations team at Google.

We want people to have the best experience possible on the web without having to install a native app or produce content in a walled garden.

Our team tries to make it easier for developers to build on the web by supporting every Chrome release, creating great content to support developers on web.dev, contributing to MDN, helping to improve browser compatibility, and some of the best developer tools like Lighthouse, Workbox, Squoosh to name just a few.

Sorry Safari team

Paul Kinlan

We shared some incorrect data at Chrome Dev Summit. Here's my apology and what lead to the mistake.

Read More

Chrome 100 - Does it break user agent checking?

Paul Kinlan

Does the 100 in the User Agent break anything?

Read More

Browser Compat Data - developer gold

Paul Kinlan

MDN created Browser Compat Data and it's a goldmine. We should be using it a lot more

Read More

Building an NPM downloads dashboard with Google Sheets

Paul Kinlan

I'm in the lucky position that our team is very productive and we've built a lot of amazing tools on NPM that developers for the most part love to use. The manager in me likes to quickly get a picture of how the web is doing, and how the work that our team does is going, so I end up building a lot of dashboards. One area that was a frustration was that I would have to go through each of our teams NPM modules by hand and see how they are doing.

Read More

Getting Feedback in to Chrome: Web Developer Insights Community

Paul Kinlan

How do we get your feedback in to the Chrome Web Platform team?

Read More

The unofficial way to embed Squoosh into your web app.

Paul Kinlan

I wanted the functionality of Squoosh, but in my web app. Here's how I did it.

Read More

Putting an image on the page is easy, until it's not

Paul Kinlan

It should be easier to put an image on the page.

Read More

My Drafts

Paul Kinlan

I want to share my thinking with you, and to refine my thoughts with feedback from developers.

Read More

Web Developers. Want help? I want to help. Book a meeting with me.

Paul Kinlan

After the Chrome Dev Summit, I had the chance to take some time off and spend it with my family, and during the downtime I got to think about all that has happened over the last year. I'm incredibly proud of my team and how they responded to the crisis that hit the world this year - we built tools like web.dev/covid to give developers advice on how to keep sites up and running, set up a forum for public services support during the lock-downs; ran web.

Read More

Creating a quick launcher for Android using the web

Paul Kinlan

The web is a powerful thing, with the right capabilities you can create tools and services that can be deployed without a central authority and can also deeply integrate with the peoples devices. I love being able to tinker and scratch an itch quickly. The itch in question was that I'm a heavy user of .new domains and I wanted a quick way to have access to them on my Android home screen so that I can start a task without having to find the app, go through its menus and then create the "new" thing.

Read More

Bookmarklet to download all images on a page with the File System API

Paul Kinlan

My daughter is attending nursery school and every day they post photos of the baby to a special portal so we can see what she has been doing. The web site, is, err, well... functional. However they block the ability to download the photos in their UI, I've no clue why, but it's super frustrating. I love Bookmarklet because they let me quickly augment a site without having to build a full extension, and this is no exception.

Read More

FAB without JavaScript

Paul Kinlan

Just after my daughter was born we needed a simple way to track "Baby Habits" (Read: Eat, Poop, Wee, Sleep, and maybe a bit of Vom). During my baby duties when the baby was asleep I built Akachan.app to help us keep on top of things. I wanted this app to load instantly, and given that JavaScript is one of the biggest contributors to a slow page load, I gave myself the challenge to build Akachan as a SPA without client-side JS (more in another post), which for the most part I was able to do this with traditional POST's and a hefty amount of Service Worker logic.

Read More

Simulating Apache mod_include for Vercel

Paul Kinlan

I run a static site, it's built with Hugo and hosted on the edge with Vercel. Sometimes, I just want to include a small piece of server-side logic (Copyright notice anyone?) without having to spin up a complex node server or api endpoints. Sometimes I want to be able to drop a small piece of dynamic content in one single page on my static site. That's what I loved about Apache mod_include.

Read More

I finished reading my first book in Japanese today

Paul Kinlan

I've been learning a bit of Japanese for a little while now and whilst I find it very hard, I was quite happy to have read this book to my daughter today though!

Read More

I love that my printer advertises to me

Paul Kinlan

Read More

Streaming Templates in node and the browser

Paul Kinlan

I'm currently building a simple web app and I needed a simple templating engine that can stream dynamically generated responses to the network. It's hard to build sites that are fast. One known pattern for building sites that render quickly is to ensure that the browser gets the HTML as quickly as possible. Yet, many of the tools (middleware and templating engines) that developers use to build sites wait for the response from the server application to be completely created before they are put on to the wire and send to the client.

Read More

Shiming Request.formData in Safari

Paul Kinlan

I'm currently building a simple CRUD client-side only data logger PWA that contains no client-side JavaScript apart from what is inside the service worker. To do that I am following basic REST principles, and just using the Form element to submit data to the service-worker that then stores in it IndexedDB and renders the results back out to the client. I will explain more in another post, but in this post I want to quickly document how I fixed an issue in Safari.

Read More

:D tabs open

Paul Kinlan

Idly browsing the web whilst I'm on paternity leave and saw that I have a lot of open tabs. :D

Read More

Twitter is using PWA shortcuts

Paul Kinlan

I thought this was rather cool and I discovered it by accident, but it looks like Twitter implemented shortcuts. It's great to see web sites and web apps being able to do things that users expect installed applications to be able to do.

Read More