Author Archives: Zach Leatherman

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 , , , |

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 , , |

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 , |

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 , |

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 , , , , , |

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 |

Trash that “Back to Top” Link

It would seem that perfection is attained not when no more can be added, but when no more can be removed. - Antoine de Saint Exupéry While most would argue that the principles espoused in the above quote might also be applied to the quote itself, it would serve us better to consider how we [...]
Posted in Interface Design, JavaScript | Tagged , |

The “24″ Clock on ALARMd

If you’re only using @font-face for titles and text, you’re missing out on a whole wealth of use cases that have yet to be explored. For instance, I created a very simple 7 Segment Display Numeric font to be used for a skin on alarmd.com and changed the color using nothing but CSS to create [...]
Posted in CSS, Projects | Tagged , |