Surprise surprise… some people don’t agree with the opinions expressed in my post on the meaning of the term “standard” in relation to the web. wow, I didn’t see that coming!
One comment and one blog post in particular I would like to comment on. Warning: I intend to use some analogies to make my points. Please don’t argue my analogies down and then claim that makes my argument invalid – that’s not how this works. And remember that great saying about arguing on the internet and the special olympics. I won’t repeat it here but Google it if you’ve never heard it.
Derek Vadneau said (in part):
I’ve got more than a hammer in my toolbelt so why not use what gets the job done faster?
John Wilker posted in Why are so many things, Black and white?:
I see it all the time, “my language, framework, micro architecture, schema is better and anyone who can’t see that isn’t a professional/isn’t looking/is myopic/is not willing to grow”.
There’s a simple answer: when people started using tables for layout back in the Netscape 2 days, they were hacking. Misuing the element. Doing something wrong. It’s just that no one realised the implications until a few years later.
Tables are not the tool for layout of pages. They are for display of tabular data. It’s not something a matter of opinion or something that’s up for discussion, it’s black and white, clear and simple. If someone told you they use their katana sword to trim their nose hair, you might suggest a small trimmer or perhaps a pair of nail scissors (at least you’d know what to get them for Christmas). Sure, a katana sword does the same job, but that wasn’t the intended purpose and there are other risks involved (namely, removal of the nose along with the hair). Tables work for layout, but that wasn’t the intended purpose and there are other risks – degraded accessibility, HTML bloat, design limitations, etc. You wouldn’t expect a professional beautician to use a katana to trim nose hair, and neither should you expect a web professional to use tables for page layout.
Here’s another one: imagine a builder. There’s a new type of – I dunno, let’s say roof tile. “President of BuilderCorp, why aren’t you using the new BrandX roof tile? It’s cheaper, the colour lasts twice as long without fading, and I hear an experienced crew can get it up in less time.” President of BuilderCorp says “I don’t have time for that new fangled stuff. My crew would have to learn a new way of laying tiles, and while they are getting up to speed I would be losing money.” It’s only a matter of time before consumers start to request the new materials – when BuilderCorp’s competitors start using the difference as a marketing tool – and that’s going to start costing BuilderCorp business.
Web standards and CSS-P are no different. It’s all about professional development. I talked about it on my other blog, zombiecoder kay– the one where I only talk about standards – in Being Professional. That article has references to other posts on the topic by Molly and Andy Clarke. Now Joe Clark has come out with a post in the same vein: Failed Redesigns. The tone of these kinds of posts is starting to get more serious – it’s 2006 now people, it’s time web professionals started acting more like professionals in other industries.
I have a theory about programmers (and not just ColdFusion programmers). They learn HTML in five seconds flat – it’s easy right? Comapared to actual progrmming languages, it is. They never bother to learn it properly because it’s not considered important. Experienced programmers scoff at obvious newbie mistakes, like the misuse of pound signs in CFML, yet these same programmers think nothing of huge tracts of CSS with identical redundant font declarations on every rule. Misuse of HTML can make it very difficult to change the look and feel of applications – I see this all the time in otherwise brilliant open source applications and community code. If more programmers realised how simple and powerful plain HTML with presentational information separated out into CSS files can be – applying the same principals that work so well in application code -the world would be a better place. And really, people who can master CFML or OO or SQL or write CMSs or whatever can surely learn to apply a little intelligence to their web application’s output.