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.

Claude Breadboard Kit

Paul Kinlan

Claude Breadboard Kit - a simple way to interface with the Claude API

Read More

Post Deploy Webhook for Vercel

Paul Kinlan

I needed to find a way to send webhooks after a successful deployment on Vercel, which wasn't a built-in feature. Since Vercel integrations can listen for deployment events, I created one to solve this. It's a simple tool hosted on GitHub that lets you set up custom webhooks for your Vercel projects. It's not on the Vercel Marketplace, and it's more of a workaround until Vercel natively supports deployment webhooks. Check out the GitHub repo for instructions on setting it up with Firebase Firestore.

Read More

Hyperlinking Beyond the Web - CSS-Tricks

Paul Kinlan

I explored the power of hyperlinks beyond traditional web pages, emphasizing their potential to connect apps and websites more seamlessly. Current linking methods, while fundamental to the web's interconnected nature, fall short of the ideal. I advocate for expanding the capabilities of registerProtocolHandler to access native schemes system-wide, enabling websites to handle various content types and register as system file handlers. Furthermore, I propose a richer vocabulary of link actions beyond 'VIEW', such as 'PICK', 'SAVE', and 'EDIT', to better define website and app capabilities, similar to Android Intents and Siri's functionality. Tools like Comlink inspire this vision by simplifying cross-app communication, paving the way for link-driven function discovery and a more integrated online experience.

Read More

The Web is my API

Paul Kinlan

I've always been fascinated by the potential of the web as an API, an idea I first encountered through Michael Mahemoff's work with microformats and CORS. While technologies like Web Intents explored similar concepts, they proved more complex. The core idea remains powerful: enabling direct client-side interaction between websites to bypass the complexities of server-side integrations. Although CORS is widely supported, its complexity hinders adoption. With the rise of client-side generated sites, the need for decentralized integration is stronger than ever. Tools like Comlink, by abstracting the complexities of postMessage and MessageChannel, make it easier to expose and consume client-side APIs. I demonstrated this with a simple example integrating a pubsubhubbub endpoint with a push notification service. This approach offers several advantages, including simplified data transfer, offline capabilities, and secure, controlled exposure of functionality. Looking ahead, I envision a future where every website exposes a consistent, discoverable API, enabling a more interconnected and modular web experience.

Read More

Every browser should support a style of 'intent:' URL syntax

Paul Kinlan

Custom URL schemes for launching apps have limitations: single app handling, one-way data flow, lack of fallback, and limited mobile support. A better approach is needed, one that offers user choice, developer fallback, diverse data transport, web app registration, and online/offline functionality. Android's 'intent:' URL syntax offers a good starting point, abstracting service discovery and supporting fallback URLs. I propose exploring a new 'action:' scheme or 'web+action' to bridge web and native apps, providing a unified service resolution and registration system for a richer, more integrated user experience.

Read More

Web Intents: A fresh look

Paul Kinlan

Web Intents is a new project designed to solve the problem of web application integration. Inspired by Android's intent system, it allows developers to build features without needing to integrate with every possible 3rd party service. Web Intents lets users choose their preferred service for actions like image editing or sharing. The project has been revised with a simplified API to make integration easier for developers, requiring minimal code. Service registration is done via a new tag, and client initiation is also streamlined. Check out the examples at http://examples.webintents.org/ and share your thoughts as we work with Mozilla to refine this game-changing approach to web development.

Read More

A couple of things that I would love to see

Paul Kinlan

I'm looking for a few web services that don't seem to exist yet. First, a way to save my Twitter favorites to Instapaper (or similar services). Second, a webhook that sends content to Instapaper, as I dislike relying on third-party app integrations. Finally, a service that sends full RSS feed content directly to my email inbox in near real-time using pubsubhubbub. Existing services only send partial archives. If I can't find these, I might build them as open-source projects.

Read More

Integrating Google calendar in your website

Paul Kinlan

This blog post shares a method for integrating Google Calendar into a website using PHP and JavaScript, based on an article from ajax.phpmagazine.net. The author also expresses interest in syncing their Blogger blog with their calendar.

Read More

Will Blogger Integrate with GData

Paul Kinlan

Google's new data protocol, GData, has me wondering about the future of Blogger. Will Blogger integrate with GData? Blogger already uses Atom, so will that make integration easier? Or will Blogger's slow pace of development prevent them from adopting GData anytime soon? I'm skeptical.

Read More

My Tag Directory Now has Del.icio.us Integration

Paul Kinlan

My tag directory has been updated to incorporate Del.icio.us integration. It fetches RDF data from del.icio.us to display the most popular tagged items. Explore examples for tags like RDF and RSS using the provided links.

Read More

Google Search: ebay asp.net api soap wsdl [part deux]

Paul Kinlan

This post is a follow-up to my earlier one about using SOAP requests in ASP.Net to access the eBay API. I've finally figured out how to make it work! A few key things to note: most requests need the "version" attribute, some require the "DetailLevel" attribute, and you'll need an eBay Authentication Token (a cryptographic hash) for security. When using the WSDL URL, remember to include query string parameters so eBay knows what to do. I've included some sample C# code demonstrating how to build the request URL, set credentials, and handle the response.

Read More

Minor Test with AJAX Tagger

Paul Kinlan

I've been experimenting with the AJAX Tagger and integrated it with Wikipedia to generate related article links. It's pretty quick, generating relevant links in about a minute. There's a minor issue where sometimes the links point to Yahoo search results instead of directly to Wikipedia, which I'm investigating. I'm also looking for feedback on how to order the tags and related documents, so feel free to email me or leave a comment.

Read More