Full-Stack Web Design

Post I made internally at Automattic the other day:

One of the oft-overlooked aspects of doing creative-type work (this includes developers and basically everyone at Automattic) is that we basically never stop. Working, that is.

I’ve found that even when cruising mentally at a solid “I’m-at-the-mall-with-my-parents-and-my-kids” kind of socially-focused interaction, I’m still at a very low level scanning signs for Comic Sans and shitty kerning. I’ll still notice every Ferrari on the road while also engrossed in a This American Life podcast or I’ll get mad when I see Microsoft advertising on a bus. I can’t help these things; they define who I am as a human being*.

At any rate, at previous jobs where the revenue model was ostensibly to bill clients for every hour we spent working (and in the more despicable cases, many we didn’t), as a creative professional I found it difficult to quantify my work in that way. Who got billed for that hour I spent talking with one of my best friends about Node.js? How many hours have we all spent thinking about jQuery in the shower?**

Lots of people work in office conditions where websites with personalized, social content dashboards like Tumblr, Twitter or Pinterest are blocked for being productivity-killers, but here at Automattic, I use our own WordPress.com Reader every day to catch up on what’s going on around our company as well as the world. This is a profound difference that’s hard to communicate to outsiders.

What I’m trying to say is that I’ve felt comfortable at Automattic spending time thinking about how I do my work and what my work habits mean about who I am as a person, and I’ve started to see trends that started early on in my career that are culminating in a neat way with how we get our work done here.

It’s with keeping this in mind that I present to you a goal I’ve slowly realized over the past few months that I’ve been subconsciously striving toward since very early on in my career and only recently have had the pieces fit together in a way that I can articulate to other people how I get my work done:

I discovered I have been developing an often-messy and laborious but enjoyable and endlessly-evolving process of designing and coding web interface functionality directly in the browser, utilizing whatever technologies are appropriate. For Polldaddy, I have the extraordinary benefit of having the solid foundation laid by @eoigal, @allnoodles, @polldaddy and @donncha at my disposal. Over the years, I’ve slogged through ActionScript 1 & 2, fought with Flex and MXML, cobbled together random bits of DHTML (ha! remember that one?), learned and then threw out Script.aculo.us, slowly gotten competent at CSS, HTML, jQuery, CakePHP, Ruby on Rails, and have tried and failed at innumerable more.

Since joining Automattic as the Polldaddy UI designer and having participated in as many Happiness Bars and WordCamps as I’ve had the benefit of being able to attend, I can breathlessly expound upon how incredibly inspired I’ve been by what WordPress is capable of in general, and what the API can provide me in particular w/r/t my neurotic process.

Now is especially exciting, we have so many robust tools built specifically to aid people like myself (classically-trained graphic designers who have been bastardizing code for their entire careers): LESS/SASS, Twitter Bootstrap, Child Themes, jQuery, jQTouch… the list goes on forever.

To not-so-gracefully arrive at my point: am I off the rails here (pun so incredibly intended), or does this sound familiar to anyone else? Would a discussion/presentation at A8CSD be interesting to anyone?

* Especially the anger that rises at those Microsoft Stores or any kind of lacrosse merchandise. It’s a long story filled with sighs

** Be honest… you’re only lying to yourself.