Vitamin has an article about understanding & working with designers. I'm not sure I took away anything other than knowing I'm not alone afterall.

The gap between the creative and developers is actually quite substantial. If I could naively reduce the problem down to tools, then this analogy could succintly describe the issue: You are tasked to co-author a book using Wordstar2000 with somebody using Microsoft Word Powerpoint - somewhere along the line, one party will need to close that gap. In this part of the world, more often than not, its the developers that closes this gap (not always doing a good job, me included). Otherwise, the designer and developer will be the same person. That's where you get flash-only websites (those that lets you click Skip flash presentation using a flash button), and

A site's design is carefully thought out, planned and template pages are created, "here's the main page, inner pages, forms and blah. now, go forth and multiply!". The programmer takes this goodie bag of hair, nose, eyes, ears and proceeds to construct the face.. do some code to make it blink... sprinkle the eyes here.. do some code for smiling... plaster the lips there... voila! At this point, the creative side has 2 options, iterate over the design or throw his hands up and the product ships.

Through iteration, hopefully the programmer learns design better and designer understands technical constraints better. You'd think that after many iterations, projects after projects, this gap ought to come pretty close right? Strangely, it often doesn't. We all know programmers has no taste, so that's a dead end. And I know of online marketing companies that has designated "html cutters" (in case you can't picture it, their fulltime job is to take a piece of museum-ready artwork done by the creatives, and html-ize it. Man... )

What will it take for the situation to improve?

Few months back, during RailsConf, I had the good fortune to chat with Bryan Wood of Lendmonkey. He related to me how great the process was to work with Amy Hoy for their Railsday project: Freckle.

  1. Start coding up some pages, forms and the skeleton app
  2. Commit the files into the repository.
  3. Continue to work on the applications (like, erm, make it actually work)
  4. Time to time, synchronize your code with the repository
  5. After a while, during one of the updates, lots of files and images are downloaded... you refresh your page and WOAH! Your web app looks pretty!

This 5 bullet points covers the web development process from the developer's point of view. A designer that closes the gap. Sounds surreal to me. A dream come true. I have never seen it in action.