Knowing Our CraftWednesday, November 23, 2005
The web standards community has spoken. If you are still building websites with table layout, you are just an amateur. Professionals use CSS for layout, and the benefits of doing so seem to be well established.
The web is one of the few areas where standing still means you are really moving backwards. Web development is on ongoing learning process. Any developer who stops learning is effectively falling further and further behind on the web. What was great in 1996 is perhaps a very bad idea in 2006.
Professionalising the amateurs
The problem concerning the web savvy community is how to get these amateurs to realise they need to be adopting CSS. There is a subtle problem in that amateur web developers are still employed because professional web developers, with their arsenal of web standards toolkits are already in full employment, and demand far exceeds the supply. Since the only supply source left are these experienced amateurs, they still tend to be employed, because they are all that's left in the pond of website builders.
But is CSS design better?
Reading through the comments on PPK's blog entry, The New Amateurs reveals some interesting "evidence" of CSS' superiority. For instance, Roger Johansson says:
Try using a table-based layout with a screen reader or in a mobile phone. Sure, you can probably get to the info, but it's a lot more awkward than with CSS-based layouts. CSS layouts degrade well, table layouts do not.
Is CSS layout a benefit to screen readers?
Screen readers have been used on the web from its earliest days, so its had to adjust to the long history of tables-based websites. Screen readers were functional well before web standards became something more than Jeffery Zeldman's journey away from bad browser hell.
Yes, by moving to a CSS based layout, a screen reader has a lot less mucky markup to wade through - its a small improvement, but nothing really to write home about. This argument would have been great in 1996 because the screen-reader vendors would be able to point out the costly difference between implementations - but today, that gigantic investment has already been made in supporting tables layout. This argument's missed the boat by a decade.
Mobile phones as a web-browser
Taking the volume of web traffic generated by human beings surfing the web, what fraction would be mobile phones? (Here's your electron microscope). The argument that CSS based website are better for mobile phones is a convenient myth.
Russell Beattie is well-known for pointing out that there are more mobile phones out there than personal computers, and 5 billion people already have a mobile phone capable of surfing the web. Great soundbite - but there's hardly a serious discussion going on about how awful websites like Yahoo, Google, CNN, BBC and Amazon are on these devices. Either there isn't an audience for mobile phone surfing, or there are substitute services already available for mobile phones, or people believe that mobile phone surfing isn't the norm. Either way, pointing out an eventuality that may or may not come to pass is poor proof of the superiority of CSS.
When you use the argument "but tables layout doesn't work - the website doesn't work on my mobile phone", you'd better get used to that vacant lop-sided stare they'll give you while trying to decide whether that statement was the joke, or you. (Note that CSS doesn't solve the mobile phone problem - CSS can also impede the use of a site on a mobile phone - fixed width, or minimum width designs for instance. The argument that CSS is better because it can be switched off is neatly refuted by the argument that tables can also be serialised on request - notably mobile Opera has this feature anyway).
At this point in time, it is well established and well understood by website owners that no-one uses a mobile phone to surf the web. There is no reason to chose a mobile phone over a computer. Mobile phones have their own services - SMS, WAP that deliver all the useful services a person would generally find useful without having to resort to using a web browser. Even before resorting to the mobile phone web browser, a large majority of mobile users will either text or call their friends and ask them to look it up instead. Using the web just isn't a practical option - with or without CSS.
Knowing our craft
Molly Holzschlag understands the direction of the momentum:
The heart of the issue is simple: We must know our craft! And what we don't know, we must be willing to say we don't know and be open to learning
But, as part of the web standards and web accessibility echo-chamber, I feel I need to point out that we must know our craft isn't just about using CSS instead of tables. It also applies to us. If you know why CSS is better than tables - great. Be factual - use case-studies.
Don't keep retelling the myth of mobile phones and screen readers. That's no better than an overpaid consultant uttering a Zen-like mantra, taking the cheque and leaving. It leaves employees bewildered, irritated and angry. Nice sound-bite, but practically useless. Proof requires substance. If you can't prove to me CSS is a better approach, don't waste my time with half-baked easily refuted hand-waving.
The web standards echo-chamber
PPK recognises that web standards evangelism is basically an echo-chamber. We link to the experts, they link to us. We comment on experts blogs, they comment on ours. Great, it builds up a positive community of talent. But there's a barrier to entry - you have to be strongly interested in web standards, and geek enough to blog about it.
The problem with echo-chambers is that the more often a message is repeated, the clearer and longer that message is heard. Strangely enough, conversations are drowned out by repetitive sound bites. It takes a very strong - almost hard-line - rant to slow down or stop an echo.
And the most intruiging thing is that the loudest and clearest messages are typically memes. And more often than not, flat-out wrong. Anyone remember the "Internet Spring cleaning day", or the email that Bill Gates would give you a free trip to Disneyland if you sent this email to all your friends?
The strongest messages tend to be the ones that remain unchallenged and uncriticised - for good reason. For that reason, we need to be determined and focused that the genuine advantages of CSS are actually echoed. And the plainly bad and nebulous arguments don't get echoed. Just because a sound-bite sounds cool doesn't mean its sage advice.
We need to be critical about unproven advantages. Challenge the statements - ask for proof. With documented proof, then the advantages become undeniable. Documented proof is a solid foundation, and if web standards based development is as good as people in this echo-chamber are suggesting it is, then there should be ample concrete solid proof that doesn't fall over at the slightest gust of wind.
Can CSS save on maintenance costs?
If all the pages of a website (or websites) are done in a consistent way with CSS, then yes, maintenance time and costs drop. But this argument is also true if all the pages of a website are done consistently with nested tables and spacer images.
The problem in the real world is that many organisations already have big sites done with nested tables. It is more expensive to start using CSS on some pages, or mini-sites. This is because introducing CSS breaks the consistency of the current webpages.
Ideally, the best time to switch over to a CSS based layout is when a rebranding, or new website design project is on the table. Since at that point, typically, all of the old pages content needs to be migrated across, or rewritten, and the end result is a website (or websites) all consistently using CSS.
Trying to introduce CSS one page at a time creates big problems in consistency and maintenance; especially in organisations where multiple teams work on different parts of the site. You're going to have irate web developers hounding you for not being consistent, and making their jobs more difficult for no reason other than jumping on the buzzword bandwagon - for instance making the same content change on two pages feels like two separate pieces of work. First I have to quickly remember where in the nested tables maze a left-hand menu item is, then change it. Now I have to do it all over again on the second page, finding the exact same menu item. But this time in a markup that looks completely different to what we normally have.
Maintenance costs are reduces when pages are consistently simpler - when consistenly styled using CSS.
The numbers game
I find it disingenous that web standards is supposed to be about greater cross-browser compatibility, and yet when a point is raised about websites not working in the Mac version of Internet Explorer, the answer comes back (from Kevin):
No serious web surfer uses Netscape 4. IE Mac's now barely a blip on the browser landscape (well less than 1%), and Opera, any version, barely shows off at all (I know, most because it lied about who it was early on).
Yet heaven help any amateur that won't make their websites accessible because of the reason that the number of people using assistive technologies is "well less than 1%".
Web standards is about encouraging diversity
The benefit of webstandards is that it supports diversity - not because its a cool thing that works in Internet Explorer and Firefox. The underlying idea is we develop a site that conforms to the specifications of our medium.
We show no favouritism to a particular browser (or more precisely, we show no favouritism to user-agents). All we request is that browser vendors support the specifications they should have supported from day 1. The web is a collaborative medium, we have to work with others to ensure our message is heard. As long as a user-agent supports HTTP/1.1 and HTML (4.01 and above) - that is all we ask.
Professionalism or passion?
Some people work to live - they do what they must to earn a paycheck at the end of the month. The vast majority of the employed workforce is like that. Its a regular eight till five grind. This mindset was imposed on us by the Industrial revolution, and it certainly was an improvement to what was before: working all day out in the fields just to make sure there was enough food on the table for your family.
I am one of the luckiest people on the planet. I'm passionate about my job - because I love what I get to do. Not everyone gets the chance to do the job they enjoy. The web is a consuming passion for me - so naturally all my interest lies in understanding the medium to the best of my ability. I have a thirst for knowledge, a childish enthusiasm to learn new things about the web.
Because of that passion, I'm committed to doing the best I can. I succeed because I have an unquenchable thirst to understand. It is because of that passion that something like web standards appeals to me. Its elegant, classical in its simplicity, and aesthetically logical. I'm professional only because I'm passionate.
And I'm not the only one to feel this way.
But I accept that other people have interests elsewhere. In movies, in travelling, in people, in cars, in horses, in orienteering. These people work to accumulate enough money to enoy their hobbies. Work is a means to an end - and nothing more. Whether they build websites, or build brick walls, or shuffle paperwork - its largely irrelevant as long as the paycheck arrives.
Should these people be forced to uphold the standards we set?
Its not conclusively obvious that using tables for layout is bad. Its just not in vogue anymore. Right?
- PPK: The New Amateurs
- Roger Johannson: A web professional can never stop learning
- Molly: Web Standards and The New Professionalism
- Accessify: Interview with Andy Clarke (AKA Accessibility, the gloves come off)
- PPK: The New Amateurs - Part 2