I've been thinking about a lot about the state of modern web development and I wanted a place to note ideas, and then over time build up them in a way that is a little more open that me just dumping them into a Google Doc and forgetting about them.
This page is the list of ideas that I've had. There are likely many old drafts dating back many years.
These documents are completely un-developed and are a snapshot of my thoughts at the time. They will be refined over time with research, education and conversations with people in the industry, and in some cases I might delete it.
There are many errors in each of these articles, including and not limited to: spelling, grammatical, ecosystem awareness understanding and plain ignorance.
If you see something you like, don't like, then @ me (paulkinlan@google.com, @paul_kinlan) - I won't be offended.
Ideas (Note: this list will always be up to date):
- Oct 10, 2022 - Not yet stable
This post explores browser compatibility data, focusing on features present in some browsers but not others. I've created a tool, "Not yet Stable," to visualize these differences and help developers understand the current web platform landscape. While high-level comparisons are interesting, the real value lies in identifying smaller, unexpected compatibility issues that can cause frustration. The tool allows for granular comparisons between specific browsers (e.g., Chrome vs. Firefox, Safari vs. Firefox) to pinpoint these inconsistencies. I've observed significant discrepancies in media-related features, such as Web Codecs API, Picture-in-Picture, and MediaStreams. The goal is to leverage this data for better understanding and ultimately improve web compatibility.
- Jul 5, 2022 - Queries used for feature policy post
This post explores the usage of Feature Policy and Permissions Policy headers on the web. The data shows that 151,159 websites set either header on mobile devices as of June 1, 2022. A more detailed analysis delves into the specific directives used within these policies, examining their prevalence across different website rankings. The queries provided offer a way to analyze the adoption of these important security headers and gain insights into how developers are utilizing them to control browser features and permissions.
- Jun 21, 2022 - Thinking about Web Platform Stability
This post discusses the challenges web developers face due to the constantly evolving web platform. It highlights the difficulty in keeping up with changes, browser inconsistencies, and the lack of clear documentation. It then outlines the efforts made to address these issues, focusing on improving communication about the web platform, enhancing compatibility and interoperability across browsers (Compat 2021, Interop 2022), and investing in better documentation like MDN's Browser Compat Data. These initiatives aim to create a more stable and predictable web development experience, fostering innovation.
- Apr 1, 2022 - This is interesting
This tool helps our team quickly bookmark and share interesting links with each other. Simply drag the provided link to your bookmarks bar to easily save and share any webpage with the team.
- Feb 4, 2022 - The web that never was
I'm starting a project to document web technologies that didn't become mainstream. For every success story, countless others fade away. I want to explore these untold stories, starting with my own experience with Web Intents. I aim to understand why some projects thrive while others don't, and share these learnings with the community. If you have a similar story, please reach out!
- Aug 17, 2021 - Developer Clarity
The pace of change in web development, particularly with APIs and browser updates, is overwhelming. The constant deprecation and breaking changes cause friction and highlight a lack of empathy for developers struggling to keep up. While frequent updates are important, the current model, exemplified by Chrome, feels too aggressive. This blog post will explore this tension, examining whether we've pushed developers too far, and discuss strategies for a more sustainable pace of change. It will also touch on platform-specific resources like web.dev and the challenge of balancing innovation with support for the broader developer community.
- Aug 16, 2021 - Wild West Web
The web's organic growth, with examples like Google Maps' early API and widespread embeddability, leads to questions about its current design. Would we recreate this structure today? Likely not. This suggests a need for change and migration, but how can this complex transition be managed effectively, especially considering the scale and interconnectedness of the web?
- May 14, 2021 - Developer Interface Guidelines
Many companies have Human Interface Guidelines (HIG) that dictate how their products should look and feel. But what about the developers? This post explores the need for Developer Interface Guidelines, proposing a framework for what that might look like and what benefits that could bring.
- May 10, 2021 - Chasing App Development from every angle
The blog post explores the current state of web development, highlighting the tension between optimization demands from major players like Google and the emergence of new, faster build tools. It expresses the author's personal experience with these new tools and their potential to streamline the development workflow.
- Apr 4, 2021 - Are developers fixing the issue identified by lighthouse
This post explores whether developers are actively addressing issues highlighted by Lighthouse performance audits. By analyzing HTTP Archive data and tracking Lighthouse scores over time, we aim to uncover potential improvements. While directly correlating specific fixes to Lighthouse test failures is challenging, we can investigate trends and infer the impact of Lighthouse on web development practices. A key consideration is the evolution of Lighthouse itself, such as changes to CPU performance calculations, which may affect the comparability of results over time.
- Apr 2, 2021 - 2020 Web
This post explores the ever-evolving landscape of web technologies and their compatibility across different browsers and platforms. It examines tools like iwanttouse.com and other resources to determine what web features can be safely used in 2021. The discussion will also include insights from industry experts like Jason and Mathias Bynens regarding JavaScript best practices. Finally, the post proposes the innovative concept of adopting a "quirks mode" but tailored to specific years, which could offer greater control over web development.
- Apr 2, 2021 - Chrome Dev Summit 2021
I'm starting to think about Chrome Dev Summit 2022. Top of mind is everyone's safety with the ongoing pandemic and how to make the event as inclusive as possible. I really value the connections and hallway track of in-person events, but also the reach of online. I loved the CDS 2020 workshops and office hours, and believe we should expand on those. Content-wise, I want to focus on what makes the web amazing, showcasing great experiences, and exploring key technologies like Core Web Vitals, Privacy Sandbox, PWAs, and Project Fugu. Also, more content alongside talks, please! And maybe shorter, more impactful online presentations?
- Apr 2, 2021 - How compatible is the web?
This post explores the concept of web compatibility and whether it can be quantified. It draws parallels to the Receiver Operating Characteristic (ROC) curve, questioning if a similar metric could represent the trade-off between compatibility and feature availability. The post also examines how browser vendors' incentives influence feature adoption and proposes leveraging compatibility data sources like caniuse and web platform tests (WPT) to prioritize compatibility improvements. Potential tools, such as a compatibility bot and automated blog updates, are suggested to highlight these improvements.
- Feb 2, 2021 - Instant SPA-without-js
akachan.app is a Single Page Application (SPA) built for instant loading without using JavaScript on the client-side. Instead, all JavaScript resides in a Service Worker and is also executable on the server. This approach offers significant performance benefits but introduces challenges regarding third-party sign-in integration and data synchronization.
- Sep 23, 2020 - MDN Browser Compatibility Report
The MDN Browser Compatibility Report 2020 surveyed web developers to identify pain points in cross-browser compatibility. Layout and styling issues, especially with Flexbox and Grid, topped the list, along with challenges related to viewport units, scrolling on mobile, and achieving consistent form styling. Internet Explorer and Safari were frequently cited as problematic browsers. While JavaScript was initially flagged as a concern, interviews revealed that transpilers like Babel largely mitigate core language issues, shifting the focus to browser APIs and their inconsistencies. The report highlighted ongoing efforts to improve compatibility, including fixes for Flexbox and Grid in Chromium and WebKit, the transition to Chromium-based Edge, and a commitment to enhancing MDN's browser compatibility data.
- Jan 3, 2017 - Fullstack Web Assembly
This blog post explores the potential of WebAssembly (Wasm) for full-stack development, allowing code sharing between client and server. I discuss how Wasm could enable progressive enhancement for web APIs like the Shape Detection API. Using this API as an example, I illustrate how a C-binding library like OpenCV, compiled to Wasm, could be used on both client and server to provide consistent functionality regardless of native browser support. This approach involves creating a wrapper around OpenCV and the target web API to bridge the gap between them. I express my excitement about Wasm's potential to simplify deployment and maintenance by enabling the use of a single binary across different environments.
- Jun 2, 2016 - Shadow DOM and Progressive Enhancement to create a Sharing component
I explored building a progressively enhanced sharing web component using Shadow DOM. My focus was on URL visibility and manipulation within web apps, even when they behave like native applications. The component is designed to be customizable and work across browsers, with or without JavaScript, by leveraging existing elements like anchor tags. It uses a Twitter intent as a fallback sharing mechanism when Web Components aren't supported. I'm excited about the potential of web components, even without widespread custom element support.
- Aug 7, 2015 - Reverse Polyfilling
This post explores the concept of "reverse polyfilling" – creating polyfills for features removed from web browsers. I argue that as the web platform matures, pruning less-used features is necessary for performance and maintainability. While this might seem disruptive to developers, reverse polyfills, combined with the principles of the Extensible Web, offer a solution. By focusing on core primitives and building higher-level features with JavaScript (potentially leveraging technologies like WebAssembly), we can create a more adaptable and efficient web platform. Reverse polyfills will become essential for both removing legacy features and implementing new ones, contributing to a progressively enhanced web experience.
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!)