Designing for the Future, and the Training Gap
Note: The content of this page is very much out-of-date and may no longer be relevant or correct. It is kept here for little more than archival purposes. Please bear this in mind before reading on.
How do you encourage unenthusiastic developers/mark-up authors to adopt forward-thinking web development methods?
How do you engage people who consider their work on the web as just that: ‘only work’, something that pays the bills but doesn’t exactly leave them beside themselves with excitement?
I am but one individual in a team of many (in my place of full-time employment) and I am from a strange breed - I have a passion for the web! What happens when you are part of a team that is not as uniformly enthusiastic to learn?
This is a problem that faces many IT managers and standards advocates working in the corporate sector. Though we’re doing good things in adopting accessibility practices and optimising our code, it’s still very difficult to get a site to conform to all the major standards in the real world. Why is this the case?
Learn from Textbook Cases
Andy King’s book Speed Up Your Site includes numerous tricks and tips for committed web developers. Jeffrey Zeldman’s Designing With Web Standards is a tome of practical, well-thought-out techniques. Both not only explain how to improve the way we develop sites for maximum efficiency and future-proofing, but they also clearly detail why the problems exist in the first place.
These are just two books among many that have made me think and re-think about how I build personal sites and company projects. I devour the content of these books and regurgitate it - metaphorically speaking - wherever I can. Sometimes these tips and tricks find their way on to the corporate work, but invariably they’re resigned only to my personal work.
Most of my learning happens on the toilet. Sorry! As unappealing as that is, that’s where I pick up most snippets of information (they say that the seat of learning is Oxford but I beg to differ - it’s the downstairs loo). Because I have a passion for what I do, I’ve made it my business (no pun intended) to learn how to construct table-free page layouts, make pages accessible for keyboard-only users, provide different views of a page through alternative style sheets, and more. I don’t have to. But I want to make things work better, faster and cleverer. But we’re not all like this. Most people would rather read a newspaper on the toilet. Or maybe nothing at all. But that’s quite enough of our potty habits for now. Shall we move along?
Individuals Lead the Way
It’s true that most corporate sites fall way behind the personal web sites of mark-up and standards gods and goddesses (e.g. the aforementioned Zeldman, Owen Briggs, Ben Henick, Simon Willison, Dan ‘Waferbaby’ Bogan, Jeremy Keith to name but a few personal favourites among many).
This is because it’s far easier for an individual to introduce a novel or clever way of doing things - there are no committee decisions (and therefore no split decisions or arguments). As well, no matter how progressive and forward-thinking the company you work for (and I believe Nationwide qualifies here), there will always be an issue with introducing ‘new’ methods. Let’s just overlook the fact that many of the methods that I’ve alluded to are actually a number of years old (CSS2, hello?) - it’s all about perception. If other people, and by that I mean ‘corporates’, are not doing it, then it must be new, right?
Look at just a handful of the things happening on these forward-thinking personal web sites:
- Totally CSS-based page layouts
- Gone are the tables that were never intended for layout purposes (tables are for data, folks - layout grids are an abuse of the mark-up, an abuse that we’ve come to live with and accept a bit like an irritable auntie with an equally irritable terrier that visits every weekend). Now we can view such sites on a PC, a handheld device, using a screen reader and more, and we get the added bonus of quicker-loading pages.
- More usable forms
- The
<label>
,<fieldset>
and<legend>
elements are supported by most modern browsers, and in the right hands they can make a form far more usable and accessible. And they’re definitely semantically sound. - Data tables that work
- Using elements like
<caption>
,<thead>
,<tbody>
and<tfoot>
, and attributes such as summary, scope, ids and headers, data tables become meaningful to blind users accessing the content with a screen reader (rather than a jumbled mush of words and numbers).
Training is the Weakness
Let’s assume, for example, that browser support is not the issue, that you’ve taken a stance and agreed to support browsers that support web standards (while not completely turning your back on the older browsers). Let’s assume you’ve already said that your company is going to focus on getting things right for IE5+, Netscape 6+ (or Mozilla/Gecko derivatives) and Safari. Now inadequate browser support is no longer an issue. You should be able to do things right, right? The browsers you’ve settled on are up to the job so what’s stopping your company from moving forward? One word - training.
You may have a few individuals in a department that have a passion for doing things according to the relevant standards and as efficient as possible; but you are equally as likely to have a whole group of people - probably a much greater percentage - who do not share that passion. They may have learned HTML five or more years ago and are still using the same methods (tag soup) that they always have. Every team is different, but here are some that you may identify with:
- Fear of change - they know where they are with the ‘old school’ methods
- They believe that the new methods are more complicated
- They don’t understand semantic mark-up (in fact they have never even heard the word ‘semantic’ before)
- Their job is just a job and learning new things is either a bore or an intrusion into their personal free time (they just don’t get that whole toilet-seat-learning thing).
- They see themselves as ‘back-end’ people who would rather spend their energies optimising a SQL query than worrying about how the results might be rendered on screen, since “that’s for the UI guys to take care of…”
But perhaps the biggest reason is:
- No-one’s told them or shown them how.
And if we are indeed talking about people who otherwise won’t actively go out and learn for themselves, not only can you discount the likelihood that they’ll take a book home, you can also rule out them picking up new techniques from reading the weblog of an influential and knowledgeable individual. Perhaps you even know people who have been working on the web in one way or another for a number of years who would respond with: “What on earth is a weblog?”
When Simple Mark-up Causes Maintenance Woes
When I look at the mark-up on a well-conceived site, I understand the structure intuitively - “Ah, I know what that <h1>
means… Ah, so that nested <ul>
is the sub navigation” and so on. Editing such pages is - or at least should be - much easier than hacking away at one that relies heavily on the placement of <td>
s for layout. Although the page may be 50% smaller than its old-school counterpart, and it may be simpler to edit, what happens when someone else wants to maintain the page that has been so carefully crafted?
Here’s where I begin to fly in the face of common consensus - it being that if you code to web standards, it makes for easier maintenance of your site to those joining a project later. My experience has, thus far, shown the opposite to be true. It pains me to admit this.
No matter how simple the mark-up is, cleverly crafted pages can leave some people struggling. “Er, what are all these <div>
thingies? I don’t get it … why can’t we use a table like everyone understands?”. And just wait until they get a load of the Box Model Hack in your CSS file (or any other CSS hack, for that matter)! It’s not unknown for sites/web pages to go far forward in terms of standards compliance, only to be brought back down a level because the new, simpler methods are not properly understood by those who may need to maintain these pages.
Change Come from Within
From my experience though, once people do finally ‘get it’, they wonder why they didn’t do things more simply before. There is a definite ‘Eureka!’ moment, but if the person or persons concerned do not want to learn, you may never reach it. So they have to be told, enlightened - it needs a push on your part rather than a pull on theirs. But that’s not easy either.
Enforced training is not always gratefully accepted though (unless it involves a trip abroad and a nice expense tab, of course) and often the training is hideously outdated. The techniques described in Zeldman’s, King’s and other people’s books are not taught in any residential training that I have ever seen. The latter are still stuck in the old school “Let’s give ‘em <font>
tags and nested <table>
s” approaches.
Bottom line is - there are still too many people who only understand the old school methods of web design, and only when these people can get enthusiastic about adopting new methods will we be delivered to the promised land of perfect mark-up.
No Easy Solution
"So train them yourself!" I hear you screaming at the page. Perhaps it should be up to individuals to lead the way after all, but this may not be possible for a number of reasons:
- no time to train (everyone’s busy)
- no skill in training (it doesn’t matter how knowledgeable you are if you bore everyone to death)
- someone more senior than you doesn’t want to hear it from an ‘underling’
- it’s just not a sexy and exciting topic for a lot of people!
Perhaps we need to send uninitiated developers to a ‘Designing with Web Standards’ boot camp (are you listening Jeffrey?) and leave them in the hands of a capable trainer who can be trusted to enthuse and inspire others to greatness. Any training course today is liable to be of the “Here’s a <font>
tag, use it to make nice red text” variety - and that doesn’t help anyone.
So what’s the solution? Unfortunately, I don’t come with the answer, only my very evident frustrations.
One comment I received prior to publication was that “it has to come from the top down”. If management says this is how it should be done, and there are financial gains for doing so (a higher annual pay raise, for example) then you’ve got one big incentive right there.
The dream of writing mark-up based on standards is not a pipe dream, but it can be a nightmare getting other people to follow suit. I just hope that venting these frustrations might spark conversation among passionate people on the web about what can be done. In the meantime, if anyone can prove me wrong about the standard of training available (particularly in the UK) then I’d love to hear from you! I could fill a room with developers who are not yet up to speed on these new techniques - just don’t bore them to death in the process, yeah?