Sickdesigner

My name is Radu Chelariu, I'm a web designer and here you can get to know me better.

Letter from a coder to a (bad) designer

In my work as a web designer I’ve come across designers that are able to work in a team & others that have no consideration for the front end coder. I decided to develop on the subject and point out some of the most common drawbacks that arise when you don’t consider yourself a gear in a larger mechanism. Before everyone starts barking at me in the comments section, I do need to point out that this article refers (mostly) to designers that do not code.It’s been a circulated idea around the design community this past week, so this article seems to fit that pattern.

So, for the purposes of this article, I shall create a distinction: designer and coder.

Here are some of the reasons most coders go bald and profanities are used in web design agencies.

01

Groups

One of the first thing a coder notices when opening a layout is the grouping, or lack thereof. When starting to develop a site most coders find themselves staring at a design and pondering “How do I set this up?”, trying to make a mental structure of what you have, graphically speaking, and how it will go in code, columns, boxes, containers, interior elements (assuming no previous wireframing and prototyping was involved). All of these have to be structurally sound and well thought of before you start doing the actual work. After this tough process, the slicing of background images starts, and this is where the first drawbacks begin. You find yourself trying to hide all the content so you’re left with just the background of a certain element, the process is easily done when the designer has an organized layout with the elements divided into groups, you just keep visible the group you want and discard the rest. Sounds easy. But when you get a disorganized layout you just have to hide all the layers you don’t need for that element, which can be time consuming when dealing with a complex layout. You’ve been there too, just admit it.

Designers might say it takes too long for them to arrange a layout, I don’t disagree, but let’s say for instance you get a set of client demands and you have to make the modifications in the layout. It takes you far less time to find layers if they are well structured and labeled, than say, if you have some of the header layers, next some of the content layers, after those a piece of the footer and so on, or maybe another system. Just…HAVE a system. Even the designer has an easier time working with such a layout.

02

Guides

Guides are very important when designing a website. The current trend is using grid systems. You can use one of the well known ones around the web or you can use one of your own making. The reasons behind this trend is efficiency and consistency:

Efficiency because the layout is organized and certain areas are well determined, you can easily arrange content when following guides: big containers, small elements; no matter what the item is, it falls into place.

Consistency because you never go wrong, you don’t make the columns different width from page to page and you keep the same page width (I wouldn’t be posting it if I wouldn’t have encountered it).

For too long coders have been playing the guessing game, all because designers don’t bother to LISTEN!

03

Shapes

I found that shapes are the way to go when designing, the main reason behind this is that they are easy to manipulate in the eventuality you have to widen or heighten an element. You can recreate elements faster and without hassle and guess work.

Let’s say that your designer supplies you with a button with rounded corners, that is 100 pixels wide and 20 pixels high, and you need the same button in another page to be 150 pixels wide and 30 pixels high, the only downside is that the designer merged the button with a different layer and the shape with all the styling options were rasterized. Had he left it as a shape (with all the styling goodness intact) you could’ve selected it with the appropriate tool, just made it bigger and the styling options would’ve changed according to the new shape while remaining consistent with the initial. On the other hand, if you have a raster layer you can’t just transform it to the new size, because if you drag it to resize, first you’ll see a change in the rounded corners’ radius (scientifically called Messedup©), the blending options would change, the border that was 1 pixel wide would become 1.whatever pixels wide, the shadow would grow and so on, resulting in inconsistency. Thus you’re left with recreating the shape, trying to guess what size the shadow was, what opacity it had, recreating the gradient and so on. This is what I call the guessing game, a time consuming, elaborate work that may not yield the same results as the initial element, all because the other guy didn’t bother to LISTEN!

04

Typography

This is where most errors are made, because for some designers, how good(to be read “pretty, colorful, awesome, genius”) layout looks takes precedence over whether it can be implemented or not.

Ever had the pleasure of hearing something like this from a designer:

Designer: But, you can’t just discard that _whatever_. It makes the design pop.
Coder: It’s impossible to do with HTML/CSS alone.
Designer: Then do it with something else, images or flash or whatever it is you guys do.
Coder: :facepalm!

One of the most common things I’ve seen is using Anti-Aliasing on type that isn’t going to be used as an image . You can say I want that paragraph to be crisp, browsers only render fonts one way (normal) and though it may look good in the design, it won’t look the same in the browser, resulting in long conversations with the client explaining that it’s impossible to do that, hurting the team and the agency’s image, because of one thing the designer didn’t think of. Sure, there are cases where the client knows this, but still requires Anti-Aliased text, and that’s hunky dory as long as that’s the case, or until he decides he wants font replacement for an Arial heading. Read that last part twice. Wonder. Awe. True story.

Playing with text tracking is another setback and will make WYSIWYG impossible. Sure, a -25 value in Photoshop makes fonts like Verdana look more solid. But letter-spacing (the CSS selector) works in a different way, and a -1px for letter-spacing scrunches your text to the point where it’s absolutely illegible. This isn’t such a big deal, though, if we’re talking about, say, an H1 – large text with some tracking can be achieved accurately and legible on the web. But it has to be BIG. 12px Verdana with negative letter-spacing isn’t going to work.

Try not to rasterize text layers. It’s easier to just select the whole text and put it into code than waste time looking at the image and typing it, or copy/paste-ing from a document.

05

Links

When designing include at least the normal and over states of a button, coders don’t always realize what feel you wanted from a design. The same goes for normal links, set the over color somewhere in the design, it’s your view see it through.

06

Images

Manipulate all the images in your design, don’t just put them in and think the coder will figure it out, we waste valuable time doing that. And if you do manipulate the please try masking, avoid chopping images, because you never know when you might have to make modifications.

Whatever the differences in skill or opinion between designers and coders or even programmers, we’re all working together to create something that is, truly, beyond our individual selfs. If anything, this post illustrates the inherent connection and interdependece between code and design and the minds behind them.

To all designers and coders alike: “Remember you’re on the same team, you work together, you have the same goal: deliver a worthwhile product. Don’t ignore your part.”

by Liviu Dobre

26 Comments

  1. a sad reality! but if you can work as a team you can solve the problem

  2. Wouldn’t it be a wonderful thing to find a web designing individual who was creative, strategic and technical?
    If you find one, let me know!!

  3. Liviu Dobre says:

    @Daniel, it’s a difficult task because most times egos get in the way
    @Brook, i met plenty, those are the ones that do code and understand how HTML/CSS works

  4. mithul says:

    Good cooperation is must between designers. reduce ego’s and share creative ideas…

  5. Good job Liviu, you’re right about everything here, the groups and the shapes seems to me that are the most important things designers must learn; since Radu introduced me to the marvelous shapes I find myself vectorizing almost everything, you start creating more. If you need an icon for example it’s gonna take awhile ’till you find a free, appropriate, shape one, when you could just do it (Nike ad sorry).
    In the end, this letter could contain many other designer-must-haves. I look fwd to see the end of the letter.

  6. Marnie B says:

    @Brooke – that’s us. ;)

    Great article. We often get layered PSD’s sent to us to convert and it’s a real pain when the designer has focused on making it pretty rather than thinking about how it will actually work on the web.

  7. I’m on the designer side of the fence, but I’ve been lucky to have worked with a good coder who taught me a lot about what you are saying. No way around it, we need each other and I think your article presents your side of the story very well. Both sides should read this.

  8. Liviu Dobre says:

    @Sergiu – thanks, but i think this is the end of the letter, the general areas were covered, the rest are small bits that differ from designer from designer, so it’s hard to put it in general

    @Marnie B – the problem there is when they know better and don’t listen, it makes you feel like i don’t give a steamy pile of “spaghetti” about you and the project

    @Craig Watkins – i’ve been there also, and i still am, but i have the coding pov that helps me not make a mess, and know how to organize the layout prior to delivering it

  9. First off, lemme say that I am a designer first, developer second – if you can even call me a developer. I can code pretty well with XHTML & CSS and I can pick around at PHP and a little Javascript.

    Ok.
    Now.
    I see where you are coming from about designers not knowing any coding. I have to deal with such a designer, giving us 300ppi Illustrator documents and such.

    A true Web designer cannot be just a print designer. There is SO much to Web design that is very different than pint. Things that you are talking about, usability, flow, screen vs paper, and all the other many many factors that goes along with getting something usable in a browser.
    It is simply impossible to be a Web designer without knowing about the Web.

    Now, to take a look at the other side, when a designer says that “such and such font” or shadow or gradient is crucial to the design, it is very true. Truly ‘awesome’ design pays attention to every little detail, pixel, letter-space, font size, white space, flow, the list goes on and on and on. Amazing design is an incredibly hard thing because there are so many factors that cannot be left out.

    So there needs to be a middle ground between the coder and designer where there is a lot of weight on the designer.

    Designers need to know basic XHTML and CSS to understand what is feasible and what isn’t. Coders need to understand that there is enormous depth in design and work with designers to place all of the elements of the design on the page.

  10. cchana says:

    great post, really good points for getting designers and coders to work well together. i’m feel lucky because i work with a couple of designers who are very developer focused and deliver what we need!

  11. Great Article!

    Every point mentioned has a different story all the time..with designers who have no idea of even basic coding or slicing..

    Thats one of the main reasons, layouts + slicing is done by the designer itself. So that when they are exporting the content, they have an idea what mistakes they have done and how will it affect the front end team.

    And due to these reasons, the criteria of hiring designers is with basic knowledge of html and css coding, and same goes for front end developers as well.

    I truly believe this is the ideal situation when working in teams.

    Cheers

  12. Disku says:

    This guy is talkin’ serious shits… i learned allot from him..

  13. Dan says:

    This is a great article, I can really relate to it!

    Nice site, i’ve only just come across it!

  14. Charan says:

    Nice Article i myself is designer and believe that building a site is the team work

  15. Michael says:

    I couldn’t get through this post.. something is off with your type choice, it might be the gray on gray or the size or line height or something, but It’s not readable without stressing my eyes. Just something to think about.

  16. @Michael, thanks for taking the time to comment on that issue. While you do bring up a point worth discussing, I think you’d be better off addressing such issues using the “Send us” link in the footer. I’ll send you an e-mail and we can continue this via that medium. Thanks!

  17. Preteklis says:

    I can’t believe, there ARE indeed designers ( can you call them so ? ) with such trust and skill you’ ve described :) But thanx for information ;)

  18. Joe says:

    I happen to be the rarity among web designer/developers. I happen to be both the graphic designer and web coder. Not only can I create awesome designs, I can also code them using xhtml, html and css. As well as write .net, classic asp, vbscript, javascript, php, java, etc.

    I couldn’t agree more with this article from the points of thinking the design through before trying to slice and dice it into html and css. I have found myself often going back to a design and changing it because I couldn’t pull the desired look off in html and css.

    Organization of the layout file is also key, when you come back to a site months or weeks later and need to make changes. I’ve often had to change designs because of needing to move navigation menus/methods or changing color schemes drastically.

    I’ve also been on the other side where I’ve had to make site templates out of PSD files that have been generated by students who have no experience with creating designs for the web and may not understand even 2% of what you can do with html and css.

    Don’t even get me started on browser compatibility issues and keeping that awesome looking design, looking awesome, from photoshop. Half the time I can get a design looking good in IE, only to find it breaks in Firefox, Chrome, Safari, or I can get it looking good in these but have it break in IE or even among IE versions.

    Having coders and designers that can work in teams is good, and sometimes I wish I had someone to work with on projects. But having the knowledge of what can and can’t be done from both sides of the fence is key at times too.

  19. Mike says:

    As a recent college graduate I have yet to encounter such a situation, plus I work alone. In college I learned both design and code which is a plus. I couldn’t agree more about structure and neatness of your layers. I have gone back to look at some of my early design work in Photoshop and realized how important organization truly is. I couldn’t imagine a designer giving me a PSD to convert to XHTML/CSS or Flash/AS3 with nothing grouped, or even worse, without names for the layers.

  20. michelle says:

    Whenever possible designers and coders should work as a team, really. You need to talk to each other before the start of a project if possible. A little communication goes a long way.
    If your a designer only not a coder the best thing very everyone involved is to just ask the developer if there is anything you restrictions. Just like in print, web has it’s own so working within them shouldn’t be a problem.

  21. Good article for sure. I wrote a very similar one over on my blog titled “6 Tips for Working With Developers”. We cover a few of the same subjects – organized layers, etc – but you touch on some stuff I don’t & vice versa.

    Stuff like this is the main reason I think any designer who is designing for web should know basic HTML/CSS etc. It just makes it that much easier for the developer since you’re naturally thinking ahead to development stages when you’re designing.

  22. Mark Hobbs says:

    Loved this! I am a designer by schooling and learning the code side on my own now. And trust me…I learned the hard way. I wish I could send you a screenshot of my latest design for a developer. Guides (960 gs) and EVERYTHING “layeredup©” (had to get that bit in there :) into over states, active states, vector shapes etc. Well said! Again…loved it!

  23. Stephane says:

    Great article, one thing I disagree with is I always prefer to have raster than a shape. Shapes are never correctly on a fix pixels and there is always some blurry lines.

    You could have a raster button, simply do a selection and use the of set command, it’s what i’ve been doing all along, it’s a couple of steps but does a way better job.

    • Actually, and this might just blow your mind a bit, if you’re using Photoshop, the Rectangle Tool and Rounded Rectangle Tool (Press U) have a itty bitty setting called Snap to Pixels, which will give you perfect pixels every time.

  24. Great article. I’ve merged over from doing both design and coding work to all coding. I’ve had some the issues above word for word.

  25. Good article. I think it comes down to being able to openly communicate and be involved if you are working with a designer that doesn’t have front-end knowledge. Advise them. Serving as the UX Designer and overseeing what they are putting together. Optimally, I think finding an expert in both design and front-end is the way to go. Then it’s more a matter of overlapping duties/responsibilities with a back-end developer… and often times that relationship (in my experience at least) is a bit smoother/easier to manage.

Speak your mind

RSS Twitter Facebook Dribbble LoveDSGN Flickr