Bulletproof Web Design ReviewThursday, August 25th, 2005 at 1:51 pm
Dan Cederholm did it again: The author of the indespensable “Web Standards Solutions” delivered with “Bulletproof Web Design” a wonderful follow-up showing you how to use CSS and XHTML to create flexible web sites. One of the main reasons developers still stick to layouts using tables – their resizability without breaking the layout grid – has lost a lot of its punch after reading this book and following its advice.
Just like in his older publications, Dan is based deeply in our developer world and does not dwell in theory, but explains the issues we have to face daily and offers solutions to them.
Bulletproof Web Design revolves around the ideas of creating CSS layouts that do not break apart when the font size is changed or even resize with the resolution.This is nothing new, but harder to grasp for some of us than for others. Learning to let go of the defined sizes of print and oldschool web design is a process that some of us have to learn babystep by babystep, and this book explains with examples and code how it is done.
I especially like the style and the format of the book. Unlike the overwhelming Wrox and OReilly books, New Riders seem to have realised that developers are on the go and would like to carry some books with them without getting one arm longer than the other. All examples are accompanied by screenshots and illustrations to make them easier to take in and the writing style is straight to the point without any evangelism or best case scenario talk. It is a book to use when something goes wrong and find a quick solution.
I especially liked that there is a whole chapter dedicated to the contingency planning of CSS layout – making sure that your pages work with CSS and/or images turned off, too. This is one aspect that is often forgotten when developing pure CSS/XHTML solutions – think of all the image replacement techniques that fail when images are turned off.
One small thing I realised though is that the book teaches you to create flexible elements and in the last chapter a whole page, but does not take into consideration generated code too much. It is of course a lot easier to create a really sexy navigation when you can add IDs for every element, it is a different issue altogether when your navigation is fed by a database and maintained by different editors in 12 different languages. This is some flexibility I would have expected from a book nowadays, as making static sites is not really a futureproof business idea.
Another thing I recognised is my pet peeve: Using CSS to indicate the current element in a navigation.
Yes, it is sexy to highlight a navigation with CSS only, it is also not very accessible, as users without CSS will not know what is the current section. Furthermore, the current section landing page does link to itself if you only rely on CSS to highlight, and that is a basic usability mistake.
It is not hard to dynamically create a highlighted navigation from a static navigation include and it means a lot thicker usability/maintainability armour to be even more bullet proof.
All in all it is a buy well worth it, especially when you are surrounded by designers who just don’t grasp that web design is not rigid.