Archive for March, 2010

Feel the Burn: Five Weightloss Tips to Keep Your JavaScript Trim

JavaScript minification is now commonplace on the web, thanks to tools like JSMin, YUI Compressor, Google Closure Compiler, and the Microsoft Ajax Minifier. These useful tools do things like strip out comments, remove unnecessary whitespace, and shorten local variable names to single characters.

There are a lot of little things that a developer can do to help them along with the goal of getting the slimmest, trimmest script file. Let’s take a look at five techniques that you can employ to get JavaScript to burn a little extra fat.


Anything But Typical – Learning to Love JavaScript Prototypes

Big thanks to everyone who attended my SXSW 2010 presentation!

For all who couldn’t attend, check out the Anything But Typical slide deck (PPTX).

If you’re interested in digging deeper, here’s the demo and all source code:

A quick warning: The source code is standards-compliant, and thus will not work in IE. Modifications to the event handling and DOM lookups would be necessary to support Internet Explorer’s propriety models.

Detecting transition event support

PPK’s mantra, There is no WebKit on Mobile, has been ringing in my ears since I recently started working on a mobile site targeted towards iPhone 3+, Android 1.5+, and webOS 1.3+.

iPhone 3, Android 1.5, and webOS 1.3 all support easy-peasy CSS-based animations with -webkit-transition, but there’s a big gap with the implementation on webOS.


Speaking at SXSW Interactive 2010

If you’re in Austin for SXSWi 2010, come check out my lecture,
Anything But Typical: Learning to Love JavaScript Prototypes. Here’s the skinny:

Frightened and confused by the term “prototype”? Tired of praying that there’s some plugin for a framework that will do exactly what you need to do? Unlock a whole new world of interactivity with object-oriented JavaScript programming. Learn how to design and implement classes that let you simplify and extend your work, and pick up tips on designing compact and reusable front-end code.