UI is important because it affects the feelings, the emotions, and the mood of your users.
Joel Spolsky
Graphic design of user interface becomes more important in todays applications than ever. It is obvious that software vendors experience increasing expectations on how their applications look. Good graphic design is traditionally thought as a need for public web sites, games and this kind of software, for which it is important to make good impression to a user from the first sight, to keep him/her using this software. And what is interesting, it also becomes important for applications that are used day to day, where graphic design played not so important role traditionally. Users chose such applications for their functionality not for design. But, as we all know, competition is increasing dramatically in software industry, and that seems leading to higher standards that include good graphic design. So, it is one of the branches of software evolution.
Windows 3.11
Windows Vista
Although all above written concerns not only graphic design of software applications, but also user experience, I will focus on graphic design mainly in this post.
For some reasons, there are people that see good design and that do not see it. It is another topic why that happens and why it is important to have good graphic design even for people that do not see it. Unfortunately, the number of such people among software developers is quite high. The more a one is technically oriented the less likely he has good taste in graphics. You may notice that there are graphic designers for such kind of tasks. That is right. But, unfortunately, is not possible (or not effective) always. Firstly, there are tasks may be done without graphic designer if software developers has some understanding of how to do it nice, and that is pretty easy to obtain such skill even for a non-design guy. Second, is that for some projects it is not effective to have graphic designer working on project because "junction point" with developers may be not too smooth.
Software giants that create new technologies also push developers to master graphic design basics. How many of hardcore C++ programmers of twenty century knew what a color gradient is? Now it is one of the basic parts of UI design in WPF. We also see that the gap between development tools and graphic design tools is reducing; this is clearly seen in Expressions Blend or in Flash.
So, it all leads me to a belief that it is a time for a good software developer to think about obtaining some graphic design skills. It may become a must in a mainstream programming, if it is not yet. I'm seriously thinking that I should start asking questions on this topic on interviews, when we are screening potential employees for our company.
Some advices for software developers at last:
- Do not forget about graphic design of your app. Graphic design is a necessary part, as well as validation logic, for example, or error handling. It may be simple design. Just select several colors that suit each other end use them all over the app. The easiest is to use analogous colors – different tones of the same color. Or you may learn technique of selecting color combination on color wheel. Or just use ready color palettes that you easily may find in google. Do not forget about icons. It is very hard to draw own icon, but, fortunately, there is lot of free ones on web, so spend some time searching and selecting good icons.
- Read a good book on user interface and graphic design. It worth investing you time in reading some of such books.
- Do not forget about user experience. Read Microsoft UX guidelines if you did not do this yet.
- Do not forget about installer and splash screen. This is face of you app and must look attractive.