7 ms·
Designers Will Code
- radley 14y agoFew think designer's shouldn't code. It's just two different trajectories. For example - when was the last time you drew something? Used water colors? A musical instrument? For most designers who cross over it's a gradual process using HTML, CSS, and usually Flash / Actionscript -- at least it used to be that way until programmers & bureaucrats mucked up Flash =P
- Draiken 14y ago> Few think designer's shouldn't code. I would love to say that is true, but I've met many designers that don't really want that crossing. Maybe it's a cultural thing, or we're still way behind here (which may very well be the case) but there are still many who think you should separate the design/implementation process. I don't agree with that, but IMHO these concept that people can't be good at both sides is an excuse. And an old one.
- hilko 14y agoIs it really an excuse though? Some designers can be good at both sides, sure, but my experience is that many designers simply cannot. Their mind blanks at the most basic programming concepts, and the level of abstraction needed for practical HTML and CSS is just too much. Believe me, I've tried. This works both ways too. I've met many developers who seem absolutely incapable of producing good designs. Even if I can convince them that design is important, and teach them basic design principles, their lack of innate caring about this is a big stumbling block. Technically, one could argue that anything that has rules applied to it is learnable, but practically that's just not true. Some people just have no sense of rhythm or tone, for example, and regardless of how much music theory you teach them, they can't produce good music. Now, on a more psychological note. I've found that most really good designers I meet are a certain type of person, far removed from the really good programmers I meet. I can't recall the last time I met this rare person who is really good at both, although I'm sure they exist. Using myself as an example: I'm for the most part a geek who started programming early in life, but intentionally switched to study psychology/communications and engage in more social/presentational activities, and finally move back to 'lite-programming' as a web developer. I am acutely aware of the fact that for great design I need help, and for great programming I need help too. Despite the fact that I'm an intelligent, talented individual, I simply cannot commit to one without creating a deficiency in the other. Hell, I might not even be capable enough for it. I sometimes feel I'm too messy, gung-ho, and fidgety for serious programming, but too rule-based and logical-minded for the type of creativity that leads to great designs. I'm content with that, but I suspect most people either fit in my camp, in the camp of great designers, or the camp of great programmers. It's simply unrealistic to use those few who excel at both as a yardstick of any kind. (apologies for this rant, it's perhaps more appropriate in the thread as a whole than as a specific reply to you...)
- Draiken 14y agoI agree with everything you say except for the "I simply cannot commit to one without creating a deficiency in the other". IMHO achieving excellence in both is unrealistic and VERY hard. Doable but improbable. But I really do think you can be good at both. Not perfect, not exceptional, but good. And for 99% of the world, good is more than enough. The excuse part, is because I have met an enormous amount of people that use that as an excuse to not learn new things (IMHO, to be lazy). Yes, it's hard to understand programming, but many people simply accept the "if I learn this my design will suffer" (and vice-versa). With that in mind, they don't even have to try. I also agree completely about the theory/reality dilemma, people are very different and can never be treated as the same. My only problem is with people that excuse themselves from learning something new on false premises.
- camus 14y agoI agree , without flash & actionscript i would never have become a programmer. The irony is js is harder as it requires a lot more effort in coding/debugging/building a stack.
- umut 14y agoRegardless of who is playing the 'game of crossing the border' it should provide super low iteration times. Otherwise it is counterproductive. I am a coder, I can photoshop too, if needed. But it would probably kill my rhythm to find a base psd file, change something and then produce intermediate assets, then deploy then see the difference. That's why html/css is a step forward... Likewise, if you are designing and somehow want to change the behaviors, it should be as easy as that. That's the beauty of scrappy development environments...
- Draiken 14y agoA problem we face where I work is how designers sometimes limit themselves in the creative part of the work, because they don't know how to implement it later on. Another complaint is that, if they have to implement something that's hard, that churn of work to do the actual thing ends up taking a toll in the design process. Of course these problems can be circumvented but I think we're not the only place having this kind of problems. I agree with the author, one day we'll all be teaching people to be at the middle of design and implementation.
- mattdw 14y ago> A problem we face where I work is how designers sometimes limit themselves in the creative part of the work, because they don't know how to implement it later on. My experience is actually the opposite. If the designer I work with is thinking about HTML (for example) he limits himself where implementation might be difficult. (I do the same in my own design.) So by separating the roles completely, there's much more freedom – the designer designs without thinking about implementation, which forces me to upskill, which means he can push design further next time, in a virtuous circle.
- Draiken 14y agoI think that's also great, but it might happen here because we still have deadlines. To keep the deadline, the product suffers... sad but true.
- mattmanser 14y agowe have a tool that lets you hover over the page and see precisely which piece of code is powering that element Wait, what? You can't just drop that in there. More info! Do you think they're creating a custom html attribute in debug or something? Then some sort of browser extension? Is this wonderful magic something I've totally missed the boat on and now look a fool?
- deleted 14y ago[deleted]
- StavrosK 14y ago"Inspect element" shows you HTML, it doesn't show you the JS that generated the element. I don't know about anything doing, and could very much use, the latter.
- jaimzob 14y agoPartially, the problem is that "designer" is such an elastic word. You could argue that an interaction designer should be able to code, at least enough to make a realistic prototype - if a design isn't interactive then how can it be an "interaction" design? Coding is less critical for visual designers though. It's better if the visual designer can render his design in html/css (or whatever), but you probably don't want to turn down an otherwise brilliant visual designer if they can't. The "should designers code" question seems to come up again and again because interaction and visual design gets rolled into one discipline (and often one person).
- davedx 14y agoI disagree interaction designers need to learn to code these days. There are tools. http://www.axure.com/ http://www.axure.com/
- c2prods 14y agoDesigners should code and programers should design... they would certainly understand each other way better.
- ygra 14y agoI'm not so sure about the latter. They already do and the results are horrible. And I see very little signs of that they actually understand design just by doing it.
- paulhauggis 14y agoThe problem with this thinking is that employers end up hiring one person to do all of the design and development work. I've seen this happen and had it happen to me. So now I just play dumb when it comes to design.
- seivan 14y agoIf they design for web, then they aren't real web designers unless they can dish out CSS/HTML _AND_ JS If they design for Mobile (iOS), they aren't real mobile designers if they can't dish out their design with Cocoa.
- Uchikoma 14y agoI have this odd opinion: Some people can program, and some can't. From my FizzBuzz tests while recruiting in Germany I think 30% of Java developers with years of experience in their CV can't program. So there are some designers that can program, and there are some developers that can't. Job titles have nothing to do with it.
- johnjlocke 14y agoThe era of being a Photoshop designer only...is coming to an end. HTML and CSS are going to become the baseline. Mocking up comps will still have a sort of role, I'm sure clients will still want to see them. But having a designer on board who can only mock up in Photoshop is going to be more a luxury item.
- ollysb 14y agoWe need new design tools... Designers currently choose between photoshop and illustrator. Neither was created for the job of web design and it shows. Yes, I know you could mock it up in html/css but let's be honest, that is not a great medium for someone playing with the visual layout of the page, it's just too damn slow (not to mention the context switch of going between visual and textual representations). Imagine a design tool that understands what a responsive grid is. This would be a great go between for a design tool and a web page. It would present a strong visual representation and it would allow the designer to resize the page and see how the design responds, without having to think about numbers... There's smaller things as well, you can't use ems to specify text size for instance. What about a viewport mode where parts of the page that aren't in view are greyed out(with some presets for common viewport sizes). Web pages do need a dynamic layout but are still entirely visual, I don't see any reason why a designer should have to learn how to code them up.
- jiggy2011 14y agoIt would probably be much easier to create great web design tools if HTML/CSS was a little saner and not a constant moving target.
- ollysb 14y agoI think the feature set that would be relevant to a designer is pretty stable. Things like new selectors/elements are pretty irrelevant to a designer, they just make it easier to code up a design.
- wilfra 14y agoThis is what mockup software is for i.e. Balsamiq. Once you have what you want there, then you go to Photoshop. Then export your pretty images, insert them into Balsamiq and keep tweaking.
- ollysb 14y agoI do like balsamiq, it's a great tool for roughing out a design, but I don't see how it addresses any of the points I made. Dynamic layout - as far as I can tell balsamiq uses an entirely static layout, unless I'm missing something. Viewport preview - again can't see how it helps with this Text dimensions - have to be specified in pixels, not ems. and these are just examples of some features that are missing...
- andrewcooke 14y agoits unfortunate that not many programmers are going to read this (i wasn't going to until faced with the dire necessity to procrastinate) because there's some impressive information about quora's backend^Wmiddleware (what would you call it?) in there. they seem to have very good support for integrated, componentalized dynamic update. i wonder if they will ever open source it?
- acjohnson55 14y agoMy thoughts exactly! I thought it was an article about design at first, but the real meat is this LiveNode/WebNode modular system. And then when I saw that it's in Python! I've been trying to replicate something like this in Django, but from the server side. I'm super curious about their technology and whether there's a way for me to integrate something like it into what I'm working on.
- jsiarto 14y agoThis again? This debate surfaces every other month and the arguments are always the same. Basically, it all comes down to the job and the person. In big organizations, sometimes designers can get away with only being Photoshop people. In smaller firms, designers have to be more flexible and should be expected to implement their own designs. Also, when did HTML and CSS become "code?" These are markup and style languages and are the very basic building block of the web. If you design for the web, you should be able to implement those designs in HTML and CSS. I wouldn't, however, expect that same designer to build out the Rails backend.
- pc86 14y agoWe simply don't work with designers who can't go from wireframe to PSD to fully-functional HTML and CSS on their own. There are simply too many designers who understand that HTML and CSS are not "coding," they're designing, and they're part of the craft. For every ten good designers who are PSD-only, there are at least as many who will send you HTML and CSS and probably 2-3 who are capable of building a template in your framework/CMS of choice. My last subcontractor was a very good designer based out of Iowa who specialized in CodeIgniter templates. I've worked with similar folks who specialized in WordPress themes or in .NET Master Page/template setups.
- jsiarto 14y agoThis. I just started contracting with a company full of Rails developers. They expect me to be able to implement my designs within the Rails ecosystem and also expect that I generally understand how to function within a Rails development group. I also teach this to my web design students. We start every semester learning basics in the command line and how to use Git/Github to collaborate with other people in a dev team. They are required to turn in all their assignments via Git pushes. You will never be designing in a vacuum and the ability to seamlessly integrate into whatever dev environment is already established at a company is a huge selling point for new grads looking for a job.
- muratmutlu 14y agoDo you have a link to the final designs? I would like to see what this unicorn produced
- ankurdhama 14y agoI would say this: Next time so called designer gives you HTML and CSS crap, ask them to give programmable and composable UI components OR get the hell out of this business.
- reidmain 14y agoHow come it is always "Designers Will Code" and never "Developers Will Design"? Is there some sort of assumption that it is easier to teach a designer to write code than have a developer learn to design? In my experience the best designers are not the ones who write code but understand how their designs actually transition to the implementation. They structure their mockups and comps so that all the pieces are divided up in their mind in the exact same way a developer would. At that point it becomes the inevitable monkey work of cutting assets and implementing them but because the designer and developer are on the same page there is very little friction. The designer doesn't know about the code written and the developer doesn't understand how the designer chose those colours, text sizes, gradients, spacing, etc but there is a simple common language that allows them to bridge what they don't understand.
- muratmutlu 14y agoTools like CSShat (http://www.csshat.com http://www.csshat.com) which turn Photoshop layers into CSS is a step forward, in the future it will hopefully be able to do layouts and more. Reading the comments I have to disagree with the statements that designers have to code. I'm a designer and I make it my priority to understand the technology I work with, it's important to know what the creativity possibilities of new OS updates, APIs and languages etc, as well as the limitations. I know what CSS and HTML5 can do, I can design in a way that makes the most out of the languages, creating the best possible experience. I read through a API doc and know what different actions can be performed and how to turn data points into great user flows. But I can't code. Well, I can code really badly, I can hack together things by cutting and pasting from tutorials or whatever, it's fine for things like http://www.dandandan.net http://www.dandandan.net but not for a client. My primary focus is to get better and better at design. Knowing about code is a huge advantage, I can help development by suggesting frameworks or by locating answers on Stack Overflow that help a problem the dev might have. Or presenting examples of interactions on other sites or maybe a new open-source JS thing I've seen on HN that cuts dev time down. If I was to hire a designer, I would rather hire a great developer and a great designer separately. "The era of being a Photoshop designer only...is coming to an end. " If you didn't notice there's a UX/UI boom right now, if you managed to catch the TV and Radio interviews by the Blackberry Managing Director on BBC today, he actually said 'user experience' several times. UX/UI is now a competitive advantage and being heavily invested in, I don't see that changing