Crossing the chasm between design and code
Recently there was an excellent post by Mike Rundleabout how one person can be a designer and programmer at once.
I think having a designer and programmer in the same person is a great idea. I wish I would be better at design (not only do I lack experience, I’m also not sure if I would have the patience to become a good designer).
When I’ve worked with designers before, I sometimes noticed that they would just give me a design to implement, which I did. If something didn’t work on the iPhone (for example, creating an endless navigation structure) I would report back.
There is a problem with this: often times, there is a gap between the knowledge of the designer and the programmer. The designer doesn’t always know what’s technically possible, what’s simple or what’s a good idea. On the other side, a programmer often doesn’t know what makes good design.
I think the best teams are with people who have an overlap , instead of a gap. For example, if a designer knows how to program, they know the kind of things that are possible. Also, programmers need to know more about design.
One good example of where this is done is the Square credit card field, which is not just design or programming, but really achieves synergy by combining them.
Another thing is animations: a lot of designers aren’t used to this yet, mostly designing interfaces that don’t animate. Programmers often don’t know when it’s useful or meaningful to do an animation. They just want the button to do what it’s supposed to do. If we both move a bit closer towards each other, I imagine it could improve software a lot.
To come back to Mike’s article, when one person knows how to design and code, there is no gap between that knowledge. A very powerful combination indeed.