Designers Don't Need to Code
David Heinemeier Hansson misses the mark when he claims that designers should code their own XHTML/CSS templates.
Iâ€™ve worked with many web designers in the past who only did abstractions and then handed over pictures to be chopped and implemented by â€œHTML monkeysâ€. It never really gelled well. The things that got strong attention were all the things that Photoshop did well. Imagery, curvy lines, and the frame. All the around stuff, never the it stuff.
I’ve always thought this was a preposterous notion, that the designers should slice and code the templates that come from their mockups. Designers don’t need to focus on browser quirks or the proper way to float columns any more than developers need to worry about how to layer gradients, generate patterns, or whatever fancy tricks that designers might do. Given 37Signals’ recent post about making design updates in live code rather than using Photoshop, I imagine this is a function of their business: web apps that intentionally avoid graphic design.
37Signals is a sweet company that produces highly usable web software. They design software. They design interfaces. But they don’t really design websites, except for some product sites, and those aren’t very good. (Aside: Maybe it deserves its own post, but having frequented their apps and product sites for years, I am frequently frustrated by their product sites. Go ahead and find the login for your Basecamp account.)
Ultimately, there’s an underlying value to what he says but I doubt he really understands why.
From my experiences, I have learned that designers must have an understanding of what goes into the templates. The lack of awareness of how fonts work on the web has caused more than a couple of arguments between our designers and developers. His point about content styling, however, is spot on. Just as designers should understand the development process, developers should understand design concepts and be able to carry a designer’s vision through to completion.
The most important lesson from this debate is this: design isn’t a hand-off to the developers. Keep the designers involved throughout, with opportunities to help tweak and finesse. If the process is in two parts, the product will reflect that.
Design cannot be a battle between artists and engineers: it falls somewhere in the middle. And from these recent posts, it sounds like 37Signals is on the engineer end.
Update:Â Reading through some of the comments on the original 37s post, it’s clear that DHH stirred a hornet’s nest with this. Designers, developers, programmers, and any mix of the above seem to have very strong opinions about their roles in web projects. Here’s a gem comment from Jeff Croft: