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.

Waiting for an element to be created

Paul Kinlan

In my quest to understand how to detect when a field has been autofilled, I needed a way to monitor the events of an element that doesn't exist yet. I created a helper function, waitForElement, that uses MutationObserver to wait for an element with a specific ID to be added to the DOM. Once the element is added, the promise resolves and returns the element. This, combined with my previously created monitorEvents function, allows me to start logging events on dynamically created elements, getting me closer to solving the autofill detection puzzle.

Read More

Update to AJAX Tagger 2

Paul Kinlan

I'm working on AJAX Tagger 2 and have implemented a priority queue system for AJAX requests. This system uses 5 queues and prioritizes urgent requests by placing them in the fastest cycling queue. Less urgent requests go into slower queues. Check out the demo to see how tag requests are prioritized and tag stats are fetched on a slower queue. The whole page is asynchronous!

Read More

The Failures of my First AJAX application: Part 4

Paul Kinlan

In this part of my series on my first AJAX application, I discuss how my initial hopes for AJAX as a solution to bandwidth and UI problems, and for speed improvements, weren't fully realized. The first version, which incorporated Technorati stats and Yahoo's TermExtraction API, was slow due to sequential queries and Technorati's performance. I removed these features because I wanted a fully rendered page, which negated AJAX benefits. The next version will be fully asynchronous, with a request manager for trickle filling and background processing. Check out my AJAX Technorati Tagger to see what I'm aiming for.

Read More

The Successes of my first AJAX Application: Part 4

Paul Kinlan

This is the fourth installment of my AJAX application development journey. I integrated the Technorati API, focusing on the Tag Query to gauge keyword popularity and refine tag selection for better exposure. While the API was helpful, it lacked features like tag ranking and related tags, and the TagQuery's slow performance forced its removal. Future development will involve optimizing the TagQuery (limiting results or using an asynchronous call manager) and potentially requesting a lightweight metadata interface from Technorati.

Read More

A Difference I think I have noticed between IE and Firefox concerning XmlHttpRequest

Paul Kinlan

I've noticed a difference in how Internet Explorer (versions 6 and 7) and Firefox handle synchronous XmlHttpRequests. In both browsers, you can send requests using JavaScript. However, after the synchronous send() call, Internet Explorer still triggers the onreadystatechange event, while Firefox does not. I need to research which behavior is correct and according to spec. If you happen to know, please email me!

Read More