Author Archives: Zach Leatherman

Faking Onload for Link Elements

Or, I Am Dynamically Loaded CSS (and So Can You!) Dynamic resource loading is one of the keys to have a performance happy web application. There are generally three different criteria we must address when making a request: cross domain security policies, asynchronous/synchronous (will it block the host page while loading), and whether or not [...]
Posted in CSS, JavaScript | Tagged | 7 Comments

ALARMd is now on Github

In an effort to mindlessly copy what everyone else on the internet is doing keep current on the latest and greatest Source Code Management tools, I decided that it would be good practice to move my open source project ALARMd (as seen on Lifehacker) from Google Code to Github. Feel free to fork/contribute at your [...]
Posted in Projects | Tagged , , | Leave a comment

Maiden Voyage of the DOM Sailbloat

As many of you may already know, my day job includes managing a large and complex enterprise jQuery-based user interface component library. It’s used by all new web applications at the company, which boasts over an IT department of approximately 1500 people and hundreds of web applications. Needless to say, I get a fair volume [...]
Posted in DOM, JavaScript, Projects | Tagged , , , | 5 Comments

A Race Against Time Pickers

The Date Picker component is one of the most popular user interface components on the web today. Its operation is very simple: focus into a field (sometimes a click on a dedicated calendar button is required) intended to contain a specific date and an on-screen calendar will be shown next to the form field, allowing [...]
Posted in Interface Design | Tagged , , | Leave a comment

Point, Charset, Match: Character Encoding in JavaScript

If you’re not familiar with the principles of character encoding, read the prerequisite Dive Into HTML 5 section on the subject. When you see issues with Character Encoding, it’s traditionally in the form of text on your page that looks like this: in Firefox or in IE. Usually, those characters mean that the character encoding [...]
Posted in JavaScript, Web Browsers | Tagged , | 1 Comment

Internet Explorer Array.sort Unreliable

What would you expect to be the result of executing the following code? // Create a medium size array, at least 100 items var obj = []; for(var j=0, k=150; j<k; j++) { // the value here doesn't matter. obj.push('ABCD'+j); }   // Sort the array alphabetically. obj.sort(function(m,p){ m=(''+m).toLowerCase(); p=(''+p).toLowerCase();   if(m > p) return [...]
Posted in JavaScript | Tagged , | 10 Comments

If the Menu Fitts, We Must Acquit

One of the first things you’ll learn when diving into a self-taught course on usability is the hugely popular Fitts’s Law. In a nutshell, Fitts’s Law tries to predict the time needed to move to a “target area” (usually a link, menu, button, or form element) as a function of the distance to the element [...]
Posted in Interface Design, Usability | Tagged , , , , , | 9 Comments

CSS 3 Text: A Tale of writing-mode Woe

After reading an interesting article on using the writing-mode CSS property to display vertical text (I’m always interested in how to abuse what browsers currently support into something new and exciting), I decided to look into this writing-mode property and see what opportunities it might present. Generally when exploring a development opportunity, I tend to [...]
Posted in CSS, Web Browsers | 3 Comments