Evolving jQuery UI For Web Components

My job centers around writing reusable javascript components. As a result, I spend a lot of time reading, a lot of time writing code, and a lot of time revisiting those things I’ve previously written, and trying to improve upon them. In recent months, I’ve been obsessed with performance improvements, both with rendering state as well as optimizing them for the browser’s paint cycles. There are, by now, plenty of articles out there about window.requestAnimationFrame(), deferred objects and promises, development patterns, up-and-coming Web Components proposals, etc. This article is going to be an attempt to marry a lot of those disparate concepts in the context of the jQuery UI Widget Factory, which is one of the more widely used frameworks out there for reusable UI components.
Continue reading

My descent into AMD…

Asynchronous module definition. It almost sounds like something out of science fiction. What is this relatively newfangled concept, and why shouldn’t you just hike your pants up to your nipples and tell it to stay off your lawn? I, myself, had to be dragged into it kicking and screaming, and now that I’m familiar with it, I can’t imagine how we didn’t come up with the concept even sooner. Continue reading

The Javascript Console

Most web developers are familiar with some of the available developer tools out there in various browsers at this point. However, most people don’t use them anywhere near their full potential. The goal of this post is to explore the javascript console in a bit of detail, describing some of the features and techniques of using it, but without duplicating effort on the part of some other good blog posts. I’m sure I’ll miss some items that people deem appropriate or necessary, so please feel free to fill in the gaps in the comments below. I’ll mostly be speaking from the context of the Chrome developer tools, unless I specify otherwise, as I find them to be one of the more (if not the most) robust offerings currently. Continue reading

Never Stop Learning!

“It’s easy to sit there and say you’d like to have more money. And I guess that’s what I like about it. It’s easy. Just sitting there, rocking back and forth, wanting that money.” — Jack Handey

I love Jack Handey, and you know what else I love? Knowledge. Learning. Experimenting. Successes and failure both. I think it’s easy in this industry, for one to rest on his/her laurels, and not seek out any information on items outside of their immediate scope of work. I interview a lot of candidates that, when asked why they’re looking to leave their current job, or what they’re looking for in their next job, they say they’d like more opportunities to learn. Continue reading

My First jQuery Conference Presentation

So, I did my presentation for the Austin jQuery conference earlier today. Being my first time presenting at anything like this, and being fairly introverted, I think it’s being generous to say I was merely nervous. “Scared shitless” might be a more accurate phrase, which is good, because being shitless, I couldn’t crap my pants right there on stage. My voice was shaky throughout, my breathing was uneven, and I was sweating buckets by the end of it (a combination of the heat-lamp spotlight and my nerves), but I got it done, and got everything out that I wanted to say. Continue reading

To Bootstrap, or Not to Bootstrap…

We have a new product we’re apparently looking to spin off here at work, and as part of that conversation, someone threw out the words “Twitter Bootstrap“. For those of you not familiar with Bootstrap, it’s a predefined set of (both stylistic and javascript) visual components and layout scaffolding that makes it fairly quick and easy to prototype websites, and is pretty snazzy in appearance to my developer’s eye, though you might hear differently from designers. Continue reading

Modular Widget Design Architecture

I’ve previously mentioned that I work on the Platform team within my current company, as the caretaker of our central UI widget repository. As part of an ongoing effort, we’ve been in talks with our offices in Washington, D.C. about how to share some of the development effort between our teams, and get the most out of the finite front-end engineering resources we have at our disposal. In our most recent round of collaboration, there was some terminology brought up that I really liked as a method of conceptualizing the building of widgets, and how they should relate to each other. It was put into the context of the building blocks of life itself: Elements, Compounds, Cells, and Organisms. Continue reading

Bend Over, jQuery… This Won’t Hurt a Bit…

I have my first large-scale public presentation coming up in about a month and a half, at the jQuery Conference here in Austin, TX. My topic is about getting the most out of jQuery UI Widgets, mostly dealing with some tips and tricks I’ve either learned or developed over my own time in working with the factory. Some things I’d planned to present were still just conceptual at the time I made my proposal. One of them almost bit me in the ass because of something I hadn’t considered, but having just nailed it with some help from something buried in the bowels of jQuery, I feel compelled to write an article about it, to deviate from some of the more basic, foundational things I’ve been writing about lately. Continue reading