Need a Photoshop mockup for every single screen, including the “I forgot my password” dialog and the Terms of Use page
Works both ways.
I've been doing work for an agency who insist of sending me this stuff. We need to add a new field to a form and I'm told to hold off while the design department sends me a new template. It's horrendous but it's their procedure and they won't deviate. I'm paid enough to grin & bear it though.
I'd like to think I'm good at both. I'm no artist but I can make a nice looking site and I can code too. But I find I'm actually worse off for telling people that. They assume 'jack of all trades eh?'. Maybe they're right :)
I had the same experience as you. My strategy is to tell people that although I know how to code, I've made a decision to focus on design. This way I don't get the "jack of all trades" label.
How are these posts getting on the front page? The content both shallow and banal.
Designers should write their own HTML and CSS if they care so much about alignment and margins. It's difficult to know the limits of your medium if all you do is make PSDs.
What's worse than coders who can't design and designers who can't code are coders who can't code and designers who can't design. I've met an unfortunate number of those.
The problem is as an UX programmer everyone in the company gives you their 2 cents (the bike shed issue).
However as a backend programmer you are left alone to do the job at hand without either specs changing at the speed of light or having to explain/teach people why an idea may have issues and finding websites/case studies to support your argument.
As a self-identifying "coder who can't design", I'm willing to offer a few explanations (though not necessarily excuses) for some of the behaviors the OP describes, at least as far as my experience goes--if only to explain where I'm coming from when I do things that are obviously wrong to people with more designer experience. :) I'll take them one by one.
> Need a Photoshop mockup for every single screen, including the "I forgot my password" dialog and the Terms of Use page
Designers, in my experience, like to keep a design consistent--just as we coders like to keep the code organized and generalized with as few special cases as possible. If and when I would do something like this--which I've never done for things as obvious as these examples--it's because I'm not sure if the designer would want me to change it later because whatever I came up with wouldn't look good in context. If I have some obvious model to work from, however (like, for example, a login page for a forgot password page), I would base it on that--after all, isn't that what stylesheets are meant to simplify in the first place?
> Assign different values at random to every margins and paddings
In my experience, this can happen because margin and padding--and indeed, many other concepts in CSS--are rather opaque if you're not familiar with how print design works. I know when I work with CSS, it involves a lot of trial and error to puzzle out exactly how to implement something, not helped by the fact that different kinds of elements are affected by margin/padding in different, non-trivial ways.
> Think 11px is the perfect size for body copy (and 14px is great for headlines)
This is a bit of an extreme example, but similar problems I encounter work like this: I try it in 11px, realize it looks awful, and then don't know how to make it better. In the case of something as obvious as text size, I'd experimentally make it larger and see if that improves it. But in less obvious cases, I often do find myself thinking "this is ugly but I don't know how to improve it", and then show it to a designer, get a better mockup back and implement that.
> Ask you to export a background image even for a 1px black line
I've never done this one, I know about border: 1px solid black. :) If I were newer to CSS, I might Google CSS rules to figure out how to do it.
> Do not understand the concept of aligning things together
I'm willing to bet that this often happens because many things that seem like they should be simple alignment-wise in CSS is a bitch, and falling back to tables feels dirty. (Most engineers I know, in the absence of knowledge otherwise, would assume that a rule named "vertical-align" would do what it says in more cases than it does.)
I admit without reservation that these are all things I should understand better, and I'm constantly learning new patterns for improving designs as I work. However, they don't come naturally to me, so they're things I have to learn with the guidance of someone to whom it does.
Well, that sure made me feel all fuzzy and warm inside. Whenever I had to design anything, it looked like utter crap in the worst case and like something "obviously designed by a programmer" at best. Not because I'm lazy, but because I just don't have talent for it. I tried. The best results I ever got was my Flash game, Particlz. That one often got criticized for "substandard graphics".
Now I'm thankful that I'm doing a job that doesn't require user interface design. But in the future, if I need to work on something that need a nicely designed user interface and there's a designer available, you bet I'll try to leave it to him. You know why? Because I'll spend 2 hours on something and get worse results than he'll get in 15 minutes.
Bottom line: I suck at design. I don't need to you to come and tell me I'm just being lazy.
It's not really a question of talent you know. It would be like a designer saying they can't understand an if/else statement because they have no "talent" for coding.
Painting the Mona Lisa takes talent, but designing a log-in form does not. Like coding, design is about following simple rules. It's just that those rules are less obvious.
This seems obvious in retrospect, however I would honestly love somewhere to learn those rules in plain-spoken language.
I don't currently have an eye for design, or even, really, a good understanding of where to start. I would really appreciate a good "Design for (kick-arse) developers" linkset. As a token of good faith, if you can help me I'll stop putting two spaces after a full stop, at least in most cases;)
I had to start writing this reply from scratch several times, because I couldn't decide which issue to address first and yet do it in the politest possible way. I offer apologies in advance, just in case I don't manage to achieve that goal anyway.
First of all, you're oversimplifying my comment, just like you oversimplified the original issue in your post. I never claimed I was unable to understand simple concepts. But the ability to understand a simple concept is quite a long shot from the ability to apply it properly to achieve quality results.
Second, you neglected the better part of my comment where I talked about effort, results and time. Yes, I'm pretty sure I could do design; at least, as long as nobody (including myself) minds waiting for me to give it my best shot and produce results that are still not as good as those you could get from a good designer in less time. Maybe it doesn't take talent to design a log-in form, but talent sure helps do it faster and better. In the end, "faster" and "better" just isn't something you can toss out of the window.
Third, if you really think that you can reduce either design or coding to following simple rules, then I'm wondering why you're bothering writing about this at all. Just follow some simple rules to code an application that follows some simple rules to churn out both quality design and code.
Every now and then, I see someone write or hear someone talk about how they can do work in more than one discipline and, therefore, there's something wrong with people who specialize. Working in game development has given me tremendous respect for multi-disciplinary projects and the complexities involved. From that vantage, I can tell you that I don't mind when people are proud of their multifaceted nature; it's when they start dismissing specialization that it becomes a problem.
16 comments
[ 1.1 ms ] story [ 34.3 ms ] threadWorks both ways.
I've been doing work for an agency who insist of sending me this stuff. We need to add a new field to a form and I'm told to hold off while the design department sends me a new template. It's horrendous but it's their procedure and they won't deviate. I'm paid enough to grin & bear it though.
I'd like to think I'm good at both. I'm no artist but I can make a nice looking site and I can code too. But I find I'm actually worse off for telling people that. They assume 'jack of all trades eh?'. Maybe they're right :)
Designers should write their own HTML and CSS if they care so much about alignment and margins. It's difficult to know the limits of your medium if all you do is make PSDs.
What's worse than coders who can't design and designers who can't code are coders who can't code and designers who can't design. I've met an unfortunate number of those.
That said, I am in the process of putting together a personal web page, and this stuff is a pain. I don't envy you guys.
(Unless you want it to be pretty of course ;)
However as a backend programmer you are left alone to do the job at hand without either specs changing at the speed of light or having to explain/teach people why an idea may have issues and finding websites/case studies to support your argument.
I believe that should have been "is a right-brained person".
> Need a Photoshop mockup for every single screen, including the "I forgot my password" dialog and the Terms of Use page
Designers, in my experience, like to keep a design consistent--just as we coders like to keep the code organized and generalized with as few special cases as possible. If and when I would do something like this--which I've never done for things as obvious as these examples--it's because I'm not sure if the designer would want me to change it later because whatever I came up with wouldn't look good in context. If I have some obvious model to work from, however (like, for example, a login page for a forgot password page), I would base it on that--after all, isn't that what stylesheets are meant to simplify in the first place?
> Assign different values at random to every margins and paddings
In my experience, this can happen because margin and padding--and indeed, many other concepts in CSS--are rather opaque if you're not familiar with how print design works. I know when I work with CSS, it involves a lot of trial and error to puzzle out exactly how to implement something, not helped by the fact that different kinds of elements are affected by margin/padding in different, non-trivial ways.
> Think 11px is the perfect size for body copy (and 14px is great for headlines)
This is a bit of an extreme example, but similar problems I encounter work like this: I try it in 11px, realize it looks awful, and then don't know how to make it better. In the case of something as obvious as text size, I'd experimentally make it larger and see if that improves it. But in less obvious cases, I often do find myself thinking "this is ugly but I don't know how to improve it", and then show it to a designer, get a better mockup back and implement that.
> Ask you to export a background image even for a 1px black line
I've never done this one, I know about border: 1px solid black. :) If I were newer to CSS, I might Google CSS rules to figure out how to do it.
> Do not understand the concept of aligning things together
I'm willing to bet that this often happens because many things that seem like they should be simple alignment-wise in CSS is a bitch, and falling back to tables feels dirty. (Most engineers I know, in the absence of knowledge otherwise, would assume that a rule named "vertical-align" would do what it says in more cases than it does.)
I admit without reservation that these are all things I should understand better, and I'm constantly learning new patterns for improving designs as I work. However, they don't come naturally to me, so they're things I have to learn with the guidance of someone to whom it does.
Now I'm thankful that I'm doing a job that doesn't require user interface design. But in the future, if I need to work on something that need a nicely designed user interface and there's a designer available, you bet I'll try to leave it to him. You know why? Because I'll spend 2 hours on something and get worse results than he'll get in 15 minutes.
Bottom line: I suck at design. I don't need to you to come and tell me I'm just being lazy.
Painting the Mona Lisa takes talent, but designing a log-in form does not. Like coding, design is about following simple rules. It's just that those rules are less obvious.
I don't currently have an eye for design, or even, really, a good understanding of where to start. I would really appreciate a good "Design for (kick-arse) developers" linkset. As a token of good faith, if you can help me I'll stop putting two spaces after a full stop, at least in most cases;)
First of all, you're oversimplifying my comment, just like you oversimplified the original issue in your post. I never claimed I was unable to understand simple concepts. But the ability to understand a simple concept is quite a long shot from the ability to apply it properly to achieve quality results.
Second, you neglected the better part of my comment where I talked about effort, results and time. Yes, I'm pretty sure I could do design; at least, as long as nobody (including myself) minds waiting for me to give it my best shot and produce results that are still not as good as those you could get from a good designer in less time. Maybe it doesn't take talent to design a log-in form, but talent sure helps do it faster and better. In the end, "faster" and "better" just isn't something you can toss out of the window.
Third, if you really think that you can reduce either design or coding to following simple rules, then I'm wondering why you're bothering writing about this at all. Just follow some simple rules to code an application that follows some simple rules to churn out both quality design and code.
Every now and then, I see someone write or hear someone talk about how they can do work in more than one discipline and, therefore, there's something wrong with people who specialize. Working in game development has given me tremendous respect for multi-disciplinary projects and the complexities involved. From that vantage, I can tell you that I don't mind when people are proud of their multifaceted nature; it's when they start dismissing specialization that it becomes a problem.