Not in stores or anything, but I got my author copy of Adapting to Web Standards from the very nice FedEx guy today. Christopher Schmitt had to convince me over IM to actually take the plastic wrap off and take a peek inside.\
There’s something really weird about seeing something I wrote in a real book… one that has my name on the cover, on the back of it… etc. But, here it is, sitting next to me on the desk – yep, still has my name on it.\
I took a look through it, and it’s gorgeous. New Riders went full-color with it, and it’s just plain lovely. My chapter’s been edited to the point it actually makes sense, and the other chapters are stellar (I wouldn’t say anything if they weren’t, but they are really good). What I like about the book is it’s not flowery. There’s real actionable stuff in it, and advice for how to solve not only the technical challenges of a project, but the human ones. There’s a ton of good stuff in there, and I’m not saying that because I wrote a part of it (the good stuff is in the other chapters anyway).\
I had a lot of help. Kevin Luman, Michael Richman and David Artz all sat through interviews (I’m sorry, guys), and Christopher Schmitt and Victor Gavenda (our editor) were always ready with an encouraging word or constructive feedback. And of course, Jen already puts up with a lot, with travel and long hours. She was very nice about letting me disappear for several weeks after getting home from work to go write.\
I can’t wait to have people read it and see what you all think. A lot of smart people worked on it, and I think it’s easily the best writing I’ve ever done (and then edited even more to make it readable!). I’m honored that Christopher asked me to help out, and I’m pretty damned proud of the result.
Author: Kevin Lawver
-
The Book Has Arrived!!
-
Four Score and Seven Years Ago…
Today, in 1863, Abraham Lincoln gave one of the most important speeches in this country’s history after the worst battle in the history of the United States.\
I love reading it. It’s profound, and in a few words, explains what’s truly great about this country. Not that we fight or disagree, but that we believe that the ideals this country was founded on is worth fighting for, that freedom is worth fighting for.\
<blockquote>
<p>Fourscore and seven years ago our fathers brought forth on this continent, a new nation, conceived in Liberty, and dedicated to the proposition that all men are created equal.</p>
<p>Now we are engaged in a great civil war, testing whether that nation or any nation so conceived and so dedicated, can long endure. We are met on a great battle-field of that war. We have come to dedicate a portion of that field as a final resting place for those who here gave their lives that that nation might live. It is altogether fitting and proper that we should do this.</p>
<p>But, in a larger sense, we cannot dedicate – we cannot consecrate – we cannot hallow – this ground. The brave men, living and dead, who struggled here, have consecrated it, far above our poor power to add or detract. The world will little note, nor long remember what we say here, but it can never forget what they did here. It is for us the living, rather, to be dedicated here to the unfinished work which they who fought here have thus far so nobly advanced. It is rather for us to be here dedicated to the great task remaining before us – that from these honored dead we take increased devotion to that cause for which they gave the last full measure of devotion – that we here highly resolve that these dead shall not have died in vain – that this nation, under God, shall have a new birth of freedom – and that government of the people, by the people, for the people, shall not perish from the earth.</p>
</blockquote> -
Adapting to Web Standards: Going to Press!!
I just saw the e-mail today that the book I helped write is going to press on Monday!! It’s called Adapting to Web Standards: CSS and Ajax for Big Sites, and I wrote a chapter about AOL.com. It’s available for pre-order now, of course, and would make a great Christmas gift for your favorite web nerd – they might even like two or three copies (really, they might).\
Writing the book (well, my chapter) was… difficult. I don’t think I’ll write another one any time soon, at least while I have a full-time job. It was a great experience, don’t get me wrong, and Christopher and Victor, our editor, handled all the hard bits. I’d always wanted to write a book, and am grateful that they gave me the opportunity to write a chapter for this one.\
I can’t wait to hold a copy in my grubby mitts and hear from folks what they think of it (good or bad). -
Raising Cain
I’ve been telling everyone I know about The Pilgrim at Tinker Creek, by Annie Dillard. It’s a modern-day Walden and full of dense, lyrical, beautiful prose about living in Southern Virginia and contemplating nature. It’s as much about how we observe life and participate in it, and there’s one paragraph that makes my heart sing every time I read it (emphasis mine):
Thomas Merton wrote, “There is always a temptation to diddle around in the comtemplative life, making itsy-bitsy statues.” There is always an enormous temptation in all of life to diddle around making itsy-bitsy friends and meals and journeys for itsy-bitsy years on end. It is so self-conscious, so apparently moral, simply to step aside from the gaps where the creeks and winds pour down, saying I never merited this grace, quite rightly, and then sulk along the rest of your days on the edge of rage. I won’t have it. The world is wilder than that in all directions, more dangerous and bitter, more extravagant and bright. We are making hay when we should be making whoopee; we are raising tomatoes when we should be raising Cain, or Lazarus.
With one paragraph, she eviscerates complacency and sloth. Whenever I read it, I want to go looking for windmills to tilt at and giants to slay.
-
Web Standards’ Three Buckets of Pain
I spent this week at the W3C’s annual technical plenary, which is a week of “discussing” the future of the foundations and future of the web. I spent the first part of the week in the CSS Working Group discussing CSS3 features and CSS2.1 issues. Tuesday evening and Wednesday were spent in the AC meeting and Technical Plenary day (everyone gets together in a big room for panel discussions and lightning talks about standards-related issues – my favorite day of the week). The latter part of the week I spent in the new HTML Working Group talking about a lot of issues I’m not up to speed on because I just joined the working group (but, of course, that didn’t stop me from jumping in).\
Molly led a panel during Plenary Day called From the Outside, In: Real World Perspectives on the W3C with a handful of designers and developers who aren’t currently involved in the W3C (Aaron, Matthew, Patrick and Stephanie). The panel helped solidify a few things for me and I want to try to explore them in this post. The panel wasn’t bad by any stretch. I think it was brave for them to come into the “lion’s den” and give the W3C their perspectives. But, I felt that the way the panel was presented left people in the audience confused about the overall message, and exposes a huge gap between the W3C’s understanding of “web standards” and the web development world’s definition.\
Before I get any further, I need to explain where I stand here. I have a foot planted firmly in both worlds. I’ve been building web applications for almost a decade and have been a fan of standards-based development since late 2001 when my blog validated as XHTML 1.0 Transitional. I’ve been a member of the CSS Working Group for about four years as well.\
The complaints about web standards are varied and many, and the panel made it feel like they all fell squarely at the feet of the W3C. But, that’s just not the case. I think a lot of the problem comes from our (being the web development world) definition of “web standards” being almost completely different from the definition understood inside the W3C. To web developers the world over, “web standards” means: “What I have to do to get my page to look right in all the modern browsers.” The W3C’s definition is “the underlying specifications that implementors (in our case, web browsers) use”. See, the standards aren’t written for, or by, web developers. In the case of HTML and CSS, they’re written for and by the people who create web browsers – which is why they’re so hard for the rest of us to understand. The vocabulary is different. The requirements are different. There is a whole world of pain in store for the brave soul who wants to write a web browser – and it’s a uniquely different world of pain from someone (you and me) who wants to apply those standards to build a web page that will render in one of those web browsers.\
For the rest of this blog post, anyone building a web browser is implementing the standards, and anyone trying to build a web application is applying the standards. People building web browsers have to implement parsers, renderers, conformance checks, error handling and all sorts of other nasty things to get a browser to function. People building web applications have to take the standards and apply them through an implementation (in our case, a browser). We’re not writing the parser, we’re writing the thing that gets parsed.\
And there are our three buckets of pain:- The Specifications
- The Implementations
- The Applications\
h4. The Problems With The Specifications\
The major problems I hear about the W3C and its processes are: - It takes too long.
- I don’t know what’s going on or when we’re going to see the standards come out.
- Spec X is missing this, this and this!
- Developers and designers have no voice in the standards at all!\
One, two and four are, or were, true. Number three is only half true most of the time. Every time I ask developers or designers I know about what’s missing from CSS, I always hear “I want multiple backgrounds and a real layout model. Oh, and border images!” Two of those are already implemented in Safari, and I’ll bet you Firefox will have them done shortly. They’re all in CSS3 somewhere.\
Web developers and designers have more of a voice on the CSS Working Group than ever. There are currently three designers in the working group (two from AOL and one invited expert). The group is also working with the new CSS11 group, and is actively gathering feedback. The new HTML Working Group has several members who are web developers and over four hundred invited experts (who can’t all be building browsers).\
The W3C is working very hard at opening up. It’s not there, and they’ll stumble, but the attempt is being made.\
h4. The Problems With Implementations - Microsoft took a vacation. IE6 has been out (and broken) for a very long time. We got complacent in our hacks and nonsense to work around its “quirks” and now those bad habits and hacks are getting stale.
- They don’t move fast enough! See number one. We’re tired of waiting, but laying the blame on the CSS Working Group instead of Microsoft. If Microsoft had been actively engaged in the Working Group this whole time, we’d be a lot farther along. It’s very hard to get to interoperability when the market leader is working on other things.
- They have bugs. Every piece of software ever written has bugs. Thankfully, bugs get fixed in the other browsers fairly quickly. Unfortunately, IE is now on a 15-20 month release cycle, which means we have a while to wait until we see things we need like display: table and probably 30-45 months until we can hope to see advanced layout or the grid implemented.\
h4. The Problems With Applications\
(this is going to be painful… just hold on – it’ll be over soon)\
Our biggest problem as web developers and designers is the misunderstanding I pointed out at the beginning. We need to understand the three buckets of pain and what we can expect out of each one. There’s no reason to rush standards out if no one’s going to implement them. There’s no reason for us to try to use them until they’ve been implemented.\
We have to admit that we made a fundamental mistake in how we advocated building things with “web standards”. As someone who’s done training for the last five years, this is as much my fault as anyone’s. We taught to the implementations. We never taught the distinctions between the specification and the implementation. We never taught that we were teaching an application of the standard and not the standard itself.\
The hacks became the standard and not the exception. We taught without understanding the long term implications of teaching hack management instead of teaching the specification and the application of it separately.\
h4. How do we move forward?\
We need more developers and designers plugged into both worlds. To work on the specifications themselves, or even read and give feedback on them, you have to abandon any hope that this will be useful to you in your development world for three to five years. Once you do that (it took me two years to get that through my head), you’ll be much less frustrated, and might actually be helpful. To a degree, you also have to abandon your notions of how you do things today. When thinking about layout, you have to give up thinking that “float” is the best way to do it (because, please, it’s just not).\
We need to reboot our perceptions of web development and start thinking towards the future. It’s a new world, and getting newer every day. Our best practices have to evolve – our disciplines have to evolve. We need to think about a world without IE6. It’s going to happen. We need to come up with better ways of building web applications. We need to come up with better ways of teaching the value of web standards. We need to do a better job of educating designers and developers about the consequences of building web applications. We told them all the good things that would happen when they did it our way, but did we tell them that hacks go away? Did we tell them that browsers evolve and that hack they spent all that time on to get things to line up in IE6 will go away some day?\
I don’t think I covered everything I wanted to say. There are a lot of things swirling around in my head right now. I had my mind blown last week by this realization and it will probably take more thinking about it before it really crystalizes and I can really explain what I’m feeling. But, right now, this is it, and that’s as good as I’ve got: It feels like I’ve spent the last 7 years living a lie, but the truth is so much more interesting and complex than the lie ever was. It feels like a stronger foundation, but wider and darker in the corners, than the one I’ve been standing on.
-
At The W3C Technical Plenary
I’m in chilly Cambridge, MA this week for the annual W3C Technical Plenary. I’ve spent the last two days in the CSS Working Group discussing the future of things, issues, and debating the relative merits of x vs. y. Now that I have a camera built in to my laptop, I decided to take a little photo diary during the day.\
I’ll try to remember to continue the diary today during plenary day and the rest of the week while I’m hanging out covering for Arun in the WebAPI group. -
This ‘Stache’s a Winner!
They posted the final tally and I won! I have no idea what the trophy looks like or when it will show up, but expect pictures when it gets here.\
There’s no way I would have won if not for Howard Uman, who sent an e-mail out to about 800 people (no, really, 750 people inside AOL, his hockey team and who knows who else) asking them to donate. I felt weird about hitting people up at work for money, so Howard did it for me. Expect a picture of Howie’s smiling face holding the trophy in the near future. Thank you, Howard!!\
It was harder than I thought it would be to keep a mustache for two months. It looked ridiculous, itched a lot, was hard to trim (I was always afraid I’d make it uneven, so I just didn’t trim it until I was taking bites of it with my food)… I mean, who wants to look like the fat extra on CHiPS?\
But, now it’s over. We raised some money to save some nuts (I guess I can stop with the testicle jokes now), and had some fun in the process. Thank you to all 29 people who donated, the guys who organized it, Jen for putting up with the ‘stache and not making too many mustache ride jokes, and everyone else for playing along and not giggling too much when I entered the room. -
The Home ‘Stache Stretch
It’s almost over. This bristly curly mass on my face is doomed. Come Thursday morning, it will be gone. I’m currently tied for fourth place in the rankings, and that’s just not good enough, people!\
I’ve hopefully provided some entertainment, and maybe saved a testicle (maybe two, I don’t know what the dollar to nut ratio is). But, we can do better. We must do better. For as little as ten dollars, you too can save a ball from certain doom.Plus, I really want that trophy.
-
Covers
Jason asked about favorite covers on twitter today and there are just too many to list 140 characters at a time. So, here are my favorite cover songs at the moment:
- José Gonzalez’ cover of Massive Attacks’ Teardrop: Already one of my all-time favorite songs, the cover is haunting in a completely different way. It’s gorgeous.
- The Rheostatics’ cover of Gordon Lightfoot’s The Wreck of the Edmund Fitzgerald: The original is old, dour and has gravity. Unfortunately, it also shows its age. The cover is really good. The song rocks, but still packs an emotional punch, even more so than the original.
- Luna’s cover of Guns n’ Roses Sweet Child o’ Mine: It takes the radio anthem from middle school and turns it into a lovely ballad.
- Living Colour’s cover of AC/DC’s Back in Black: I know the original is a classic, but between Vernon Reid’s guitar and Corey Glover’s vocals, the cover is better. Yeah, I said it. The cover is better.
- This Radiant Boy’s cover of They Might Be Giant’s Don’t Lets Start: Actually, everything on Hello Radio is good (The Wrens and Steve Burns’ songs especially), but this takes a classic we’ve all heard a million times, as great as it is, and turns it into a great little punk anthem.\
There are a ton more, but those are the ones that stick out at the moment. There are of course the classic covers like Jeff Buckley’s cover of Hallelujah that’s pretty much turned into the canonical version of the song, any cover of Leonard Cohen’s stuff (I’m Your Fan is a GREAT tribute album), Cake’s cover of I Will Survive, etc that I didn’t mention (well, I just did, but whatever).\
What’s your favorite cover?
-
That’s the Spirit
This week has been difficult, to put it mildly. As you may have seen in the tech news (and hell, maybe the regular news too), AOL laid off a bunch of my friends this week. I’m still employed, but it’s never easy to see the company I’ve been a part of for twelve years shrink. I’m not sure what’s going to happen, but for now, I’m not giving up. I twittered last night that fighting is much more fun than surrender, and it’s true. Between the web standards stuff Kimberly and I started four years ago, to working on the stuff that’s come after it (the Cluetrain, Rails, etc), I’ve been fighting to “save” AOL for years. I’m not ready to give up on that investment yet.\
This week has been all about mourning and trying to make sense of what’s left. I wasn’t going to write anything at all about the layoffs here, but I saw something today that was so unbelievably awesome, and says so much about the people who make up the company, that I have to share it. Upper management may change every year or so, but the people who work here are what’s always made AOL work and made it a fun place to work. Check out this video (the password is aollover and I found it over on Silicon Alley Insider):L’amour a la francaise from pyc on Vimeo.\
I’ve been to that office. It was many years ago, but they’re great people, just like the great people in Dulles, Dublin, Mountain View, Columbus, Tucson, Bangalore and everywhere else we have offices (those are the ones I’ve been to anyway). I’m hoping that when it’s my time to leave, I can show as much class and heart as the folks in the Paris office.