Hello.

I am Paul Kinlan.

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

I love the web. The web should allow anyone to access any experience that they need without the need for native install or content walled garden.

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

Paul Kinlan

Optimizing images for the web is crucial for Core Web Vitals, but the process is overly complex. While tools like Squoosh and web.dev guides offer help, developers still struggle with image optimization. This difficulty stems from needing to consider file size, resolution, codec support, lazy loading, and more. CDNs offer a solution but introduce centralization. To simplify this, I created a prototype tool (https://just-gimme-an-img.vercel.app/) that generates optimized HTML for images, handles AVIF conversion, creates multiple image sizes, and does it all client-side using Squoosh's CLI. The tool aims to make image optimization easier and more accessible, especially for common use cases like hero images. I'm hoping this sparks further discussion and improvements in image optimization tooling to simplify the process for all developers.

Read More

FAB without JavaScript

Paul Kinlan

I built a Material Design-style Floating Action Button (FAB) without using any JavaScript. This was achieved using only HTML and CSS, leveraging anchor links and the ":target" selector to control visibility and create the open/close functionality. Clicking the FAB opens a menu with links to different actions, and clicking a close button hides the menu. This approach does have the trade-off of adding entries to the browser history, but it's a pure HTML/CSS solution for a common UI element.

Read More

Wordhelper.app

Paul Kinlan

A simple web app that helps you with Crosswords and Codewords

Read More

We need DOM APIs in Workers

Paul Kinlan

If we are to build HTML in Workers then we need some 'DOM' in them.

Read More

Minifying a Custom Element that contains inline CSS and HTML

Paul Kinlan

I couldn't find an easier way, so I built it myself

Read More

Creating a share button web component

Paul Kinlan

My adventures in creating resuable web components around sharing.

Read More

I am willing to pay someone to move my blog from Posterous.

Paul Kinlan

I love Posterous, but it's time for my blog to move on. I'm looking to hire someone to migrate my blog to a new platform. Must-haves include: static site generation, git integration, markdown/text/HTML support, preserving my current URLs and all imported posts, and full template control. Ideally, it won't be Ruby-based. I'm not concerned about hosted solutions, a fancy CMS, or comments.

Read More

When are we going to see the death of SVG?

Paul Kinlan

I have mixed feelings about SVG. I find it complex and requiring specific tools, and its integration with the web is clunky. It feels like a context switch between HTML and SVG DOM. However, SVG is scalable, vector-based, and has powerful graphical capabilities like filters and paths, enabling things not possible with regular web technologies. I wish path could be a CSS property, simplifying its usage and allowing text or even block elements to be rendered along a path. This would be more efficient than embedding SVG within HTML elements.

Read More

DOM TreeWalker

Paul Kinlan

Tired of recursive DOM traversal headaches? Check out the DOM TreeWalker API! This powerful tool lets you efficiently navigate the DOM, filtering nodes as you go. It's perfect for tasks like finding specific text nodes or elements, highlighting content, or even building Chrome extensions. I've included a simple example of how to use TreeWalker to find and linkify Twitter usernames on a page. Give it a try and see how much easier DOM manipulation can be!

Read More

Berlin GTUG: July 15th 2010

Paul Kinlan

I'm excited to announce I'll be speaking at the Berlin GTUG on July 15th, 2010, about building HTML-based applications. The talk will explore the differences between web pages and true applications, with plenty of examples. This will be my first time in Berlin, and although my visit is short, I'm looking forward to it! Slides and photos to follow.

Read More

Microformat.net

Paul Kinlan

I've released a new, open-source Microformat parser for .NET, available on Codeplex! This stream-based parser uses a flexible XML configuration to define how microformats like hCard and rel-tag are extracted from HTML/XML, allowing for easy adaptation to spec changes. The provided C# code example demonstrates the simplicity of using the framework to read and process microformat data. Feedback and contributions are welcome!

Read More

Updates

Paul Kinlan

I've been busy with side projects lately, so the blog has been quiet. One project should be released this week. Another is a .Net 2.0/ASP.Net 2.0 hosted site for examples from this blog (and to help me learn .Net). It's behind schedule, but will eventually host controls, tutorials, etc. More info soon on the first project. And, btw, the FIELDSET tag is awesome!

Read More

Microformat proposal

Paul Kinlan

I'm exploring the idea of a "Questions and Answers" microformat to add semantic meaning to questions and their corresponding answers within text. I propose using <span class=qa><span class=question>Where does paul kinlan live?</span><span class=answer>liverpool</span></span> as a potential structure. This could be beneficial for search functionality, allowing search engines to index question-answer pairs instead of entire pages. I'm looking for feedback on whether this is a valuable concept, worth pursuing, or if it has already been discussed elsewhere.

Read More

AJAX Tagger Version 2 Update

Paul Kinlan

I've been working on AJAX Tagger version 2 and it's ready for everyday use! It leverages APIs from Yahoo, Amazon, Flickr, and Technorati, along with Wikipedia and even your own site's content to find related articles. It's all AJAX-based, uses a unique request queue, and outputs in both OPML and HTML. Plus, it even suggests related Amazon products. Currently, it's IE-only, so check it out at www.kinlan.co.uk/AjaxExperiments/AjaxTag2 and let me know your thoughts! The UI/UX needs some polish, but that's next on my list.

Read More

Google Search: c# expando

Paul Kinlan

This post explores how to create JavaScript expando objects within C#. I discuss how to achieve this effect using both client-side JavaScript manipulation from C# and by adding attributes to HTML elements server-side, similar to how tooltips extend WinForms classes. I also touch upon the potential for C# 3.0 to offer this functionality natively and the possible use of Reflection and ExtenderProviders for dynamic property addition.

Read More

Idea for another Program

Paul Kinlan

I have a new program idea: an automatic tag creator for Del.icio.us, similar to my Ajax Tagging Application. It would analyze a webpage's content to suggest relevant topical tags, which you could then select and use to upload the URL and tags to Del.icio.us. I believe this would be a useful tool. What are your thoughts?

Read More

Yahoo API Developer Network

Paul Kinlan

I reported two issues with the Yahoo API over the weekend: one regarding the result number restriction not working as expected and another about the contextual term extraction API failing to process text after encountering HTML tags. Yahoo responded promptly on Monday, confirming that one issue is a bug being addressed and the other has already been fixed. I'm very impressed with their responsiveness and quick turnaround.

Read More

Developer Toolbar for IE announced at PDC

Paul Kinlan

I'm excited to announce the release of the IE Developer Toolbar, a free tool for exploring HTML documents in both IE6 and IE7. It offers features like DOM exploration, disabling IE settings, viewing element information, outlining, image control, resizing, a ruler for pixel-perfect measurements, and standards validation with links to W3C specs. Download it now and share your feedback and bug reports!

Read More

Creating a Second Blog

Paul Kinlan

I'm launching a second blog dedicated to my AJAX Tagging HTML application, which you can find here: http://www.kinlan.co.uk/AjaxExperiments/AjaxTag

Read More

Word Blogger, Things I would like to see

Paul Kinlan

As a user of the Windows Blogger Tool, I've identified some desired features for future releases. These include HTML editing before posting, image and table insertion, custom style application, accurate list creation (ordered and unordered), and proper handling of element shading. While the tool is currently not comprehensive, it serves as a decent starting point. Personally, I value control over post content, so I'll likely use it for drafting and later refinement, enabling quicker text entry without immediate tagging or styling concerns.

Read More

Blogger Tool First Post

Paul Kinlan

My first post using the new Blogger Word Blogging tool! It's easy to use and publishes really fast. I'm curious about HTML control since my AJAX tool outputs HTML. A few quirks: smiley icons show as "(", apostrophes look odd, and images/tables aren't supported. Planning a follow-up post with my feature requests.

Read More

Is there a minor problem with the way technorati parses URLs

Paul Kinlan

I noticed a lack of referrals from Technorati and discovered my blogs weren't showing up in tag searches. The problem stemmed from my Technorati AJAX application, which was using single quotes instead of double quotes around the href attribute in the tag links. I've corrected the issue by changing the single quotes to double quotes in my application, and hopefully, this will resolve the problem with Technorati. While my application is now fixed, it raises the question of whether Technorati should be able to handle both single and double quotes.

Read More

I good test to check out the alpha transparency and I missed it!

Paul Kinlan

In a previous post, I failed to test the alpha transparency feature. This post rectifies that. I've included an image with a green fade to white against a black background to demonstrate the effect. It may be garish, but it effectively showcases the alpha transparency.

Read More