Hello.

I am Paul Kinlan.

I lead the Chrome and the Open Web Developer Relations team at Google.

Weekly Web Development links

Reading time: 2 minutes

A weekly run-down of some interesting things that I have found Read More

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.

I love to learn about what you are building, and how I can help with Chrome or Web development in general, so if you want to chat with me directly, please feel free to book a consultation.

I'm trialing a newsletter, you can subscribe below (thank you!)

The discovery problem.

Reading time: 4 minutes

Does the discovery problem of app stores, search and everywhere else only affect those who don't or can't market? Read More

Weekly Web Development links number 5

Reading time: 2 minutes

A weekly run-down for Feb Read More

Eye-dropper in Chrome Devtools for quickly picking colors from the web page

Reading time: 1 minute

TIL: Use eye dropper directly on the web page. Read More

What happened to Web Intents?

Reading time: 11 minutes

TL;DR It's a long story; I learnt a lot. Read More

2 Factor Auth for physical transactions with Service Worker and Push Notifications

Reading time: 2 minutes

Is it possible to build a 2 factor authentication system on the web? I think it is. Read More

Walking, talking and ideas for web apps

Reading time: 5 minutes

How do you find ideas for web apps and why is it important to build apps that push the platform? Read More

The future of communications apps is on the web

Reading time: 5 minutes

It might be a hard sell, but there are number of advantages to using the web. Read More

What do people want from a news experience?

Reading time: 5 minutes

It might be surprising. But it's all possible on the web. Read More

Living with Web Apps

Reading time: 15 minutes

A spent a while living just with web apps. Here is my report. Read More

This is the web platform

Reading time: 12 minutes

This is the web platform Read More

Add to home screen is not what the web needs. Is it?

Reading time: 3 minutes

Maybe? :) Read More

Using the Github API to optimise your workflow

Reading time: 5 minutes

We've done a lot of work using Github in the recent past and here is some of the work that we have optimised. Read More

Auto-deploying Jekyll via Github

Reading time: 2 minutes

This post announces the implementation of automatic deployment for this blog, powered by Jekyll (Octopress) and GitHub WebHooks. The previous workflow involved local editing, committing to GitHub, and deploying via SSH using rake deploy. The new process leverages GitHub WebHooks and a modified version of Github-Auto-Deploy to automatically pull, build, and deploy changes upon pushing to the GitHub repository, simplifying the deployment process and eliminating the need for terminal access and SSH keys. Read More

Detecting critical above-the-fold CSS

Reading time: 3 minutes

I recently used Page Speed Insights for Mobile to improve my blog's page load time and one of the key recommendations was to reduce render-blocking CSS above the fold. This led me to explore the concept of critical CSS, which is the minimum CSS required to render the initial view of a page. I developed a proof-of-concept tool (bookmarklet and devtools snippet) that analyzes the DOM and extracts the critical CSS by iterating through visible elements and using window.getMatchedCSS(). This tool helps identify unnecessary CSS, integrate into build processes for optimization, and potentially generate page-specific CSS files for improved performance. It currently has limitations, working only in WebKit/Blink, ignoring media queries, and not handling pseudo-elements. Read More

Hackathons don't win you customers

Reading time: 2 minutes

I've run hackathons and learned they're not for winning customers. They're not about startups or brand awareness. They're about learning and improving your product. Treat them like beta tests where developers help find bugs and make your platform better. Focus on making your platform valuable and easy to integrate with. Reward developers for providing feedback, not just cool demos. Read More

Another experiment in creating a mobile friendly table of contents

Reading time: 4 minutes

I've been working on making html5rocks.com more mobile-friendly, focusing on reducing "Time to first read". The main culprit was the Table of Contents (ToC). My initial experiment with an offscreen ToC using CSS had cross-browser inconsistencies. Now, using existing JS, the ToC is fixed to the footer and toggled into view. I'm still exploring pure CSS solutions. Initially, I favored a small scrollable ToC at the bottom, but Paul Lewis suggested a full-screen ToC, which proved better. It minimizes distractions and clutter, provides more screen space for a readable, easily navigable ToC with larger touch targets and subtle hierarchy, even for long lists. The before/after screenshots demonstrate the improvement. Read More

Experiments in buildinig a mobile friendly table of contents

Reading time: 4 minutes

I'm experimenting with mobile-friendly table of contents designs for HTML5Rocks. The current ToC takes up too much screen space, hindering access to content. My goal is to improve user experience by getting readers to the content faster. My "Bottom ToC" experiment anchors the ToC to the bottom, expanding on tap and collapsing when the main content is tapped. It uses position: fixed and the :active pseudo-class, requiring no JavaScript and keeping the rendered HTML consistent between desktop and mobile. Though it has minor scrolling issues, it effectively minimizes initial ToC screen coverage while remaining accessible. Read More

Installing Chrome for Android on an emulator

Reading time: 2 minutes

Installing Chrome for Android directly onto an emulator isn't possible, as it's only available via the Play Store. However, you can install the Chromium Test Shell, an open-source, functional version of Chromium without Chrome's usual interface. Although it lacks features like bookmarking and sync, it supports remote debugging. Find recent builds online and install them via adb. I've even created a script to automate downloading, extracting, and installing the latest Chromium Test Shell build, available on GitHub. Read More

Screen Recording from your Android device

Reading time: 2 minutes

For our Google I/O 2013 talk, we needed a way to seamlessly showcase live demos on an Android device. Projector switching was clunky, so we pre-recorded the demos for smoother transitions. This post details our process. We used a Blackmagic Intensity Shuttle to capture high-quality HDMI output from a Galaxy Nexus (which thankfully doesn't enforce HDCP on HDMI). This setup, along with the Orientation Control app to maintain portrait mode, allowed us to create polished, in-line video demos. While this solution isn't cheap, the quality and seamless integration were worth the investment. Read More