jQuery Demystified
August 31st, 2011 § 0
Guiding slides for the hour-long presentation on ‘What is jQuery’ that I’ve been giving to backend teams.
JSConf 2011
May 4th, 2011 § 0
It’s a fun thing to be at the forefront of a language/technology revolution. I’m always a little amazed at how the JavaScript I began coding ten years ago has turned in to one of the cornerstones of my career. MBAs and years on consensus building are one thing, but it’s this language that truly brings my design work to life, from its prototyping stages to its full production deployment. And while I’ve forged deeper and deeper under its hood, JavaScript has implicated itself further and further in modern development practices. JSConf 2011 brought most of the thought leaders responsible for this implication together for two days in Portland, OR, inducted others in to the circle, and hummed throughout with young, fresh, energy and ideas devoted to the standards language making today’s web hop. Notes on the summit:
Get (Vertical) Rhythm
March 28th, 2011 § 0
The grid-based design behind much of today’s web was revealed to me a few years back as I was serving as in-house Technical Lead for a major corporate redesign. My team worked with designers from an external agency, and as their comps started coming across the wire it was quickly clear that visual components were being aligned to a four-column grid. Everyone liked the order and organization afforded by the grid. When it came time to turn comps into code we went with the 960.gs css framework and to this day, design and development of new solutions takes place within the context of the grid.
A Form
November 25th, 2010 § 0
Almost all applicatons we interact with on the web are form driven. User-supplied data in; system conclusion out. To be sure, a decade plus of experience and innovation has seen UX improve by leaps and bounds. But we’re still building forms, and to that end I always enjoy re-visiting the basic question of how to build them well. Here’s the essence of a recent stab.
CSRF Protection via X-Browser jQuery Ajax Hijack
October 28th, 2010 § 0
Cross-Site Request Forgeries (CSRF) exploit the trust that a site has within a user’s browser. By inducing clicks on links to sites where users are suspected to be authenticated, perpetrators can execute transactions under the umbrella of a user’s current session. Requiring newly generated parameter values with each new POST or GET is one way for programmers to protect against CSRF. But while implementing this requirement in page-driven applications is fairly straight-forward, ajaxified apps make things more complicated. The following approach lets us abstract the complications out of our day-to-day so we can code both currently and securely.
Another Corporate Writeup:
JS Master Class with Hoy and Fuchs, Austria and Elsewhere, 06.16.2010
July 31st, 2010 § 0

Thomas Fuchs is author of the script.aculo.us user interface JavaScript library, a member of the Prototype core team and a Ruby on Rails core alumnus. As he puts it, ‘You’re using my work every day, even if you’re not aware of it!’ His wife Amy Hoy is a designer, author, and JS programmer in her own right. Together they team to offer a full-day’s training on advanced JS development and deployment techniques that they deliver via chat and videoconferencing software from Vienna, Austria.
IFrame Solutions
May 3rd, 2010 § 1

IFrames get a bad rap. In the early days their cross-browser support was spotty and even now, incorporating them in mission-critical deployments requires a good reason and a considered approach. But there are good reasons. And given a perfect storm of capabilities and limitations, an iframe can serve as the avenue to a seamless experience where user interaction would otherwise be punctuated by popups, scrollbars, or host switches.
(A)PNG Loader
January 31st, 2010 § 1
![]()
IE6 is in the ICU. Developers are still forced to accommodate the 8-year-old browser’s maverick rendering engine but we also find ourselves on the dawn of a new era that isn’t defined by a market-leading millstone. IE7 and 8 come markedly closer than their little brother to true standards support. Firefox, long the coder’s favorite, has found larger love and the webkit rendering engine of Safari and Chrome continues to walk the line. We are, in effect, very close if not already at the IE6 tipping point whose far side promises unencumbered development to current and native browser capabilities.
Finding Closure
November 17th, 2009 § 1
It’s sometimes a satisfying thing when textbook case studies present themselves in real life. With some breaks in the continuum, I’ve been pretty serious about JavaScript code since about the time of Boston’s miraculous comeback against the Yankees in the 2004 ALCS. Only in the last couple of years, though, have I been turning my coding style from the functional to the object-oriented, and incorporating into it some of what I’ve learned from John Resig, Aaron Newton, and others on the forefront of the recent JS boundary pushings. One of the early lessons these guys have to impart is on JS closures. So when, in production code for a large financial institution’s online banking application, I ran across the very lines of code they use to illustrate the concept, bells went off and – to quote Jonesy from ‘The Hunt for red October’ – I ended up basically running home to Mama.
The Ajax Experience… Delayed by a Year
October 9th, 2009 § 1
In October of 2008 I attended the Ajax Experience Conference (sponsored by ajaxian.com among others) in Boston. 2009 saw a conflict between Ben and Dion and Adaptive Path’s San Francisco UX Week, which I opted for to diversify. Here, however, near its first anniversary, I share what I took from the 2008 Boston session. We’ve made progress. There’s still a way to go. And I still think UI/X is king. The excitement and challenges of a year ago: