views:

1500

answers:

23

As a developer completely void of artistic skills, it's frustrating building applications from scratch. I know there are several open-source template web sites to draw from, but are there any good books/tutorials/web sites that can turn a poor, artistically-challenged developer into a moderately-capable graphic designer?

A: 

I think that it might be possible, if you have some artistic skill. I, personally, have no artistic skill, so unless I work insanely hard at it, I'll never be a decent, or even mediocre, graphic designer. But if you have some shred of artistic skills within you (even if you don't know it yet), it might be possible.

However, even if you don't become a decent graphic designer, that doesn't mean you can't know the "rules of the road" for graphic design. I would recommend reading The Design of Everyday Things and GUI Bloopers, and maybe some other books that provide a high level view of human-computer interaction.

Thomas Owens
+5  A: 

I'm a programmer who has also had to do a bit of design/graphics work over the years. One of the best books I've read is The Non-designers design book by Robin Williams.

Also, the gracious host of this site wrote a great article about this subject too. As always with Coding Horror, don't forget to read the comments at the bottom of the blog post for some fantastic additional information.

Edit: Here's another of Jeffs articles.

Ash
+1  A: 

I think that if you allow yourself to "stand on the shoulders of giants" then you can create really good looking applications without needing to be a brilliant graphic designer. Sites like http://www.skout.co.za/ help you find design elements which you can pull together to produce a UI to your liking.

ralfe
What a great site. There goes my afternoon!
harriyott
Curse you for posting that site. Now I have to come up with an excuse why I'm not getting any work done :)
Kevin
+2  A: 

I've found that the Non-designer's Design book is very helpful on the basics.

Like programming, there are two parts to it - firstly, learning the basic rules (iteration, selection etc.) and getting better at applying them appropriately, and some vague genius (like Steve Yegge's done-and-gets-things-smart people) that isn't nearly so quantifiable or attainable.

I think for a developer, it's possible to learn the rules, and get better at applying them, so could probably make a good go of it, given enough time, effort and motivation.

harriyott
+5  A: 

I've been thinking about this for a while. It seems that we group skills into two sets: those that can be learned and those that need talent. Graphics Design seems to be grouped in the latter category.

However, I believe this to be wrong. It's been shown with maths that girls do better if you present the problem in a way that they think it's not math. It's more about the mindset: if you think you won't learn it, you won't.

If you can tell bad design from good design, you're halfway there. You could actually evolve a good design evolutionary algorithm-like (though it would take quite long). The next step would be learning the tools, Photoshop and html/CSS. If you then want to learn about design that not only looks good, but is also good from a UI point of view, I recommend Jennifer Tidwell's Designing Interfaces. It's build around patterns, just like your favorite algorithm books.

While I believe you CAN learn design, that doesn't mean you should. The great advantage of humans is division of labor. It's almost always better to work with a designer who has already invested years of his life into learning the skill.

MattW.
+3  A: 

They're two entirely different skill sets -- it's like asking if a programmer can become a decent golfer. As such, much of it is entirely dependent on your innate artistic abilities.

However, you can certainly improve your skills. I wold agree with @Thomas Owens that you should start by knowing the rules of the road, and also on his recommendation on The Design of Everyday Things

Danimal
+1  A: 

Joel Spolsky says that...

A user interface is well-designed when the program (or website) behaves exactly how the user thought it would.

Read all chapters of User Interface Design for Programmers. It's truly the best material you can find on the net.

lubos hasko
But 'UI designer' is not necessarily the same as 'graphic designer'. I bet Jakob Nielsen and Alan Cooper suck at graphic design, but are two of the most respected authorities in user interface design.
Sergio Acosta
A: 

Look beyond books/tutuorials/websites as well. Take an intto to painting class (acrylics or watercolors to start with perhaps) so that you can learn about color theory and other related basics. Visit galleries, develop a true appreciation for art. Find what art and design you like, then learn to apply those basics to your graphic design goals. Go to local graphic design "user groups" such as Refresh. Meet other designers and learn to discuss design with them so you'll be familiar with the lingo.

Many web-based graphic designers want nothing to do with the programming end of thing and are more than willing to spend time with a programmer who is interested in swapping knowledge or being there when the designer has question.

In my opinion, a big component of becoming a good designer is experience -- not years of experience, but WHAT you've experienced.

busse
A: 

I am a programmer who does not really have any artistic talent, but I feel that I am a pretty good graphic designer. At least enough to get by. If you asked me to draw anything by hand. Even the simplest of drawings I would have a problem. But since I pretty much know how every feature in Photoshop works I can get away with it. Plus even though that I don't really have any artistic talent, I do know when something looks good or doesn't look good and why. So, when I do see something that I do like the way it looks I am able to reproduce a similar design in my web sites or applications.

Keith Maurino
+1  A: 

I have a degree in graphic design and the two disciplines do have some similarities; where they diverge is in the aesthetic of the design. Just because someone knows the principles of design does not mean that what they produce will be visually appealing to their target audience - that's where I believe the real skill comes in and that takes a lot of practice.

I don't think it's out of reach but if you search the web you will see too many people putting themselves out there as "web site designers" who are little more than "template monkeys". Knowing the basics will help you design better and the resources listed already are good ones.

Read the reference material and practice. practice. practice.

Chuck
A: 

Absolutely, Graphics Design is a skill just like programming. That being said, I am not saying that to be the best at either doesn't require some raw talent (just like playing an instrument or being a great dancer). The truth is that it takes practice and that's the key. Most programmers aren't any good at design, because it doesn't interest them. Reading a book is a start, but that's only a start. (How do you get to Carnegie Hall).

I would check out a book on Color Theory (Joseph Albers). Maybe a book on Typography (I can't remember which one I have. I think its by someone European, and I remember it being a small black book). Being a good designer is like being a good cook, you have to study it enough to look at the Gestalt of it. You have to see it as a whole while being able to look at it's individual parts. You have to be able to see beauty before you can create it.

Kevin
A: 

Most programmers may never have (and some would argue cannot acquire) the designer's eye for the aesthetic, but, at least when it comes to desktop (and a lot of web, too) development, you can align the aesthetic with a particular idiom (OS look, popular or admired web designs). The tricky part for programmers (and a lot of artistically talented people, too) is interface design, which has a lot less to do with being aesthetically pleasing than it does with being easy to use.

Think of the user first, not the cool features. That's the first step. Once you start down that path, it's all about observation and practice. See what works for you in applications that you use (web browsers and other tools that aren't necessarily programming tools), and try to figure out why it works so well. Just remember that the user interface is all your user will care about. Your user is language-agnostic, knows nothing of design patterns (I know I'm over-simplifying), and doesn't care about the breakthrough algorithm you've just written. If your application's merit doesn't shine through from the UI, it isn't going to shine much for your user.

Brian Warshaw
+40  A: 

I may have a unique perspective on this having been a computer science/art double major in college. It doesn't really sound like you actually have the ambition to be a graphic designer as much as you want to be able to build web sites by yourself without them looking like crap. An admirable goal :) Without the serious drive, and without latent artistic ability, you will never become a graphic designer. But fear not! You don't have to be. You can get pretty damned far just using some basic rules.

  1. Set up a good visual hierarchy. This is the 20,000 ft stuff. Where is your navigation? Where is your content? Do you have indication about where you are and where you can go? Always keep in mind the way that a person reads the page. Top-left to bottom-right indicates how important something is. Bigger fonts are more important than smaller fonts. This is common sense stuff, but it makes a huge difference.
  2. White space. White space is a luxury, don't be quick to give it up. Don't crowd everything into as small a space as possible. White space helps you group information together for easier reading, and also makes a design seem less overwhelming.
  3. Pay attention to both consistency and variation. Consistency is extremely important in making a site look "designed" instead of slapped together. But don't go too far. Consistency doesn't mean everything is the same. Without a little variety on the page, everything blends together. So, for example, you need to make sure there is a difference between your header font (not-necessarily the font family, but the size, weight, color etc.) and your paragraph font. But you have to be consistent that every header of a certain level is the same. And you don't want too many different fonts and sizes going on or it just looks too busy. This is where css is amazing.
  4. Colors. Colors, I think are that extra touch that most non-designers struggle with. It might be worth learning a little color theory to understand what colors work together, but here are a few tips. Think about it like decorating a room.
    • Don't use too many colors or your room will look like a carnival. Same with a web page. Pick 2 colors that work and just change the tint and tone to get more. This will set up a theme.
    • Use subdued or neutral colors. The larger the area of color, the more subdued it should be. By subdued I mean both lighter and less primary. Imagine a room where the walls are painted a bold cherry red. Frightening. Vibrant colors work very well at attracting the eye, and can be used in smaller doses when appropriate. Like having a darker trim in a lighter room. It can work well on links or borders.
    • Like white space, make sure that you decide on your base background color. This becomes the color that you really don't see, your mind just fades it into the background. This is often times white, but can also be slightly colored or tinted. Use a lot of it. It creates breathing room and makes for a nice readable surface. Some designs use a darker color for the background, but I would leave that one up to the professionals. If you aren't using white for this color, then white becomes a color that you do see. Try to follow the same rules with it as you would for a more vibrant color, because it will be the brightest possible color on the screen.

Beyond that list, it's really just a matter of practice. As you're working, show the design to someone else and listen to them. Look at other designs and try to work something you like into your design. Just remember to start slow. You don't need the fancy stuff until the end. After you've gotten through the list and it looks pretty good but maybe a little plain, then you can add some extras. Some rounded corners here, and a logo there, and pretty soon it looks like it might just have been done by a designer.

Just remember that content is king. You aren't creating the site for a design portfolio, so all the graphic design is really just about getting the content to the user in a way that is easily readable, navigable, and pleasing to the eye. A good design is one that the user doesn't even notice, because if they do notice it, it's probably getting in the way.

Russell Leggett
A fantastic answer! +1 from me
Developer Art
Can't upvote it enough.
Jonas
A: 

You probably DO need natural talent to be a spectacular graphic designer. Fortunately, you don't need to be an Einstein to make a contribution to physics. My point being that you can still be quite good. I am personally making the transition myself and its downright fun.

Learn GIMP or Photoshop, learn Inkscape, spend time on CssZenGarden. You'll find that it has a lot more in common with engineering than you might think.

George Mauer
A: 

No, You cannot become a decent graphic designer - You either are or you aren't.

I have owned a IT consulting/web design business for 10 years, and do all of the programming and graphics work. I have never seen someone who didn't already have the innate artistic talent move into doing graphics work.

Matthew Kramer
tough luck there :)
George Profenza
A: 

Can a fireman become a good coder?

rp
I don't think the analogy applies here. Programmers have by definition the skills to learn intellectual tasks, and design can be rational to a certain degree. Being a fireman is mainly a physical activity, orthogonal to programming and design.
Sergio Acosta
My point is that this is a silly question. Being a fireman is no more orthogonal to being a designer than is being a coder.
rp
A: 

I'd advise either attending a seminar by or reading books by Edward Tufte. He has some really excellent approaches to presenting information, many of which are more about clean design rather than being "artistic". He has a decent discussion forum on his web site as well.

infinitetape
A: 

Very interesting, in perusing through most of these, no one really mentions taking the time to actually do the work of designing. The user genericallyloud mentioned practice, but no one really touched on that further. Seriously, if you want to be a great graphic designer, it will take a lot of time and attention to detail. Think of how much time you spent learning to program -- that was a lot of time for me over years and years! If you want the same level of talent as a designer, you need to dedicate yourself. I wrote a post on this awhile back called "You have the talent. You just don’t have the time."

Some people don't buy it, but if you read the post it makes more sense.

hal10001
A: 

The design chapters from Getting Real from 37signals is a great place to start for top level design rules. It probably won't teach you any new skills, but it definitely will help you sculpt your website design into something that is both professional and easy to maintain.

Ethan Gunderson
A: 

The answer is pretty simple. Go look up "PHP" or "Javascript" and your problem with Google. It's pretty simple to find really bad coding hacks, but there is a big difference between what you know and what the web page designer that uses that PHP code.

Graphic Design like all things in life takes time and hard work. In order to be good at it, you need to devote as much time as you spent learning to program to learn how to design graphics. In the flip side, a designer that tries to develop a website needs to also spend just as much time to learn web development in order to be good at it.

While you may not become a master designer, you can become a good graphic designer with time and hard work. Even artistic geniuses need time to get where they are. If you want to be good, you need to spend just as much time as you spent learning programming to learn graphic design.

Since your a beginner, I recommend looking at EVERYTHING OUT THERE. Just browse and you'll find what your looking for.

danmine
A: 

Here are some concrete steps:

  1. start by copying the masters. Strive for reproductions until you have the ability to do them in you without reference to the original.
  2. group works by similarity and see if you can reduce them algorithmically. For instance, what size grids are involved? Or by another facet: such as contrast.
  3. find an area where you are good at. For instance, isomorphic drawings are a lot more logical and can be learnt algorithmically.
Chui Tey
A: 

Check out the book : Drawing from the right side of the brain

This method seems to work, a few people have managed to unleash the artist with in them ...

Tarek Demiati