How can a programmer learn to design websites that don’t suck
vascop.github.com
vascop.github.com
Many people say, "oh, well, I don't have design skills". I think everyone has design skills, it's just something you have to work at. And the first step is to pay attention. I like this line from the article: "I started to look at things, and I saw what looked right and I tried to memorize it." That's basically the advice I would give too. Even if you can't design, you can tell what looks professional from what looks half-baked. The next time you come across a well-designed site, ask yourself, what makes this so much better than other sites? Is it the way things are laid out? The choice of font? The colors?
And once you have a good foundation, look to the details. Consistency in spacing or alignment, emphasis of elements, etc. Use your instinct - if something looks bad or unprofessional, fix it.
That's really all there is to it.
With enough experience you'll get significantly better, and like programming there are some core concepts that will continue to be useful. However, like programming, it's also changing constantly and requires effort and passion to keep up with it.
One person can certainly achieve both, but it's definitely not an afterthought; "oh yeah, I need to do a little design here, shouldn't take too long".
I can look at a design and know if it's good or bad. That's easy. Knowing why and how to fix it is the hard part.
The problem is, I propose, one of deeper social conditioning. I have worked professionally as both a designer and programmer, but I have never found a workplace that take both abilities completely seriously. Designers do design work and programmers do programming work and that is just the way it is. I think this leaves a lot of developers feeling like design is a completely different career that is out of their reach.
But that doesn't negate the content of the article, it just shows that the author is still a programmer learning to design.
Even with its blemishes, the article still has a nice message: decent design is pretty simple and gets easier if you just keep at it.
para para para para
Header
para para para para
instead of: para para para para
Header
para para para para
Not sure that the ascii art does it justice, but that's hopefully clearer.In this case, the header is closer to the preceding paragraph (~15px) than to the following paragraph (~19px). It's visually implying a connection that doesn't exist, which is why it's problematic.
I know a lot of people will probably dismiss "learning how to design something" as "don't try it" or "if you're coder then you're not going to get it" but I kinda disagree. It doesn't hurt for someone from a coding background to learn about design or to try design themselves, or at least know what makes a good design. Even knowing just a little bit could be beneficial.
Fairly eye-opening if you're not used to having a design eye. Even simple things like alignment and grouping related things can have a big impact.
It has it's place and is a perfectly valid way to position things. And once you know how Absolute works in relation to containing divs, it's quite simple to use absolute in a flexible way.
Other than that, you are right, there's a time and place for every technique.
SmashingMagazine, Forrst, and The Non-Designer's Design Book are all great on teaching fundamentals and talking about things you should keep in mind.
Programmers can learn quite a bit of it just like anything else.
Another good resource for learning design is the eBook: http://bootstrappingdesign.com/
EDIT: wording
A good theme from themeforest will run you $10-$30. If you stick 100% to the theme you'll look generic (also true with twitter bootstrap), if you deviate to differentiate but don't know what you are doing you'll still end up with a mess.
Seriously. Some people have artistic skills and sensibilities. Most don't. So you're much better off spending a small amount of money to get a proper designer to help you out.
While I personally don't see the point in spending my time learning design skills, this is because my current goal is to move away from doing the work myself to managing others doing the work.
Assuming your statement that only some people have artistic skills is correct, and even assuming the proportion is very low for the statement to be interesting, you're still making an assumption that people with artistic skills and sensibilities are always aware of them. What does e.g. a 22 year old "programmer" have to lose trying their hand at a new skill? They may discover a passion or talent they never realised they had and your advice would see them miss this opportunity.
Trying to improve is never a bad thing!
see http://www.codinghorror.com/blog/2012/05/please-dont-learn-t...