I sucked at it for years, that's how.<p>To get good at design, you have to suck for a long time. You have to make a lot of sucky designs, of all kinds. Really awful, horrid stuff. You'll try hard as hell and come up with a bunch of turds for years.<p>But the most important part is that every time you design something, take a step back and evaluate how you could have done better. Then take that knowledge with you for your next design.<p>Eventually you'll start to suck less.
1. Read the good books in print. While the web is a wonderful resource for developers, it is not the same for designers. Most of the tips and tricks complied on the web are of little value for actually learning design. Most of the articles out barely scratch the surface and are just SEO bait.<p>2. Look at the whole, not just the pieces. Yes you need modularity in the form of UI building blocks, but that comes later. The biggest difference between design and engineering is that design solves every problem at once first by considering the entire system and questioning the inputs and outputs. Engineering tends to break problems into atomic units so it can work on them serially. Good designers solve as many problems as possible in one solution. Those include visual design, usability and product marketing problems.<p>I hate to be so cryptic but think of it as starting to sketch out the negative the space around an object. Purposely being blind to the details until the form has appeared. It's not magic but it;s really not engineering.<p>3. Study, learn, appreciate and dabble in typography for print.<p>This is the detail part.<p>The web has not yet come of age in this department (but it's getting there fast). By way of typography you will also learn grid systems and a few other useful bits. Buy the Type Directors Club annual, but real font from real foundries and appreciate them. Learn illustrator and appreciate those vectors -- Its worth mentioning that I don't know any designers who use Photoshop for UX.<p>4. Recognize the mistakes of most developers starting out with design. They are very often the same. Here are a few things I see often repeated.<p>No white space (because how is white space efficient right?)<p>Lack of hierarchy (because everything is important)<p>Dark backgrounds and overly masculine aesthetic<p>Too much contrast<p>Lack of interplay between elements and color<p>Fucking blue and black everywhere!
I learnt not to try and do/invent everything myself (initially, at least - 'til I felt I sort-of knew what I was doing).<p>I learnt that there are rules and means, with good reason.<p>I copied - not absolutely, not directly.<p>I learnt to value the feedback of people who I trusted.<p>I learnt to ignore the urge to please everyone, all the time.<p>Oh, and the client's not always right. They're always right to have their view, but they're not necessarily right about what that means. That's what they're paying me for.
Created a bunch of bad designs that haunt me to this day on the Internet archive. I don't think I've gotten really good at design over the years but I make less crappy sites now. Being able to design and code whether your a dev or designer is important to have. Helps you understand how to semi talk to the other half.
my problem with design is there is too many decisions :
what color to use ?
what font to use ?
what is the right height of the menu bar ?
I just don't know how to choose.