Book Review: Web Design For Developers


I recently finished reading Web Design For Developers: A Programmer’s Guide to Design Tools and Techniques and while I would like to have seen a few more specific details in a few places, the book overall does a great job of breaking down the mystic art of web design in a manner that allows almost any left-brained analytical developer to grasp the concepts and produce work of sufficient quality. If you are a software developer that is interested in web design, this is the book for you. It is full of great parallels between the two worlds and will help you understand how to create a design that works, while conforming to standards and be accessible to all types of browsers and devices.

image

The book starts out by describing a fairly common set of scenarios where a customer is involved in some discussion about what their current website looks like and does, vs what they want it to do. It’s an accurate portrayal of what really goes on in these types of meetings, leaving the reader with a sense of “ugh. not another nebulous, undefined set of ‘requirements’.”

After that brief introduction into the world of dealing with customers, the book jumps into the basics of design and talks about some of the key elements of laying out a site, including the need to do pencil sketches as wire frames. One mild issue that I have with this section of the book is that the author uses a lot of standard notations for various elements in the sketches but fails to define those notations or provide any links to information on what those notations are. While most of it is rather obvious, I was able to understand the intent of some of the sketches only because I have experience with wire framing tools that use the same notations.

There is a large section devoted to dealing with color, choosing color schemes and understanding the basics of how color blind people will see your site. This was one of my favorite sections of the book – both toward the front and later on when discussing accessibility. The author does a great job of explaining how to select color schemes and themes, even with a complete absence of creativity and eye for design. He points to some great tools on the web and other resources that will help almost anyone pick a set of colors that work well together. He also talks about the difference between light that reflects off surfaces like in the real world, vs. light that is projected from a monitor. This is a subject that I have wondered about for more than 15 years – why is a monitor RGB and real world light RYB? – and I have never found such a clear and concise description of the difference.

The next few sections of the book dive into creating graphics for the site, including the use of typography in those graphics. In these sections, the author introduces the notion of using a grid to layout your designs in the graphics editors and also in the actual website. In my 15+ years of working on the web, I have never heard of this before and I have to say that it was an eye opening experience to see how effective this technique is. You can take a site from “blech” with difficulty getting things lined up and spaced out correctly, to “wow” pretty quickly if you stick with the grid system that he outlines.

Most of the book is then devoted to constructing the homepage of the site… that’s right – one page and one page only. The in-depth analysis of every step in the process is quite amazing, though. I never once felt like the author was repeating any information or providing dull, dreary content that could have been better summarized (though I will admit that I skimmed over most of the html content. Since I was not actively building a website while reading this, I wanted to catch the high points of what he was saying without getting mired down in the angle bracket and attribute mechanics).

Toward the end of the book, the author does spend what I felt like was an in inordinate amount of time discussing accessibility for disabled persons. He does do a good job of explaining why, though – he is a somewhat disabled person and uses assistive technologies to access websites on a daily basis. Having done accessibility work on the web in recent years, I can assure you that every point he makes is correct. If you need to create a site that conforms to “section 509” for example, this part of the book is a great place to start. Beyond the in-depth look at accessibility for disabled persons, though, the author does a great job of explaining how accessibility is more than just that. He discusses making website accessible by anyone, anywhere, on any device – not just a PC with a full web browser, but a mobile phone and other devices that provide limited web capabilities.


Pro’s For The Book:

Approaches web development as developer not as a designer and makes the web feel comfortable for a back end software developer. In depth look at HTML and other web standards for getting a site done, not just for the sake of talking about web standards. Great discussion on CSS and how to effectively use it. Excellent information on color theory, graphics layout, and other seemingly “mystical” design areas. Provides a ton of information on great tools and how to use them to make your job easier.

Con’s For The Book:

Covers HTML 4, with only a few minor notes about HTML 5. Uses Photoshop and Illustrator throughout the book – very expensive tools – though he does offer alternate suggestions but says that you’ll have to figure them out yourself. Lacks a few resources for things like standard wireframe notation (“what does that big X in the middle of the sketch mean, anyways?!” … well, it’s an image place holder… but he never explained that).

 

Final Score:

In the end, I felt that this book was a great read and provided a lot of valuable information. Even with my extensive background in web design and development, I found multiple gems of knowledge that will have a direct impact on how I approach web design. I give the book a 4 out of 5. There were a few things I would have liked to see, but the book is an all around great resource for developers doing web design.

 

On a technical note: if you buy the e-book version, make sure you get a color copy as a PDF or another format. You will lose out on all of the benefit of the images and differences that the author illustrates if you don’t have a color copy. For me, I read the book on my kindle which is black & white. This made it hard for me to see what he was talking about – especially in the color theory section. However, I do have a print copy of the book as well, which made up for this.

Managing Bug Fixes Across Multiple Releases With Git Cherry-Pick