Yay - designer/developer "teams". Sounds fair enough, but it's gotta work both ways.
You as a designer need to be flexible. If I as a developer say "that can't be done within the given time/budget/constraints", you'll need to rework or rethink some of your precious design.
I as a developer need to sometimes do some more research to make sure something can, in fact, be done, instead of relying on 10 year old preconceptions about what's possible and what's not. I may need to tell a client/pm that we're going to do XYZ visually and IE5 be damned because I've looked at the stats and 0.21% of the visitors in the past 18 months used IE5.
I've rarely seen true teamwork collaboration between designer/developers in the web world, and it's worse in the 'virtual team / freelance' world, because pretty much every project is a new set of people working together for the first time.
What's more common is a designer puts together some graphic design which is fairly impossible to recreate in browsers, then complains tirelessly that it doesn't look exactly 100% the same on every single browser, including their WAP phone, iPhone and IE6 on XPsp1, and proceeds to tell you about their cousin who made all this work perfectly 6 months ago because he wrote some javascript to make everything awesome. Then the designer coming back 4 hours before a demo/launch and telling you that the color in the footer on each page needs to be different, but they're going away on vacation in 10 minutes and "it's pretty simple, just look at the 19 mockups I emailed to you in February" (conveniently named 'XPJ59 client X here's slide #1.JPEG', etc).
Also more common is a developer who takes no notice of the designer mockups that were approved by 8 people over 2 months, and just does their own thing with CSS3, custom modified jQuery, and only tests on their custom Konqueror or Chrome beta release, then pushes to Heroku where only they have an account and rights to push.
Yes, designers and developers need to learn to work well together to appreciate the issues each faces. Web designers do, in my view, need to have a better understanding of web technologies, understanding the limitations and possibilities of the tech. I don't see how you can do that without actually, you know, learning how to code some. Developers should have a better idea of how to use graphic tools, and sit in on some meetings where designers are subjected to idiotic whims and endless debates on shades of blue to have a better understanding of why the designer is bitching about what should really be a 2 minute change for the dev (cause the designer will get it in the neck from 8 people if they don't).
Design is not about the tools you use, and development is not about the code you write.
Developers can learn design fundamentals (and I mean really basic "what's the idea behind this color/element/typographic decision?") without touching Photoshop, Illustrator, etc.
Similarly, designers can learn about what is and isn't possible, without learning to code, through research about the existing technologies and their use cases.
"designers can learn about what is and isn't possible, without learning to code"
Depends on what we mean by 'code'. I don't expect designers to understand javascript, php, java, .net or whatever.
I do expect someone who bills themselves as a web designer to understand the basic fundamentals of CSS, what works on various browsers, gradeful degradation strategies, etc. I don't really think you can do web design successfully without understanding them, and I've never met anyone who really understands them who didn't also actually code html/css from scratch, at least at some point in their career.
It's probably possible to just read about it without opening an editor, but probably far less effective.
And re: developers - getting some understanding about colors, shapes, fonts, sizing, etc, to understand why some decisions are reached will definitely give a new appreciation for good design, and can help in other projects in the future where perhaps a good designer isn't available. I've stolen quite a few tricks from some designers I've worked with, and as time goes by I get better and using those tricks together in concert to make stuff that doesn't suck too bad.
Why would they implement a feature that's in every browser anyway? They should just design the site so that changing the font size through the browser works.
Buttons to change font sizes are anywhere in a browser's default chrome, therefore 99% of people don't know you can do it.
In general, I think it's dumb, but have been on the receiving end of "add font size buttons". No amount of "but you can just hit ctrl-+" does any good.
I believe his point was that a web design should be resilient to the fact that users can do this with their browsers. Among other things web specific I assume. That seemed pretty obvious to me anyways.
Similarly, designers can learn about what is and isn't possible, without learning to code, through research about the existing technologies and their use cases.
True to some extent, but the more you know about what is and isn't possible, the closer you are to basically knowing how to program. I suppose how abstract your knowledge can be depends on what you're trying to do.
For example, I think game designers need to know a significant amount about how game engines work: maybe not the algorithms of, say, gouraud shading, but they do need to know what's possible and not possible in NPC AI, and the more complex the behavior they're designing is, the more they need to know about how NPC AI actually works, to have even a reasonable guess at how their ideas would translate into reality.
A few people have argued this under the labels "computational thinking" and "procedural literacy", a category of skills that doesn't necessarily involve knowing the syntax of C++, but does entail being able to think in terms of algorithms and technologies. There's also an older idea of "design thinking" that sees it as almost always including some technical aspect; that's common in architecture, where the ideal architect is a designer but still quite familiar with at least parts of material science.
The problem is that in a startup environment, needing to constantly explain how web application design works can waste significant time and energy, decreasing morale and impacting momentum. It's a drag, and an unnecessary one.
Web applications don't need to have heavily designed UI elements. The kind of designer that's useful for a web application is one who has a deep understanding of the unique constraints and conventions of web application design, not someone who is a whiz is Illustrator or screen printing.
You're right. Every discussion about "designers should code" always shows problem in teamwork and communication, not in coding skills. :)
And even if as I was saying learning to code is a way to create these skills, like designing things is for developers, another way is just listening to the developers/designers in your team. It works very well and it's way more efficient for a lot of different people. :)
Agreed, although "just listening" doesn't go as far as "just listening while also having walked a bit in their shoes, or at least tried those shoes on for size."
Comments
Yay - designer/developer "teams". Sounds fair enough, but it's gotta work both ways.
You as a designer need to be flexible. If I as a developer say "that can't be done within the given time/budget/constraints", you'll need to rework or rethink some of your precious design.
I as a developer need to sometimes do some more research to make sure something can, in fact, be done, instead of relying on 10 year old preconceptions about what's possible and what's not. I may need to tell a client/pm that we're going to do XYZ visually and IE5 be damned because I've looked at the stats and 0.21% of the visitors in the past 18 months used IE5.
I've rarely seen true teamwork collaboration between designer/developers in the web world, and it's worse in the 'virtual team / freelance' world, because pretty much every project is a new set of people working together for the first time.
What's more common is a designer puts together some graphic design which is fairly impossible to recreate in browsers, then complains tirelessly that it doesn't look exactly 100% the same on every single browser, including their WAP phone, iPhone and IE6 on XPsp1, and proceeds to tell you about their cousin who made all this work perfectly 6 months ago because he wrote some javascript to make everything awesome. Then the designer coming back 4 hours before a demo/launch and telling you that the color in the footer on each page needs to be different, but they're going away on vacation in 10 minutes and "it's pretty simple, just look at the 19 mockups I emailed to you in February" (conveniently named 'XPJ59 client X here's slide #1.JPEG', etc).
Also more common is a developer who takes no notice of the designer mockups that were approved by 8 people over 2 months, and just does their own thing with CSS3, custom modified jQuery, and only tests on their custom Konqueror or Chrome beta release, then pushes to Heroku where only they have an account and rights to push.
Yes, designers and developers need to learn to work well together to appreciate the issues each faces. Web designers do, in my view, need to have a better understanding of web technologies, understanding the limitations and possibilities of the tech. I don't see how you can do that without actually, you know, learning how to code some. Developers should have a better idea of how to use graphic tools, and sit in on some meetings where designers are subjected to idiotic whims and endless debates on shades of blue to have a better understanding of why the designer is bitching about what should really be a 2 minute change for the dev (cause the designer will get it in the neck from 8 people if they don't).
Design is not about the tools you use, and development is not about the code you write.
Developers can learn design fundamentals (and I mean really basic "what's the idea behind this color/element/typographic decision?") without touching Photoshop, Illustrator, etc.
Similarly, designers can learn about what is and isn't possible, without learning to code, through research about the existing technologies and their use cases.
"designers can learn about what is and isn't possible, without learning to code"
Depends on what we mean by 'code'. I don't expect designers to understand javascript, php, java, .net or whatever.
I do expect someone who bills themselves as a web designer to understand the basic fundamentals of CSS, what works on various browsers, gradeful degradation strategies, etc. I don't really think you can do web design successfully without understanding them, and I've never met anyone who really understands them who didn't also actually code html/css from scratch, at least at some point in their career.
It's probably possible to just read about it without opening an editor, but probably far less effective.
And re: developers - getting some understanding about colors, shapes, fonts, sizing, etc, to understand why some decisions are reached will definitely give a new appreciation for good design, and can help in other projects in the future where perhaps a good designer isn't available. I've stolen quite a few tricks from some designers I've worked with, and as time goes by I get better and using those tricks together in concert to make stuff that doesn't suck too bad.
They must understand that user can (and should be able to) change (just the) font size, if not their designs are often useless.
Useless might be a tad strong.
How many sites can you really change the font size? Unless of course you mean through the browser.
Why would they implement a feature that's in every browser anyway? They should just design the site so that changing the font size through the browser works.
Cause someone asks for it (or demands it)?
Buttons to change font sizes are anywhere in a browser's default chrome, therefore 99% of people don't know you can do it.
In general, I think it's dumb, but have been on the receiving end of "add font size buttons". No amount of "but you can just hit ctrl-+" does any good.
I believe his point was that a web design should be resilient to the fact that users can do this with their browsers. Among other things web specific I assume. That seemed pretty obvious to me anyways.
Useless is definitely too strong.
What's the percentage of users who manually change their font size? Is it the majority? Because if it's not, then I'd hardly call it "useless."
AMEN!
Death to adding those stupid "font size icons" to change to one of 2-3 predetermined sizes too!
Similarly, designers can learn about what is and isn't possible, without learning to code, through research about the existing technologies and their use cases.
True to some extent, but the more you know about what is and isn't possible, the closer you are to basically knowing how to program. I suppose how abstract your knowledge can be depends on what you're trying to do.
For example, I think game designers need to know a significant amount about how game engines work: maybe not the algorithms of, say, gouraud shading, but they do need to know what's possible and not possible in NPC AI, and the more complex the behavior they're designing is, the more they need to know about how NPC AI actually works, to have even a reasonable guess at how their ideas would translate into reality.
A few people have argued this under the labels "computational thinking" and "procedural literacy", a category of skills that doesn't necessarily involve knowing the syntax of C++, but does entail being able to think in terms of algorithms and technologies. There's also an older idea of "design thinking" that sees it as almost always including some technical aspect; that's common in architecture, where the ideal architect is a designer but still quite familiar with at least parts of material science.
The problem is that in a startup environment, needing to constantly explain how web application design works can waste significant time and energy, decreasing morale and impacting momentum. It's a drag, and an unnecessary one.
Web applications don't need to have heavily designed UI elements. The kind of designer that's useful for a web application is one who has a deep understanding of the unique constraints and conventions of web application design, not someone who is a whiz is Illustrator or screen printing.
You're right. Every discussion about "designers should code" always shows problem in teamwork and communication, not in coding skills. :)
And even if as I was saying learning to code is a way to create these skills, like designing things is for developers, another way is just listening to the developers/designers in your team. It works very well and it's way more efficient for a lot of different people. :)
Teamwork, and trust.
Agreed, although "just listening" doesn't go as far as "just listening while also having walked a bit in their shoes, or at least tried those shoes on for size."
I saw a presentation by a designer/developer team a couple years back - one blog entry on that is here: http://www.viget.com/inspire/stop-driving-your-developers-cr...
Another here: http://www.viget.com/extend/stop-pissing-off-your-designers/
And slides here http://www.slideshare.net/mindywagner/10-things-designers-do...
Yeah, that's a huge collection of communication problems, great. Exactly on spot. :)