I have a not-so-secret desire; I want to be a developer.
Don’t get me wrong - I love web design. I’m very lucky to have developed a pretty decent skill set in web design, I love CSS, tools such as LESS and SASS are making web design a breeze these days. But pure web design leaves us with little to do - we can paint a pretty picture, but we can’t manufacture the paints or the canvas, or build the Museum to house it.
The closest we can get lies in the browser. Web design is a lot like doing the laundry. (Forgive me for this poorly constructed metaphor) Most of us know how to wash a shirt - bung it in the washing machine with some detergent, make sure you separate your lights and darks, yadda, yadda. Pull it out, and your laundry is done. Looking sharp!
But the good designer knows exactly how long the washing cycle should go on for - knows exactly the right amount of detergent and fabric softener to put in. Knows how to prevent the creases in that shirt. Pull it out, and it’s still clean, but the feeling - the experience - is different. Like I said, it’s not a great metaphor.
I’ve always been a curious soul, though. I’m not very happy leaving machines to do our work. I want to know how the machine works. As a kid, I built a computer, broke several others by pulling them apart, made my own robot… I like to pull apart the machine, poke around and wonder “how does that work?” This attitude has recently had a comeback - the more I learn about CSS animations and experimental properties, the more I find myself thinking “But how does the browser think this should work compared to how I want it to work?” Not too long ago, I asked twitter how Safari/Webkit goes about activating/deactivating it’s 3D engine after I discovered a funny text/3D related bug. Nobody knew. It seems like nobody other than the bug-report-all-the-things developers actually knows how the browser thinks about this stuff. People like Paul Irish do a grand job of helping us understand, lifting the hood on Chrome and all it’s quirks; but for me, it’s not enough. I want to be able to open up a terminal and see exactly what stuff is going on during my CSS3 animations and 3D transforms - the process behind Safari’s beautiful but mysterious hardware acceleration and text rendering. The how’s and why’s.
I’m getting tired of knowing that “You can’t do X without the browser doing Y” but not knowing why that is the case. I want to learn more about the grayscale 3D text-rendering bug. I want to know more about the flicker before animations. I want to know more about the subpixel rendering differences between Webkit and Firefox.
I want to pull apart the washing machine, and find out more about the robot washing my shirts.