Web Standards: Nothing Succeeds Like Success

This is a comment on the A List Apart article, Evangelizing Outside the Box: Web Standards and Large Companies, by Peter-Paul Koch. I posted the comment on their site on June 04, 2007.

I work at a mega-gigantic web corporation (10,000+ employees across the world, and hundreds of millions of users.) While we don’t exactly model PPK’s definition of “Web company,” since we don’t (often) create websites for others, we do offer end users: games, instant messaging, news, sports, mail, search, photo-sharing, a top-notch Javascript and CSS framework, and a host of other services, many of which start with “Y!” ;)

Yahoo is a huge proponent of web standards, for very pragmatic reasons. On most teams, you can’t get hired as even a junior web developer without a solid background in standards and CSS. At the same time, we host countless 1990-style table-based layout pages, and most of them probably won’t be changed any time soon. And yes, some of our internal web apps are simply godaweful.

The all-too-common focus on refactoring legacy pages is misguided and hopeless. There is little, if any, benefit to make up for the herculean effort. However, web companies are typically in the business of creating new pages, and this is where the standards movement should move. When an old system is refactored, it’s often a wholescale redesign, and that’s when a proper approach should be used. Extending a system should almost always use the language of the existing system, and sometimes, yes, that means that you implement the 254th page as table-soup so that it matches the pattern of the other 253.

When it comes to new development, it’s a much easier sell. First, you say, “I’m going to implement this using web standards because it’s better.” (Or don’t say it—just do it.) If that doesn’t work (and it usually does), then you point to the huge sites that have used web standards to great advantage—sites like Yahoo, Blogger, ESPN, and others. Talk about their agility, their reach, how this is the new standard. Get involved in the hiring process, and try to hire developers who know about standards. (Usually they’re the best choice anyhow.)

If that doesn’t work, then build a resume in modern HTML and CSS, put it online, and get ready to move to California. (Seriously, as more employers move to using web standards, it’s getting harder to find good web developers these days. You’re valuable!) As more standards-using webdevs reach career-maturity, web companies will necessarily shift in that direction, and devs who don’t use these methods will find themselves working somewhere else.

Lastly, please, abandon the religious viewpoint. Software is the art of effective trade-offs. It’s not math, and there is usually not just one right answer. It does so happen that web standards can be leveraged in many cases to make a big profit in time, effort, and features, but if you’re in this business long enough as one of PPK’s “invisible professionals,” you’ll eventually find a case where you need a layout table to achieve a certain effect, or where a table-based approach is faster/easier/more maintainable, and the costs are reasonable. W3C approval doesn’t not make something necessarily a good method. If you’re going to be a zealot, be a zealot about writing high-quality code—usually that means standards, but standards are not a valid end in themselves. I feel like blogging a big fat rant when I can’t buy movie tickets on my Blackjack, but web standards zealotry is perceived as naive and misguided by managers and customers alike.