Its really good to see the passion come back for Jeffrey Zeldman lately as he rolls out an insightful and guiding light around the sphere of web standards, the development of specifications, and the underlying purpose of why they exist. He’s very much the Old Man of the Sea in our industry. In his latest post Why Standards Fail he discusses the W3Cs Design Principles as outlined by Bert Bos (published in 2003). In short, the importance of simplicity and the common good need to outweigh the interests in dark magic by esoteric power users. Something perhaps missing in today’s specification design.
Its an interesting article because rather than discuss the finer technical esoteric points of W3C specifications – just enter a debate on serving XHTML 1.0 as text/html and you’ll get what I mean – Jeffrey is discussing design of the specification. Its a bigger picture concept. Because, and he’s correct, if something is too complex for the common person then the specification is not going to be used by the common person. Does the web work because of an elitist .001 percent of developers crazy enough to troll the tomes of standards? No. It works because its simple to use and any nonce can get a website up without much drama.
Draw a horizontal continuum line across a piece of paper… somewhere on the left side you will have a point called the person’s ability where they have the skills and knowledge to achieve a given task. Then draw further to the right another point called the point of complexity which is the true state of the task they need to be able to achieve. Between those points lays the knowledge gap – the place where all those usability issues and accessibility issues and so forth cause users problems.
As a designer, our job is to bridge the knowledge gap for the user of the design so they hopefully experience as small an obstacle as possible. That’s good design. If we’re good at what we do then the user of our design does not even notice the gap at all. When that happens we’ve abstracted away the complexity of the problem through design. That’s the whole point of design, and it should probably relate to the way we look at designing web technology specifications. Unusable tomes of technical crap are actually going to be pretty much pointless – would you read it? Would you act on it? No. What you need is a concise document of instructions to achieve simple objectives in chunks.
Of course, going back to Professor Bill Buxton in his IxDA 2008 Keynote, this topic came up in the first five minutes. He discusses the threshold of complexity (or complexity barrier) – he points out that any feature which sits above the threshold of complexity does not exist in human terms except for a statistically insignificant few people who don’t count. This is the threshold of frustration for users. And, as designers, we need to be aware of where this threshold of frustration lays so that we can design beneath it.
By the way, if anyone knows where to find a video of Bill’s keynote from IxDA 2008 could you drop a link into the comments. I’ve searched and can only locate the mp3. I find its an incredibly powerful presentation for getting team members onto the same track about design and doing business. After all, we’re designing software when we develop web solutions. Not magic boxes of complexity.