I'm sure this will sound strange to some people, but I was happy to stumble on several Eclipse user interface design documents yesterday, including their UI Best Practices, User Interface Guidelines, and Top Ten Lists Working Page documents.
A few years ago, when I led a Swing rich client software development effort (consisting of as many as eight developers at one time, and lasting for several years), I was given a lot of grief by the developers for creating a User Interface Guidelines document for that effort. Believe me, I didn't want to go through that effort, but without a set of guidelines to refer to, our developers were all over the place, getting very "creative" with even the most simple dialogs. In short, there was no alignment anywhere, colors and fonts were all over the place, etc.
It was on this project that this point was really hammered home to me:
Designers design, programmers program.
(Or, if you prefer, "Designers design, developers develop.")
I'm sure that comes across pretty harsh to some people, but as a general rule, that's the way applications should be developed. Good designers are trained in design principles that most programmers either don't know, or only have a minor interest in.
FWIW, this saying comes from a similar sports saying: "Coaches coach, players play." I remember when I first heard that saying I thought players should be able to give feedback to coaches, and I think the same thing is true here. Developers should be able to give feedback to designers, but in general, as long as the designer is competent, the final decision should be theirs.
Here's a collection of links to Eclipse UI design documents:
designers need to develope, and developers need to design
In today's web, with tools like Flash (or more specifically, Actionscript 3), Processing and OpenFramework, it behooves any designer to learn how to program. Its the only way to do the really cool, useful and engaging, cutting-edge web designs. Conversely, these tools are being used by developers to do data visualizations and stepping-up the concepts of navigation and UI. Certainly, this does not diminish the validity of time proven design and UI principles, but it bodes a new era where the lines between developers and designers are blurring. The addition of Canvas and WebSockets to HTML5 is further evidence that this cross-over and blending is happening and only going to increase. As always, the web continues to evolve, and so must those creating content for it.
Well said, thank you.
Well said, thank you.
FWIW, one of my favorite introductory design books for developers is "The Non-Designer's Design Book" by Robin Williams, where she stresses the principles of Proximity, Alignment, Repetition, and Contrast. I think this a good starter book for a developer, expecially if they've never had exposure to design principles. (I bought it for all my developers, and some seemed to like it.)
As you've written about designers learning to program, the best Flash developer I ever worked with was extremely interested in programming. Once we learned how important it was to what he was trying to do, we started an internal class to teach programming to our design staff, including some Java, JavaScript, and SQL database queries.
I'm not a web designer, but it seems like some form of programming training is a requirement for that job description these days.
Post new comment