The Failures of my First AJAX application: Part 4

When I first started investigating AJAX as a potential methodolgy for creating a really cool website, I thouhgt that it would solve all my problems, my bandwidth problems, my UI problems and that it would be really really really quick.

But it didn't.

This entry is entitled "It didn't work to quickly (but it did lead to success number 1, 2, 3, 4, 5 ..... :))"

The very first iteration of the application included some Technorati Stats for each tag, so you knew whether it was worth creating or not and also related searches for each of the tags provided by the TermExtraction API.

Each of the above two proccesses where Sequential (thus only JAX and not AJAX). For each Tag it would perform two queries, thus meaning that the overall speed of my application was limited to:

(time of technorati request + time of yahoo related searches) * number of keywords selected by the TermExtraction API.

Yahoo was pretty quick; Technorati's performance was diabolical.

I eventually pulled the Technorati API, and stopped using the Yahoo related searches. The reason I pulled them rather than reworking the app is at the time I didn't want portions of the page to be trickle filled, I wanted the page to be fully completed before the user viewed the results. Having a fully rendered page negates the benefits of AJAX principals, I might as well have had the server generate the complete page.

The next version of the app, will be fully async, because there will be a built in request manager. Thus the results will trickle in and be parsed and displayed as they arrive. When one result is in, it may trigger other queries that will be completly managed in the background.

To see what I mean, play around with my AJAX Technorati Tagger: Simply enter some text, maybe a news article or one of your journals and see what happens.

About Me: Paul Kinlan

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, contributing to MDN, helping to improve browser compatibility, and some of the best developer tools like Lighthouse, Workbox, Squoosh to name just a few.