I stumbled across this article "8 Web Design Mistakes That Developers Make" a while back and as I made my way through the list none of my colleagues (or myself) sprang to mind as being guilty of such mistakes on more than a handful of occasions.
Instead, I began to think about the kinds of mistakes I know we all make again and again and so I put forth my only list of 8 design mistakes that developers make. I'd love some feedback especially if you spot anything not on the list or have tales of that 'friend of a friend' you know who had a few mistakes of their own to add.
8. Know your limits
Before you start on your design project, determine if you're upto the task. If you've never designed a site before and you're tasked with the revival of a hip fashion conscious urban brand's website, now may not be the time to try your hand at a little Photoshop but instead hire a design creative. If you're designing a small extension to an existing site with an existing style, then it will be much easier to dip your toe into the creative waters when you already have the image files and you are following someone's existing styling and guidelines.
It is much the same principle when learning a new language, you don't try to design an enterprise application out of the box you start with 'hello world', the creative world is no different.
7. Believe good design can be learned
I've often heard developers moan that design and art are creative skills that one simply posesses or does not, that there isn't some manual for how to be a good designer and so there isn't much room to improve their design skills.
This is simply not the truth. While being a good designer does indeed involve a large slice of inate skill and an artistic eye for detail that few have, you can certainly improve your design skills a great deal by learning about spacing, color theory and typography. It probably won't lead to a position as art director any time soon, but it will improve your designs greatly.
6. Look and I mean Look at design around you.
You know how you copy and paste that cool bit of code you saw somewhere else? Here's a secret, designers are thieves too. The world is full of design inspiration, in nature as well as existing man made designs. Take a magazine and actually take the time to look at the layout, how the photographs and images are placed, the fonts used, etc. Next time you hit a website, study the graphics and maybe take a peek at how they did it. Look at the interface for your phone, your kettle, even the menu on your DVR. There's design all around you, some of it good, some of it bad. The more you notice it, the more you can begin to identify what works, what doesn't and how to improve on others ideas. You can then use this as inspiration on the next UI you design.
5. Be inspired by other designs, but only a little
By this, I mean don't turn into the 'bevel guy', the person who continually designs their buttons in the same way, overusing the same designs again and again. While copying individual ideas from somewhere else is generally accepted, there's a rather distinct line between taking one or two design elements and incorporating it into your work and outright plagerism. If you like someone's design work, hire them, don't rip them off. If you're doing your own work, then do your own work and make your own unique design don't copy another work completely. Doing so isn't just disrespectful and unprofessional, it is also hindering your the development of your own design skills as you rely on someone else to do the work for you.
4. There's a reason for branding, use it
Many companies have branding guidelines for their design work. Such guidelines usually entail detailing precisely which shade of blue to use, which fonts and images, etc. This helps to ensure a uniform look and gives a professional feel. Using random fonts that you like, clipart and picking alternative color schemes or merely getting colors 'close enough' makes will give your work an obvious amateur feel. Such conduct should be entirely limited to PTA newsletters.
3. Apply new technology only where appropriate
Designers are just as guilty of this as us developers (Flash, anyone?) but nothing is likely to turn a user of quicker than inappropriate use of technology. While I'm sure you can't wait to turn the billing system over to Silverlight that doesn't mean you should. Think carefully about your justification when using a new technology, if it boils down to 'this is going to look sweet!', then you are more than likely setting yourself up for failure. AJAX is a particularly overused technology that springs to mind, if you want a fantastic example of the perfect use of it, head over to any of the news stories on MarketWatch.com as during the stock exchange hours, the tickers for companies listed in the stories will regularly update with the latest prices and information.
2. Use the right tool
Related to number 3, but not the same point. I've often seen developers using MS Paint to create graphical elements for their projects. While I know where they live and shall be administering a severe talking to shortly, they could have avoided this by simply using Paint .NET. If your design work is difficult or turns out looking poor (and you've followed the above steps) then the problem might not be you and could be the software you are using, try to find a creative to ask what they'd use in your situation. There's a staggering number of design applications and most serve specific functions. While Photoshop might let you design in CMYK for print work, that doesn't meant it is the best tool for the job.
1. Relate the design to your user, not the data
Without doubt the single biggest mistake a developer makes when tasked with design work, is by coming at the problem from the 'well goodness, how do I fit all this data onto the screen neatly' angle. Wrong, wrong and I say again, wrong. Good design comes from asking what your users need to see. Maybe you need to display a list of contacts and while you could just throw on a datagrid and display all their information such as address, email, phone number and such, it may be more appropriate for a user to see only their names and hover over or click on a user's name in order to see a contact card with their information on (much like MSN Messenger).
Always remember to keep in mind the task your user is trying to acomplish and provide them with all the information and tools they might need, without bombarding them with too much data and too many options.