Some people believe that that developers don't need to know anything about what constitutes good design. This author couldn't disagree more. Most developers have a fairly firm grasp of what works and what doesn't as far as user interfaces are concerned: Developers spend more time consuming user interfaces than almost all other computer users. This section provides a quick reference for some simple rules that can help produce friendly and powerful user interfaces.
Design with Colors
Everyone likes a colorful interface. The problem is that too much color, especially colors that don't go well together, can turn a user off quickly. When deciding on colors it is generally a good idea to use a theme of colors: varying shades of the same color and complementary colors. Keep in mind how long a user will be spending looking at your application and keep the flashy colors for things like splash screens and the subtle colors for screens where the users will be spending a lot of their time.
Size Awareness in Design
A lot of really ugly user interfaces are the result of bad proportions. The adage "bigger is better" doesn't always apply to user interface design. When using icons for buttons that will be on the screen a lot and clicked quite often, use smaller icons. For launch panel icons that might only appear once per application use, you can use bigger and more elaborate images. Also make sure that your choice of font family and style are ones that are visually pleasing. Again, keep in mind how long the users will be looking at a screen and how much work and clicking they will be doing: When a user's eye has to frequently switch from large text to small text, large images to small images, or even bright colors to dim colors, that causes eyestrain. If your application is hurting your users' eyes, it might not last very long.
Complexity in Design
Although you might be tempted to cram as much information on a screen as possible in order to reduce the user's click count (see the next subsection), a crowded interface screen is usually a screen no one wants to look at. When building a user interface you always need to balance the amount of information being presented to the user with the tasks the user needs to accomplish. If the user only needs a portion of the information at a time, you can probably reduce the complexity of the screen and make the interface more appealing as a result.
Click Count Awareness in Design
When reducing the complexity of each screen, you can often fall into the trap of creating too many screens or forms. When this happens, it can often take the user an excessive number of clicks or keystrokes to get to the information they want. If the complexity of reaching the information is greater than the complexity of the information itself, the user will definitely not enjoy the experience.
Last but not least, your user interface should be intuitive. If the users cannot figure out how to accomplish their task without reading a lengthy manual or opening some online help, the interface itself might be too complex or structured poorly. Obviously there are some applications where reading the manual is required, but the vast majority of individual user tasks should be fairly obvious. If you find that a lot of users are stopping their workflow to continually refer to documentation, you might want to consider changing the layout of the screen to be more intuitive.