Please note, new blog at

Using setInterval() to populate tables in Internet Explorer

I am sure most of you have seen how Internet Explorer renders tables, and how annoying it is to wait for them. It renders tables all at once. By that I mean that if you have a 1000 row table, it will not show anything on screen until it has appended the 1000 rows to the table. A work colleague showed me this technique. If you use the setInterval() method to create a timer that populates the table, it will force each row of table to be rendered to screen. Firefox doesn't suffer from this problem, and it incrementally renders tables. <script> var currentRow = 0; var threadID = null; function populateTable() { var oTable = document.getElementById("simpleTable"); threadID = window.setInterval( function() { drawRow(oTable); } , 5 ); } function drawRow(oTable) { // Create a new TR element oTR = oTable.insertRow(); oTD = oTR.insertCell(); oTD.innerHTML = currentRow; oTD = oTR.insertCell(); oTD.innerHTML = "Last name " + currentRow; oTD = oTR.insertCell(); oTD.innerHTML = "First name " + currentRow oTD = oTR.insertCell(); oTD.innerHTML = "City " + currentRow; currentRow++; if (currentRow == 200) { window.clearInterval(threadID); currentRow = 0; } } </script> .... <a href="javascript:populateTable()">Populate the table</a> <br/><br/> <table id="simpleTable"> <caption>Simple Table</caption> <thead> <tr> <td>ID</td> <td>Last Name</td> <td>First Name</td> <td>City</td> </tr> </thead> </table>

AJAX Patterns

I found this site a little while ago called AJAX Patterns. A good resource. Apparently, my post about using dynamic SCRIPT tags for AJAX is actually a pattern called On-Demand JavaScript!

Microsoft's answer to AJAX - ASP.NET "Atlas"

Microsoft have created a new web development technology called ASP.NET Atlas, a marriage of client-side JavaScript libraries and ASP.NET. They hope the extensions will enable developers to easily develop AJAX-style web applications without being DHTML gurus.
ASP.NET “Atlas” is a package of new Web development technologies that integrates an extensive set of client script libraries with the rich, server-based development platform of ASP.NET 2.0. “Atlas” enables you to develop Web applications that can update data on a Web page by making direct calls to a Web server — without needing to round trip the page. With “Atlas”, you can take advantage of the best of ASP.NET and server-side code while doing much of the work in the browser, enabling richer user experiences.

I just got my Measure Map account!

A new service is being offered by the guys that coined the term AJAX, Adaptive Path. Measure Map is a free blog statistics service that works with many of the online blogging services. Jeffrey Veen demonstrated the application at Web Essentials 05, and I signed up for an invite a little while ago. Well, I just got my account now, and it's pretty cool. It allows you to track in detail the following areas: Go to the Measure Map site and sign up for an invite.

Google Analytics -- FREE Web statistics

Google has released a FREE web analytics service called Google Analytics. A while ago they bought web statistics software company Urchin, and at the time I predicted they would do something like this. The service, of course, integrates with AdWords.

New Yahoo Maps takes aim at Google

Yahoo have launched the beta of their new maps application. In contrast to Google, Yahoo have opted for Flash as their preferred UI delivery platform, no doubt further fueling the AJAX vs. Flash debate. The new system has some pretty cool features, like the ability to drag markers from the maps into the directions to / from place holders, instead of typing them in. Check out the Yahoo Maps.