October 5th, 2007
Due to a lawsuit by Eolas against Microsoft, Internet Explorer (both 6 and 7) is not allowed to auto-load movies, flash, and other plugins. The effect is that users must click an empty area with a gray outline to load the content or start interacting with it. The standard approach to route around this usability fiasco is to dynamically load the <object> and <embed> tags with javascript. Here I present an easier, more readable, and unobtrusive technique for embedding content in IE6 and IE7.
Read full entry »
1 comment | Posted in Best Practices, Solutions, Web Development
August 24th, 2007
If you feel like being a little bit silly today, you might check out some code I wrote to generate BMP images right in the browser, using javascript. For maximum compatibility, I'm using the v3 header and uncompressed 24-bit color.
All mine does so far is generate a quasi-random bitmap. The same technique could be used to generate very small rounded-corner images and other progressive enhancements. Perhaps some other file formats might be interesting to play with as well. Excel spreadsheets, perhaps? I don't have much interest in continuing work on javascript-based file production, but I'd love to see other people take this idea for a spin.
Comments Off | Posted in Software
March 22nd, 2007
One of the problems with AJAX-style hash-based permalinks (as in use at WikiMapia) is that the browser's history becomes cluttered, and the user has to hit Back a large number of times to escape the page. By using location.replace, I've devised a way to keep the history pristine yet allow DOM-state permalinks.
Check out the demo. (Should be working now, thanks wioota.)
3 comments | Posted in Software
February 6th, 2007
Combining the power of hot buzzwords such as "closures", "private and privileged scoping", "anonymous functions", and "object namespacing", I present a framework for future Javascript libraries.
Read full entry »
Comments Off | Posted in Software
October 8th, 2006
Remember the days when Javascript was just a way to get things to move around on the page, and had to be coded completely separately for each browser? I'm amazed at how far the language has come. Now we've got closures, prototypal inheritance, and associative arrays, but without the usual slowdowns and complexity that usually result from extending a language. I just find it amazing that the language has truly improved over time, instead of becoming mired in bloat. Well done.
Comments Off | Posted in Contemplation