Why Designers Should Code
carsonified.com
carsonified.com
A good process can ensure that designers and developers find solutions together that both look great and are reasonable to implement. Main thing, as with many things, is just good communication and an open mind on in all sides.
Same way that a printed designer doesn't own and control the printers that the final designs are printed on. However, they do understand the properties of different types of paper and effects of different printing techniques.
Understanding what you can do in CSS and what will require an image file or javascript to work is pretty important in designing an efficient site. I've seen designers with pretty looking ideas that are really difficult to implement. They say, "but you can do it right?" and it can be done, but they don't realize what they are asking for.
1) Considering the costs of implementation limits the space of possible designs thus reducing originality.
2) Considering the costs of implementation limits the space of possible designs thus inspiring creation.
Which is just an obnoxious way to say that sometimes it's pretty damn useful to design things that are hard to implement. If you're too tied to the CSS, you won't try dumb enough things often enough and that's a direct line to insipid design.
But when there are two designs that are equally good, start with the easier to implement one. If you know how to code, then you'll have a sense which one that is. If not then you'll consistently make things unnecessarily hard to do.
And at this point, I agree. If you know how to code you can use the principles of practicality to guide your final decision to a design that fits the medium.
But I'm always starting with pen and paper drawing things that could never exist in your browser. I think it's integral.
But have you not also worked with coders who are fundamentally inept at design, making it seem like they're almost blind? I know I have, but for some reason we seem to more often accept this kind of very similar lack of tangential skill level.
Functional and elegant rarely equate to a designer as they do to a coder. For example, I know that many of them would really dislike Hacker News. Not enough, "pop" or "zing" to it.
My point is simply that before we complain about designers lack of coding ability, perhaps we should first educate those in our own trade about the fundamentals of design — because coders are no better at this. Glasshouses, and all that.
But consider the fact that many coders don't have the most basic grasp of design. Not even really fundamental things like alignment, proportions, which colors go well together, or even how to phrase a sentence so it makes sense to the user — which isn't even design, it's just english.
I think it's kind of a jerk move for coders to expect designers to like or care about coding, even really simple fundamental stuff, when many coders are notoriously lacking in the design or even taste departments.
Having said that, it is obviously a huge benefit for both coders and designers to at least know the basics of the other's trade.
One could even argue that you're not really a truly talented developer nor designer until you do; but, before we come down on designers, let's look at the state of design skills in the coding community.
Lots. Big agencies I know of have designers who spend all day in Adobe products and don't touch the code. These are the people creating official sites for movies, video games, Fortune 1000 brands, etc.
So it depends on where you find web designers: If it's through blogs and such, then yeah, a bigger percentage of them will also do front-end code. But from my experience, agencies tend to compartmentalize.
Sure, they don't have to be great designers (much like designers don't need to know anything more than HTML and CSS).
However, a good programmer can create really bad software if they don't know anything about design. Many of the same "reasons" from this article can be applied to programmers designing, too.
For instance I find myself in back end roles. Take my current job. That is a mix of analyzing software for what needs to be monitored, writing said monitoring, and fixing or escalating when said monitoring indicates that something has gone wrong.
Nothing I do comes anywhere near anything resembling an end user. So what point is there in my learning about graphic design?
On the other hand every good person I know who does front end development also knows something of design. If for no other reason than to establish a common language with the designer.
But taking your point one step farther, I think it is important that everyone learn something about the jobs of the people we interact with every day.
When I read the title I assumed it referred to HTML+CSS gurus and why they should learn javascript + some server side languages + databases.
I'd say a more logical cut off point is between presentation and business logic. Presentation includes html, css, photoshop. Business logic is server-side scripting and databasing.
Knowing how to build a web page lets you begin to grok how the web works. A better understanding the medium will produce better results, in general.
In practice, however, in a startup working on an app of sufficient complexity, it's not scalable for the creative to be designing and coding at the same time. More time spent fidgeting with HTML means less time iterating on UX and aesthetics. At some point, someone needs to completely own the design.
My personal experience is that a prolific dev team will easily backlog you with features that need UI. I often have to run with my first or second mock-up because time is so critical.
All that said, I can't agree more that designers should learn to code. Print isn't dead yet, but at some point it has to get there. Being fluent in new media is about survival.
A real architect can build his design. An architect has to learn to build before she learns to design.
I just think that's a profoundly different thing
How can I make a `0_o` take up half a page? Oh, right, HTML is sanitized in HN comments.
Who dare call themselves anything shorter than "Graphical Designer for the Web" and not be able to mark up, not even code, but mark up their own designs?
Many people view code as a restriction to a designer but when I learnt to code I found it liberating. Far from being a restriction, it opened up a whole new realm of creative possibilities.
Code is language. Code is math. Code is both, and none of the above.
Code is a natural extension of thought, same as with language and math. It belongs in the same category as these two. I think everyone should code, it'd do much good to absolutely anybody doing anything anywhere where their job includes using gray matter.