A friend emailed me a while ago asking how to create a good website. Here’s my response to him, edited and expanded a bit for publication here.

Creating “good” design for a website is a combination of taste, talent, creativity and stamina.

Taste is more inherent than the other three. I don’t think it’s genetic or anything, taste can be developed like any other skill, but I think you’re at an advantage if it’s something that you possess naturally. And by taste I mean the ability to distinguish between quality and kitsch, thoughtful work versus lazy execution, proper proportions and so forth.

Talent is just a factor of time – how much you have to invest in learning CSS, reading about graphic design principles, learning about typography rules and guidelines, etc. Copy work that you admire to develop your own skill set. (Just don’t ever publish this copied work as your own!)

Creativity comes from thinking of something and then being able to produce a tangible real-world item from those thoughts. Creativity is influenced a lot by what you see and experience around you. It’s harder to be creative in a vacuum, surround yourself with things that inspire you.

The major frustration with creative work is the difference between the idea of what something should look like in your head versus what is actually created in the real world.

Stamina is what is required to keep plodding along when the chasm between the ideas in your head and the execution with your hands seems incomprehensible. Over time the gap becomes more and more narrow until you’re fairly efficient at executing the ideas you think of.