When I looked around, the aisle was empty, which was hardly surprising as anyone looking for a computer book in my local Borders had to circumnavigate this raincoat-clad weirdo kneeling on the floor, pulling out books, groaning, tutting, swearing and slamming them back. It would have scared me, had I not been the aforementioned weirdo.
My mission had seemed simple enough – to recommend a good-quality guide for an acquaintance who’s learning how to build websites (using “algebra” according to his wife). It should ideally be aimed at someone who uses computers regularly, but has no grounding in web design or programming. I went into Borders and then looked at the various popular series of books, including “For Dummies”, “Quickpro”, “24 Hours” and “Bibles”, confident that I’d find something suitable. And it seemed that fate was smiling when the tannoy announced a 25% discount on all computer books. My excitement increased on discovering an entire shelf called “getting started with web design”, but then I’m rather easily excited – and 15 minutes later I was livid as the result of my search was a big fat zero.
I found only one book I even considered recommending, and I found it online: Build Your Own Web Site The Right Way Using HTML & CSS by Ian Lloyd, published by Sitepoint, and the only reason I couldn’t recommend it is that it doesn’t cover everything I deem essential. As for the rest, I haven’t been so cross since I wandered into the Religion aisle by accident. I feel strongly that an author who offers training to people with no prior knowledge has a responsibility to set them on the right track. One problem they all share is an incomplete syllabus, but most of them actually commit the unpardonable by actively telling learners to do things the wrong way. I don’t preach standards for their own sake, but the ones relating to web development provide tangible benefits to website creators, especially beginners. When geeks talk about web standards they generally mean the recommendations of W3C, combined with acknowledged best practice, but what I mean are three very basic principles:
1. Separate content from presentation
2. Write semantic XHTML markup
3. Adhere to current XHTML guidelines
I covered point one in my September column, and suffice to say here that separating content from presentation means using XHTML for words and pictures (except those that are part of the design template) and for nothing else – Cascading Style Sheets (CSS) are to be used to specify all formatting and layout. It’s therefore no longer acceptable to teach the use of embedded tags to specify how the text should look: the tag is strongly deprecated and supported only for backward compatibility with older sites. Using it is very bad practice because it bloats your mark-ups by making each page a bigger download than need be, and it makes changing font size, style or colour a matter of trawling through every page in your site rather than making a single change to a CSS file. I don’t know a single leading web designer who would countenance the tag on one of their sites, so why is it taught in almost all these beginners’ books?
Then there’s that old favourite – the table-based layout. One of my clients recently elected to shop elsewhere for a simple website, having been convinced by a company that handles some other work for him that they could also build him a site. My clients are of course free to engage who they will for a particular job, and once I’d walked the dog several times round the block to calm down, I decided to take a positive and constructive interest in the result he received. With amazement, larded with grim satisfaction, I visited his site for the first time after its launch – leaving aside a colour scheme that looks as though an unwell dog had wiped its backside on the screen (bitter, me?) I was surprised to see this brand-new site displaying a Doctype declaration that proclaimed it compliant with HTML 4 Transitional. That standard was introduced in 1997 and has now been superseded twice. To be fair, though, the most recent widely implemented standard (XHTML 1) was introduced only in January 2000, so the designer of this site has had only nine years to get to grips with it.