Edwin writes:

One thing that bothers me often, is the design of the user interface. I’m a web developer, using Rails and capable of producing valid HTML, CSS and JavaScript. So, I should be able to build a simple interface. But, if you want a more “stylish” interface, you probably also want to play with graphic programs and create neat icons and logos. Hiring a designer is often expensive and can cause the developer to loose sight of the epicentric design decisions.

How does 37signals solve this problem? Do you have a full-time designer working on a website or do the CSS-freakz create the website interface?

Thinking of designers as someone who paints the application pretty in Photoshop is a common but unfortunate misconception. We certainly don’t have any designers like that. Instead, our designers apply their talents to the native materials of the web by working directly with HTML, CSS, and occasionally Ruby code or JavaScript.

That’s a slightly odd notion to a lot of web programmers. They consider HTML, CSS, and especially JavaScript and Ruby code to be their domain. If designers work with exactly the same materials, how are they different?

Think of it like paper and pencil. A programmer can use those tools to create a technical diagram of databases and objects. A designer can use those same tools to create a compelling layout with a flow that’s just right.

When designers and programmers work with the same materials, they speak the same language. That’s an incredibly helpful way to work together (contrast with artists speaking in Photoshop and “HTML cutters” trying to adapt that to the web).

Designers decide and design the flow, the copy, the structure of the page, the programmers make all of it come to life by plugging it into the backend. All along both parties trade concessions on how to get the feature done as fast possible by grabbing the easiest value.

So stop thinking about designers as artists who work in a different universe of neat graphics and start thinking of them as someone who decides what goes where, which form elements to use, how to split features between screens, what words to use, and how everything fits together in a coherent experience.