All in the <head>

– Ponderings & code by Drew McLellan –

– Live from The Internets since 2003 –

About

Defensive Design for the Web

25 March 2004

I’m usually the first person to quote the mantra that no software is bug-free, especially as I’m usually the one who’s written the code, but the inescapable fact holds true that if something can go wrong it will, and that bugs will be found by the end user no matter how much testing you do. In real-life systems (like shops and restaurants) if something unexpected happens, the people involved just adjust to cope. We’re human beings capable of intelligent thought and able to adjust our actions based on whatever comes our way. The show must go on.

Defensive Design for the Web In contrast to human beings, the software we use on a daily basis is completely deterministic. The flow of the program can be logically followed, including any choices made based on the users input. That’s essentially how software works and how it’s written. For software to cope with different situations the developer has to preempt what those situations might be and to code responses to them. Considering all the things that can possibly go wrong with anything (usually the biggest number you can conceive plus one), this is a very difficult task indeed.

Add to the magnitude of the task the fact that developers are already using every cycle to hold the normal process in their heads and to code for that, and designing for every possible circumstance seems either vastly expensive or just damn impossible.

Well, it’s not. Here’s a book that tells you how to do it. It’s easy for busy people to dip in and out of, and it’s full of great tips. I bought a copy of 37signals’ new book Defensive Design for the Web and I’m jolly glad I did.

- Drew McLellan

Comments

  1. § Brian: Looks interesting Drew.
    Do you normally buy from Amazon.com? If so, I can see why, $17.49 in the States but that translates to £16.45 here using Amazon.co.uk.
    This morning the published rate is £1 = $1.80.
    Sorry to take the comments away from the main thread, and to make a fuss over a fairly small amount, but this happening a bit too often.

    Aah, I feel better now…...
  2. § Mike Jones: I bet its because theres more readers of this site in the USA than the UK…
  3. § Drew: Yes, that’s primarily it, Mike. Plus with Amazon.com as your starting point, it’s easy for anyone to munge the URL to that of their preferred branch.
  4. § rotoass: SCRIPT LANGUAGE=”JavaScript”

    function stopError() {
    return true;
    }

    window.onerror = stopError;

    /SCRIPT

    solves everything!
  5. § Jesse: Hmm just got the book and like it until page 109.. Noting that someone’s browser does not support CSS is great but people who use screen readers will be forced to hear that warning over and over again. One should be very careful what they hide with @import for the screen reader reads all ;)

    Still though.. common sense book, good for a back up in arguements with committees!

Photographs

Work With Me

edgeofmyseat.com logo

At edgeofmyseat.com we build custom content management systems, ecommerce solutions and develop web apps.

Follow me

Recent Links

Affiliation

  • Web Standards Project
  • Britpack
  • 24 ways

I made

Perch - a really little cms

About Drew McLellan

Photo of Drew McLellan

Drew McLellan (@drewm) has been hacking on the web since around 1996 following an unfortunate incident with a margarine tub. Since then he’s spread himself between both front- and back-end development projects, and now is Director and Senior Web Developer at edgeofmyseat.com in Maidenhead, UK (GEO: 51.5217, -0.7177). Prior to this, Drew was a Web Developer for Yahoo!, and before that primarily worked as a technical lead within design and branding agencies for clients such as Nissan, Goodyear Dunlop, Siemens/Bosch, Cadburys, ICI Dulux and Virgin.net. Somewhere along the way, Drew managed to get himself embroiled with Dreamweaver and was made an early Macromedia Evangelist for that product. This lead to book deals, public appearances, fame, glory, and his eventual downfall.

Picking himself up again, Drew is now a strong advocate for best practises, and stood as Group Lead for The Web Standards Project 2006-08. He has had articles published by A List Apart, Adobe, and O’Reilly Media’s XML.com, mostly due to mistaken identity. Drew is a proponent of the lower-case semantic web, and is currently expending energies in the direction of the microformats movement, with particular interests in making parsers an off-the-shelf commodity and developing simple UI conventions. He writes here at all in the head and, with a little help from his friends, at 24 ways.